我的数据库 ERM (实体关系模型)有一个TEACHER
实体类型,它与SUBJECT_MODULE
实体类型相关(因为每个主题中的不同模块都是由不同的教师,对于某些模块,甚至不同教师可以通过TEACH
关系类型教授每个模块中的不同章节。
这是一种N:M
关系,因为每位教师都可以教授多个学科模块,每个模块都可以由几位老师教授。
但在我看来,这不是一种识别关系,因为主题模块并不依赖于教师的独特识别;如果您不同意,请说出来。
但是来自this tutorial(虽然它只是说,“识别关系通常用于从多对多关系创建的连接表。”),并找出MySQL Workbench的ERD建模工具只包含一个工具来模拟M:N关系,即“identifying N:M relationship
”,至少工具提示是这样的...... 我想知道N:M关系是否总是或不总是识别关系。请在此澄清我。谢谢。
答案 0 :(得分:2)
我想知道N:M关系总是或不总是一种识别关系。
M:N关系本身永远不会“识别”(或“非识别”),但可以由识别或不识别1:N关系组成。
这不是关于识别任何端点(教师和主题模块),而是识别它们之间的连接。在这种情况下,它看起来从端点表迁移的密钥组合标识了连接(通过成为连接密钥的一部分):
因此,虽然M:N关系本身不是“识别”,但是由它组成的1:N关系是。
(您引用的工具用户界面可能只使用术语“识别M:N”作为上述简写。)
话虽这么说,你可以在这些迁移的密钥之上没有密钥的情况下离开连接:
技术上仍然是M:N,但现在允许重复连接(即同一个教师不止一次连接到同一个主题模块),在这种情况下,上面的1:N关系将不再是“识别”