- 0
- 0
- 约9.92千字
- 约 24页
- 2026-05-10 发布于四川
- 举报
数据库工程师面试题
数据库设计
请描述一个多对多关系,并给出在关系型数据库中实现该关系的三种方法,比较它们的优缺点。
多对多关系是指两个实体集之间,任一实体的一个实例可以与另一实体的多个实例相关联,反之亦然。例如,在一个电商系统中,“商品”和“订单”之间就是典型的多对多关系:一个订单可以包含多种商品,一种商品也可以出现在多个订单中。
在关系型数据库中,无法直接建立两个表之间的多对多物理链接,必须通过一个中间表(也称为连接表、关联表或交叉表)来分解。以下是三种实现方法及其比较:
1.基础连接表法:
方法:创建一个新的表,通常包含两个外键列,分别引用两个主表的主键。这两个外键共同构成该连接表的复合主键,或可以单独增设一个代理主键(如自增ID)。
示例表结构:`订单详情(订单ID,商品ID,数量,单价)`。其中(订单ID,商品ID)可作为复合主键,`数量`和`单价`是此关系特有的属性(称为“关系属性”)。
优点:
结构清晰,符合关系数据库范式,是标准且最常用的方法。结构清晰,符合关系数据库范式,是标准且最常用的方法。
易于表达关系本身的属性(如购买数量、下单时间)。易于表达关系本身的属性(如购买数量、下单时间)。
查询灵活,可以方便地进行各种连接查询和聚合。查询灵活,可以方便地进行各种连接查询和聚合。
缺点:
查询时需要连接多个表,当数据量极大时,性能可能成为瓶颈。查询时需要连接
您可能关注的文档
- 《学前儿童发展心理学》试题及解析答案.docx
- 2008年建筑工程专业工程师面试题库(附答案).docx
- 2026当代教育心理学考试题库及答案.docx
- 2026监理工程师之水利工程目标控制题库附答案(基础题).docx
- 2026年《字节跳动客户端开发面试题》AndroidiOS性能优化真题汇编.docx
- 2026年1月国开(中央电大)本科《心理学》期末考试试题及答案.docx
- 2026年高等学校教师资格考试(教育心理学)测试题及答案.docx
- 2026年机械设计工程师面试题库考前训练.docx
- 2026年监理工程师之交通工程监理案例分析通关题库(附带答案).docx
- 2026年监理工程师之水利工程监理案例分析自测提分题库加精品答案.docx
原创力文档

文档评论(0)