You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

关于关联实体、多对多关系及Teaching实体无PK的技术问询

问题解答

1. 关联实体中不存在主键的原因是什么?

  • 多数情况不是真的没有主键,而是用关联的两个实体的主键组合成复合主键,无需单独设置独立主键(比如自增ID)。这种设计既能唯一标识关联实体的每条记录,又能避免冗余字段。
  • 少数情况属于设计疏漏,但这是不规范的数据库设计,会导致数据重复或无法唯一定位记录。

2. 多对多关系与关联实体之间有何区别?

  • 多对多关系是逻辑层面的概念:描述两个实体间的双向一对多关系(比如学生和课程,一个学生可选多门课,一门课可被多个学生选),但关系型数据库无法直接存储这种逻辑关系,必须通过中间载体实现。
  • 关联实体是物理实现层面的载体:即用来拆解多对多关系的中间表(比如你提供的ERD里的Teaching),它不仅存储两个实体的关联ID,还可额外添加关联属性(比如选课成绩、授课时间等),是把逻辑上的多对多关系落地到数据库的具体形式。

3. 为何Teaching实体中没有PK?

Teaching作为关联学生和课程的中间实体,它的主键是Student_ID和Course_ID的复合主键,只是ERD图未明确标注。一个学生对应一门课的选课记录是唯一的,用这两个字段的组合就能唯一标识每条Teaching记录,无需额外设置独立主键,这种设计在多对多关系拆解中非常常见。


内容的提问来源于stack exchange,提问作者hasannn2666

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.24 01:28:21