问题标签 [cardinality]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
554 浏览

sql-server - 从表数据中解释主键

我有一个导入到 sql server 2008 r2 的旧数据库,其中不包含索引,也没有数百个表的主/外键(有些有数百列)。我手动识别的主键(有些是复合键)通常在列序数中较高,但如果我能提供帮助,我不会花费数周时间将它们全部解决。

是否有任何工具或脚本可用于分析数据的基数以建议或编写可能的主键?

到目前为止,我已经找到了以下脚本,但它引发了一些错误。我将对其进行调试以查看是否可以找出问题所在,但想知道是否有人遇到过类似的问题并设法使某些工作正常进行。

链接中的脚本文本如下

0 投票
3 回答
4418 浏览

ruby-on-rails - ruby 或 rails 中是否有序数到基数函数?

我正在尝试找到一种更好的方法来表达我的黄瓜,所以我正在寻找一个将其转换为基数的序数函数:

变成更动态的东西(而不是为每一行创建单独的步骤)

这是我的网络步骤示例

看到 0 和 1 了吗?我希望将“第一”转换为基数,这样我就可以替换了。您也可以建议一种更好的方式来声明杯子:)

更新的答案 我正在重构,但基本上我使用 1st 而不是 first 并使用 to_i 。

0 投票
2 回答
777 浏览

python - 获取长度(/基数)为一个而不删除它的集合项目的首选 Python 方法?

给定 set s,下面哪个段看起来更好?

或者

或者

我猜最后一段是最有效的,但是使用实际上从不循环的循环看起来不是很傻吗?

为什么 python 集没有替代方法来弹出不删除项目?

这似乎是一个微不足道的问题,但是当我多次遇到这种情况时,它已经变得需要抓挠了!

0 投票
1 回答
331 浏览

database - 数据基数

我对 0:M 关系感到困惑。

所以,我想问一下。

假设我们有 2 个表:

具有以下属性的联系人:ContactID(PK)、姓名

具有以下属性的地址:AddressID(PK), Desc, ContactID(FK to Contact, Nullable, Not Unique)

我的陈述是否正确:

  • 0:M 关系发生在 Contact 中有 1 行且其 ContactID 未出现在 Address 中时。

  • 要使表地址中的 0:M 关系列 ContactID 必须可以为空。

提前致谢

0 投票
2 回答
6977 浏览

mysql - 索引中的 NULL 基数是否存在问题 - MySQL 5.x

我在无法在本地复制的系统的实时版本上遇到性能问题。

在将我的本地数据库副本上的一些 EXPLAIN 结果与实时副本进行比较时,我注意到多字段索引未在实时的某些地方使用,而是在本地使用,进一步调查表明,这些索引的基数为NULL就直播。

我猜这是问题所在,但是 NULL 基数是什么意思,它会导致索引不被使用吗?Optimize 会解决这个问题吗?有没有办法防止它再次发生?我没有对实时 MySQL 数据库的完全访问权限,因此分析和优化超出了我的正常能力。

非常感谢您的回复!

0 投票
1 回答
10629 浏览

sql - 什么是基数以及它如何影响性能(SQL Server)?

我们有一个巨大的表,我需要在其中对单行进行更新。我不知道该行的主键,但我有一个在该表中唯一的 varchar 值。我还有该表中其他几列的值。

运行更新需要三分钟以上,我假设它会进行全表扫描。

查看表上的索引,列上的索引的基数为零,页数为零。还有其他索引的基数等于表中的行数(几百万)和几十万的页数。

这些数字实际上意味着什么?

作为后续,添加一个限制以达到更高基数或页数的索引会加快执行速度吗?或者还有什么我可以查看索引以找到更适合快速找到我需要更改的行的内容。

0 投票
5 回答
6280 浏览

sql - 更新语句执行时间过长

我正在运行一个简单更新语句。执行时间太长。以下是更新和索引详细信息。

导出列的默认值为 0

索引:

0 投票
1 回答
2103 浏览

sql - 如何在 SQL Server 和 LINQ-to-SQL 中定义一侧可选的一对一关系?

我正在尝试在 User 表和 UserInfo 表之间创建一个在一侧是可选的一对一关系。规范是一个 UserInfo 必须只有一个 User,而一个 User 可以有一个或零个 UserInfo。此外,我们要求 UserInfo 表中存在外键,这样 User 表的列就不会被修改。我们想使用 C# LINQ-to-SQL 中的关系,例如user.UserInfo.Email = "test@test.com",userInfo.User` 等。

表的 T-SQL 和从 UserInfos 到用户的外键是(大致):

问题是,如果我定义了从 Users.UserId (主键)到 UserInfos.UserId 的外键(我理解,这是定义非可选一对一关系的正确方法)然后执行 LINQ -to-SQL 代码user.UserInfo = null还将 设置user.UserIddefault(int).

这是我用来定义Usersand之间的外键的 T-SQL UserInfos

如果我没有定义这个外键,那么我不会在User允许我访问UserInfo. 如何在表之间建立关系,Users并且UserInfos可以使用 LINQ-to-SQL 进行遍历,同时允许这种关系从User侧面为空?谢谢你。

0 投票
1 回答
496 浏览

oop - 强制对象关联基数的模式和实践

最近我一直在思考面向对象的原则/实践/范式,例如 SOLID、得墨忒耳定律和 DDD,并且不断出现的一个主题是强制对象基数。

对象关联基数源自要求某些实体只能与一定数量的其他实体对象相关联的业务规则。例如,如果您正在设计一个系统来管理仓库,则业务规则可能是单个项目只能存储在一个仓库中。显然,在软件设计中执行这些规则是一个实施问题。

我想知道的是:如果业务领域需要严格的基数模型,那么执行它的最佳方法是什么?我能想到的技术包括以下内容:

  • 双向引用- 关联对象之间的双向关联(对象 A 引用对象 B,对象 B 引用对象 A)

    /li>
  • 封装拥有的实体- 让拥有者控制其创建和删除,并通过一组 API 提供访问权限,这些 API 抽象了实际的实体实现(对象 A 克隆传入的实体 B 或基于传递的示意图创建实体 B)

    /li>
  • 第三方监视器- 让一些了解基数约束的第三方适当地创建和连接对象关联(对象 C 知道 A 和 B 之间的关系并负责创建和维护它 - 此方法仅对 C 可用,对客户端不可用)

    /li>

我认为每种技术都有其优点和缺点。双向关联会增加对象图的复杂性,并且需要私有 API 来更新引用,但实现起来非常简单,并将业务约束嵌入到业务实体类中。封装拥有的实体可以通过强制实体具有基于值的描述来使域模型复杂化,但它非常干净。第三方监控技术将显式基数强制隔离到一个单独的类中,但它也使域模型复杂化。

有没有人有任何其他想法、想法或更好的方法?

0 投票
1 回答
1323 浏览

jpa - Spring Roo Cardinality Mapped By 属性

我正在尝试使用 OneToMany 映射来映射Address实体和Person实体:“每个人只有一个地址,但一个地址可以有很多人”。

我不知道用什么来映射地址实体(粗体),我对 JPA(Eclipse 链接)和 Spring roo 的经验很少,但我认为我的 Person 实体上mappedBy should equal addressID的双向ManyToOne映射应该等于 personID?