![]() |
1
1
第二个选项是要执行的,因为在第一个选项中有一个复合主键:
所以您总是需要这两个值来引用一个记录。 我推荐第二个,如果您需要一些限制,请创建一个唯一的订单编号和产品编号索引。 |
![]() |
2
1
你似乎已经明白了(还是你?)一对多关系和多对多关系的区别,所以我不确定你在问什么。 当您有一对多模式时,使用第二个模式;当您有多对多模式时,您需要第一个模式的额外表。 |
![]() |
3
1
我一点也不会多想。这是一个简单的一对多关系。你应该确定 订单项作为自己的实体 ,不是链接表。
这样看,显然是解决方案二:
|
![]() |
4
0
这不是设计问题,而是功能问题。 在你的第一个例子-你如何处理某人订购3本书?输入3个不同时间的同一本书(2个孩子)? 一般来说-对不起-细节应该包含所有Reelvant信息。这包括金额,但也包括文本和价格信息。 为什么? 因为根据您的业务,您可能会更改项目的描述或订单到达后的价格,这可能会更改未来订单的描述,但不会更改已在处理中的订单。 想象一下,我去你的商店订购一个9,99的小部件,然后-2分钟后-有人将价格改为14,99。我仍然应该得到9,99的小工具,因为这是我的订单输入时vlaid的价格。如果你方同意我方14.99的订单,那就是欺诈。 我建议专业化。获取数据模型资源手册第1卷的副本。有很多数据模型用于Standard SCNearios,比如ORD的处理。 |
![]() |
Michael Samuel · MYSQL在以下情况下自动创建索引 6 年前 |
![]() |
Patricia Rozario · 数据库设计确保一对一关系 6 年前 |
![]() |
dryhay · MySQL“多对多”关系错误 6 年前 |
![]() |
L. Fox · 我在这里用的是什么样的Laravel雄辩的关系 6 年前 |
![]() |
Geoff Harper · 我应该如何构建关系松散的SQL db 6 年前 |
![]() |
waroxx · SQL—当多个表具有相同的列时,最好怎么做 6 年前 |
![]() |
Lumpi01 · SQL 2不同的注释类型-最佳解决方案? 6 年前 |
![]() |
Hayreddin Tüzel · 预约系统数据库建模[关闭] 6 年前 |