MySQL实体[entity]
实体和实体之间的关系
1、一对一
2、一对多 (多对一)
3、多对多
一对多 1:N
1、主表中的一条记录对应从表中的多条记录。
2、一对多和多对一是一样的
***如何实现一对多?
答:主键和非主键建关系
问题:说出几个一对多的关系?
答:班级表和学生表、 班主表和学生表
一对一(1:1)
1、主表中的一条记录对应从表中的一条记录
如何实现一对一?
主键和主键建关系就能实现一对一。
思考:一对一两个表完全可以用一个表实现,为什么还要分成两个表?
答:在字段数量很多情况下,数据量也就很大,
每次查询都需要检索大量数据,这样效率低下。
我们可以将所有字段分成两个部分,“常用字段”和“不常用字段”,这样对大部分查询者来说效率提高了。【表的垂直分割】
多对多(N:M)
表现形式是创建了关系表。
主表中的一条记录对应从表中的多条记录,从表中的一条记录对应主表中的多条记录
班级和讲师的关系
如何实现多对多?
答:建立第三张表来保存关系。
问题:说出几个多对多的关系?
1、科目表和学生表的关系 2、商品表和订单表 3、游戏目录表和玩家表