关系分类
在关系型数据库中,按照x对x的分类,可以分为三种,分别为一对一、一对多、多对多。
实际应用
我使用的是MySQL的可视化工具Workbench,在建立新的Model EER图时,可以看到这样的界面
在图中用红色标出的地方则可以选择关系类型,建立两个table(表)之间的关系。
给出两个翻译帮助理解(不保证正确)
放置一个新的1:1非决定性关系(Non-Identifying Relationship)
放置一个新的1:1决定性关系(Identifying Relationship)
可以看出虚线表示的是非决定性关系,实线表示决定性关系。
自己研究了一番:
①1:1和1:n都有非决定性关系和决定性关系,而m:n只有决定性关系;
②1:1和1:n关系在建立后,只是在从表中增加了一个外键;而m:n关系建立后,增加了一个新表,表中有两个外键,分别来自两个主表。那么这个新表的主键就是两个外键的组合。
再结合一些网上的资料,我给出我对决定性关系和非决定性关系的理解。
决定性关系:从表中的关系受主表中关系的影响,需由主表中的外键和从表中的主键共同标识。
非决定性关系:从表中的关系与主表中关系不直接相关,主表的变动不影响从表的关系。
以上只是我个人的理解,只停留在理论层面,后续实际操作表中数据有新发现新体会时,会更新此文。欢迎各位大佬指正!