微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

sql – 外键有多少?

经过这篇文章
http://diovo.com/2008/08/are-foreign-keys-really-necessary-in-a-database-design/

在设计数据库时使用外键好像是一个好主意.但是你什么时候使用太多?

例如,假设我有一个主表用于存储其他程序引用以下列的机械零件信息列表:

> ID
>名称
>颜色
>价格
>测量单位
>类别
>等…

我应该制作包含所有可能的颜色,单位和类别列表的表,然后将它们设置为我的机器零件信息表中的相应列的外键?使用外键的好处在哪里会减轻事实上我正在制作所有这些额外的表和关系?

谢谢,

解决方法

您希望能够确定地存在数据库中只有已知的有效值的任何属性都应使用外键进行保护.否则,您只能希望在应用程序代码中捕获无效值,并在将来创建任何接口.

有更多的表和关系不是一件坏事.唯一的问题 – 通常不是一个 – 与维护用于执行这些关系的索引的开销有关.在您遇到性能问题之前,您应该为“应该”具有一个列的每个列创建外键关系(因为值需要根据列表进行验证).

在我愿意牺牲表演的正确性之前,表现考虑必须非常可怕.

原文地址:https://www.jb51.cc/mssql/75892.html

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

相关推荐