1对多、多对多、多对1的数据库规范化

问题描述 投票:0回答:1

对于这两种情况,我使用相同的颜色[查找]表,但以不同的方式存储数据。这是要存储的记录的规范:

  • ID 1 的汽车有 3 种颜色可供选择:蓝色、红色、白色。
  • ID 2 的汽车有 2 种颜色可供选择:蓝色、红色

颜色

身份证 姓名
1 蓝色
2 红色
3 白色

场景1

汽车

身份证
1
2

汽车颜色

身份证 车号 颜色ID
1 1 1
2 1 2
3 1 3
4 2 1
5 2 2

场景2

汽车

身份证 颜色 ID
1 1,2,3
2 1,2

首选哪个来存储数据?

我在这两种情况下都使用了该结构。场景 1 似乎是最灵活的。需要关于下一步的首选建议。

sql-server database-normalization first-normal-form
1个回答
0
投票

Thom A - 是的,汽车的单列是为了简化。 David Browne - 你的评论让我看到了这篇文章,并说服我使用这种方法。具体来说,尽可能争取自然键,并且不要在一列中存储多个键(如场景 2)。

© www.soinside.com 2019 - 2024. All rights reserved.