首页 > 解决方案 > 特定外键使用的最佳数据库设计?

问题描述

鉴于我有 2 张桌子:

书 书店

books 表中 95% 的条目将在所有书店提供。books 表中 5% 的条目将仅在 SINGLE 书店中提供。

书籍永远不会在几家书店可用,它将始终是 1 或全部。

我可以看到链接这些表的两种方式:

  1. 在书表上放置一个可以为空的外键,引用书店。如果为空,则适用于所有书店,否则仅适用于引用的书店。

  2. 创建一个链接表,其中包含 95% 的书籍的每个书/书店组合和其他 5% 的单个书/书店组合。

选项 2 是执行此操作的规范化方式,我猜在技术上是正确的,但会导致更多的数据库条目和管理。

人们认为在这里采取的最佳方法是什么?

标签: sqldatabaseforeign-keysdatabase-normalizationrelational

解决方案


推荐阅读