前言
数据库的设计
首先需要我们了解表与表之间的关系,其次是掌握设计库的规范。今天学习的是数据库中表与表之间的关系,一对一,一对多(多对一),多对多。
一、多表之间的关系
概念:现实生活中,实体与实体之间肯定是有关系的,比如:部门和员工,老师和学生等;那么我们在设计表的时候,就应该体现出表与表之间的这种关系。
表与表之间有哪些关系呢?
一对一:使用较少;如:一个人只有一个身份证
一对多:最常用的关系;如:部门和员工
多对多:学生选课表和学生表, 一门课程可以有多个学生选择,一个学生选择多门课程
1、一对一 1:1
在实际的开发中应用不多,因为一对一可以创建成一张表。
实现原则:可以在任意一方添加唯一(unique)外键指向另一方的主键。
2、一对多(多对一)1:N
实现原则: 在从表(N对应的表)创建一个字段作为外键,指向主表(1对应的表)的主键
3、多对多 M:N
实现原则:需要创建第三张表作为中间表,中间表中至少两个字段,这两个字段分别作为外键分别指向两个表的主键。
举个例子:
我们出去旅游,去旅游网站查看有很多的旅游分类、旅游线路以及用户去订购喜欢的方案
用一张图来分析他们三者之间的关系,如下: