ERD中A、B实体的N-N关系C能否与实体D建立关联?
多对多关系与其他实体的关联可行性
完全可以让实体A、B之间的多对多关系C与实体D建立关联,原因如下:
- 从物理数据库实现层面,多对多关系C会被转化为一个中间关联表,这个表存储了A和B的主键作为外键,本质上是具备独立属性的实体(概念层ERD用连线表示关系,物理层则是实体表)。
- 既然是实体化的表,它就和普通实体一样,可以与其他实体D建立关联——比如给这个中间表添加指向D主键的外键,或者让D的表包含指向该中间表的外键,具体关联方式取决于你的业务逻辑需求。
举个业务场景例子:
假设A是「学生」,B是「课程」,它们的多对多关系C是「选课记录」。实体D是「教师」,我们可以给「选课记录」关联对应的授课教师D,用来记录每门课每个学生的选课对应的授课老师,这完全符合业务逻辑,在ERD中可以将C作为关联实体与D建立一对一或一对多关系。
内容的提问来源于stack exchange,提问作者Hungdz
相关产品推荐
相关产品推荐

