可以在数据库图表中的表之间创建关系,以显示一个表中的列与另一个表中的列是如何相链接的。
在一个关系型数据库中,利用关系可以避免多余的数据。
一、表与表之间关系概述
1.1、什么是表与表之间关系
在关系型数据库中,为了避免数据冗余,我们的一些表与表之间肯定是有一定的关系。
如:学生表与老师表,部门表与员工表,用户表与权限表等。
在表设计的时候,就应该体现出来表与表之间的这种关系。
1.2、表与表之间关系分类
1.2.1、一对多关系
一对多关系是最普通的一种关系。在这种关系中,A 表中的一行可以匹配 B 表中的多行,但是 B 表中的一行只能匹配 A 表中的一行。
只有当一个相关列是一个主键或具有唯一约束时,才能创建一对多关系。
注意:
一对多的创建原则:
主外键关连
1.2.2、一对一关系
在一对一关系中,A 表中的一行最多只能匹配于 B 表中的一行,反之亦然。如果相关列都是主键或都具有唯一约束,则可以创建一对一关系。
注意:
一对一的创建原则:
外键唯一:主表的主键和从表的外键(唯一),形成主外键关系,外键唯一 UNIQUE
外键是主键:主表的主键和从表的主键,形成主外键关系
1.2.3、多对多关系
在多对多关系中,A 表中的一行可以匹配 B 表中的多行,反之亦然。要创建这种关系,需要定义第三个表,称为结合表,它的主键由 A 表和 B 表的外部键组成。
注意:
多对多的创建原则:
二个表与中间表创建1对多的关系。
2、一对多应用
创建一对多关系:主外键关连
新华出版社(Python爬虫、Linux)
海燕出版社(操作系统、数学)
摆渡出版社(英语、网页设计)
大众出版社()
案例:
这是一个书和出版社的一个例子,书要关联出版社(多个书可以是一个出版社,一个出版社也可以有好多书)。
表的创建
#出版社表(被关联表)
create table press(
id int primary key auto_increment,
na