MySQL关联关系

关联关系 在开发中,需要根据实体的内容设计数据表,实体间会有各种关联关系,所以,根据实体设计的数据表之间,也存在着各种关联关系。 MySQL中,数据表的关联关系分为三种 h3 id=”一对一”一对一 一对一关系,在实际生活中比较常见 比如,人与身份证之间

关联关系
在开发中,需要根据实体的内容设计数据表,实体间会有各种关联关系,所以,根据实体设计的数据表之间,也存在着各种关联关系。
MySQL中,数据表的关联关系分为三种

<h3 id=”一对一”>一对一

一对一关系,在实际生活中比较常见
比如,人与身份证之间,就是一对一的关系,一个人对应一张身份证,一张身份证只能匹配一个人。

建立外键,首先,要分清主从关系,从表需要主表的存在才有意义,身份证需要人的存在,才有意义,因此,人为主表,身份证为从表,要在身份证中建立外键。

注意,这种方法关系在数据库中并不常见,因为,这种方式存储的信息通常会放在一个表中。
在实际开发中,一对一关联关系,可以应用于以下几个方面
1、分割具有很多列的表
2、由于安全原因,而隔离表的一部分
3、保存临时的数据,并且,可以毫不费力的通过删除该表,而删除这些数据

<h1 id=”多对一”>多对一

多对一是数据表中,最常见的一种关系
比如,员工和部门之间的关系,一个部门可以有多个员工,但是,一个员工从属于一个部门,部门表中的一行在员工表中,可以有许多匹配行,但是,员工表中的一行,在部门表中只能有一个匹配行。

建立外键,在多对一的表关系中,应该将外键建在多的一方,否则,会造成数据冗余。

<h3 id=”多对多”>多对多

多对多也是数据表中的一种关系
比如,学生与课程之间的关系,一个学生可以选择多门课程,一门课程可以供多个学生选择,学生表中的一行,在课程表中可以有许多匹配行,课程表中的一行,在学生表中也有许多匹配行

通常情况下,实现这种关系,需要定义一张中间表,称为连接表,该表会存在两个外键,分别参考课程表和学生表
注意,连接表中的两个外键是可以重复的,但是,这两个外键之间的关系,是不能重复的,所以,这两个外键又是连接表的联合主键

作者: dawei

【声明】:永州站长网内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

为您推荐

联系我们

联系我们

0577-28828765

在线咨询: QQ交谈

邮箱: xwei067@foxmail.com

工作时间:周一至周五,9:00-17:30,节假日休息

返回顶部