相关疑难解决方法(0)

代理与自然/商业密钥

我们再来一次,旧的论点仍然出现......

我们是否更好地将业务密钥作为主键,或者我们是否更愿意在业务键字段上具有唯一约束的代理ID(即SQL Server标识)?

请提供支持您的理论的示例或证明.

database database-design key primary-key

166
推荐指数
13
解决办法
6万
查看次数

一般来说,数据库中的每个表都应该有一个身份字段用作PK吗?

即使我问它,这似乎是重复,但我搜索并没有找到它.对于SO来说这似乎是一个很好的问题 - 即使我确信我可以在许多博客上找到它等等.因此,博客上的辩论可能会比您在博客上引起的争论更多.

我遇到了一个连接问题:收回太多记录.我认为这是"扩张".我在连接集中添加了一个表,并且扩展的行数太多了.通常在发生这种情况时,我会添加一个选择连接中涉及的所有ID字段.这样,扩展正在发生的地方非常明显,我可以更改连接的ON来修复它.除了这种情况,我添加的表没有ID字段.对我来说,这是一个问题.但也许我错了.

问题:数据库中的每个表都应该有一个用作PK的IDENTITY字段吗?在每个表中都有ID字段有什么缺点吗?如果你有理由相信这个表永远不会用在PK/FK关系中怎么办?

相关但不重复:拥有标识列不是一个好主意?

显然这场辩论已经持续了一段时间.应该知道.

这篇文章(代理与自然键)也是相关的.

sql database database-design

43
推荐指数
3
解决办法
3万
查看次数

标签 统计

database ×2

database-design ×2

key ×1

primary-key ×1

sql ×1