gpt4 book ai didi

sql - 多少个外键太多了?

转载 作者:太空狗 更新时间:2023-10-30 01:41:31 24 4
gpt4 key购买 nike

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

在设计数据库时使用外键似乎是个好主意。但是什么时候用得太多了?

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

  1. 身份证
  2. 姓名
  3. 颜色
  4. 价格
  5. 计量单位
  6. 类别
  7. 等...

我是否应该制作包含所有可能的颜色、单位和类别的列表的表格,然后将它们设置为我的机器零件信息表中相应列的外键?在什么时候使用外键的好处会超过我正在制作所有这些额外的表和关系这一事实?

最佳答案

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

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

在我愿意为性能牺牲正确性之前,性能考虑必须非常可怕。

关于sql - 多少个外键太多了?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12696475/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com