关于主键设计[通俗易懂]

关于主键设计[通俗易懂]主键是约束而非数据类型。你可以定义任意列或任意多个的列作为主键。只要其数据类型支持索引。另外在此必须要补充的是,在SqlServer中,主键和聚集索引并没必然的关系。SqlServer只是默认将聚集…

关于主键设计

外键应该尽可能地和所引用的列使用相同的名称,这通常意味着:一个主键的名称应该在整个数据库的设计中唯一;任意两张表都不应该使用相同的名称来定义主键,除非其中之一引用了另外一个作为外键。然而凡是都有例外,又是外键的名称需要和其所引用的主键区分开,从而使的它们之间的引用关系表现得更加清晰。

如果你的表中包含一列能够确保唯一、非空以及能够用来定位一条记录,就别仅仅因为传统而觉得有必要再加上一个伪主键。

  实践证明,一张表中的每一列都在最初的设计之后遭遇改变是很正常的事情。数据库的设计趋向于在整个项目的声明周期中不断地调整和优化,并且决策者也可能一点也不在乎自然键的“神圣不可侵犯”。有时候一个列最开始是像是个很好的自然主键,但随后有允许合法的重复项。此时伪主键便成了唯一的选择。

  在合适的时候也可以使用联合主键,比如一条记录可以通过多个列的组合完全定位。那就通过那些列创建一个联合主键吧。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
转载请注明出处: https://daima100.com/8417.html

(0)
上一篇 2023-02-28
下一篇 2023-02-28

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注