sql - 特定外键使用的最佳数据库设计?
问题描述
鉴于我有 2 张桌子:
书 书店
books 表中 95% 的条目将在所有书店提供。books 表中 5% 的条目将仅在 SINGLE 书店中提供。
书籍永远不会在几家书店可用,它将始终是 1 或全部。
我可以看到链接这些表的两种方式:
在书表上放置一个可以为空的外键,引用书店。如果为空,则适用于所有书店,否则仅适用于引用的书店。
创建一个链接表,其中包含 95% 的书籍的每个书/书店组合和其他 5% 的单个书/书店组合。
选项 2 是执行此操作的规范化方式,我猜在技术上是正确的,但会导致更多的数据库条目和管理。
人们认为在这里采取的最佳方法是什么?
解决方案
推荐阅读
- html - 为什么我不能使用 flexbox 将我的包装 div 居中?
- visual-studio - 构建警告 - 考虑 app.config 重新映射程序集
- windows - jq 是否有文件路径长度限制?
- javascript - 在继续执行下一行代码之前等待异步递归函数完成
- javascript - 无法让点出现在 D3 散点图上
- r - 在 R 的 KFAS 包中使用卡尔曼平滑来估算缺失数据
- python-3.x - 从 WX 表单访问属性
- iup - 使用 IUP - 有没有办法从 IupText 对象中清除所有内容?
- java - 如何使用比较器进行重复?
- c# - 消息内容过长,长度必须小于等于2000