Luc*_*uke 15 database database-design
这可能是一个基本的(愚蠢的)问题,但是当在数据库中具有一对一的关系时,另一个表具有外键ID(在该示例中).在一对多关系中,表包含许多外键.
但数据库不知道这是一对一还是一对多关系对吗?我在ER-Diagram中建立的关系只是为了表明在制作实际表时它应该是外键的位置?
我并没有完全理解这种关系的想法,尽管我已经阅读了很多有关这方面的教程.
提前致谢.
Zac*_*oom 18
从某种意义上说,我们谈论的所有关系都不为数据库所知,它们是我们为更好地理解如何设计表而发明的结构.
在表结构方面一个-to-one和一个一对多的最大区别是,在一到一个有可能(但不是必要的)有一个双向的关系,这意味着表A可以有一个外键在表B中,表B可以将外键放入表A中的相关记录中.对于一对多关系,这是不可能的.
一对一关系将一个表中的一个记录与另一个表中的单个记录相关联.一对多关系将一个表中的一个记录与另一个表中的多个记录相关联.
我无法理解实际问题是什么。
您的分析在很大程度上是正确的,因为如果您有 2 个表,并且 table2 有一个指向第一个表的外键,则它可以是一对一或多对一。
您的句子“并且在一对多关系中,该表包含许多外键。”
“多”方的表仍然包含一列作为外键,只是多行可以具有相同的外键值(多行指向一个父)。
另请注意,您可以将外键放在父表上,给子表,而不是相反。通过这种方式,如果你想这样做,你可以防止一对多。另请注意,通过这种方式,多个家长可以共享一个孩子,这可能是您想要的,也可能不是。
| 归档时间: |
|
| 查看次数: |
48114 次 |
| 最近记录: |