数据库实体、关系(一对一实现方式、一对多实现方式、多对多实现方式)

那年仲夏 提交于 2019-11-30 06:31:51

就数据库而言,实体往往指某类事物的集合。 把每一类数据对象的个体称为实体。
数据库中:E-R图也称实体-联系图(Entity Relationship Diagram),提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。

实体之间的关系有
一对一;
一对多,多对一;
多对多;
数据库中一对一的实现方式:如一个学生对应一个档案,一个档案对应一个学生)
(1)唯一外键方式:在A和B任意一表中添加唯一外键(注意是添加完外键后,再点唯一键,进行设置)具体方式点此
(2)主键关联方式:当A和B的主键相同时,我们就认为是一组数据。(注意是“我们就认为”,数据库中并没有提供主键关联的约束方式。)
(3)中间关系表:创建一张新表作为中间关系表,两个列分别记录A和B,并且每一列的取值中,值均不能重复(即将这两列均设置为唯一外键,注意:将这两列“既设置为主键,又设置为外键”的方式不能实现该功能,因为可能会出现一列相等而另一列不相等的情况)。

数据库中多对一、一对多的实现方式:(如一个班级对应多个学生)
(1)在多的一方添加外键:在学生表中添加一列,记录该学生是哪一个班的,该列设置成外键,取值为班级表的主键。
(2)建立中间表:创建一个新表,该表至少有两列,分别记录学生和班级。学生列要设置成为“外键+唯一键”,以防有两行数据的学生列的值一样(防止一个学生有两个班级的情况出现)。班级列不必设置成唯一键,设置成为外键即可,因为不同学生可以有一样的班级。

数据库中多对多实现方式:(学生和课程:一个学生可以选多门课,一门课可以由多个学生选)
实现方式就一种!!!建立中间关系表:新建一张表,一列记录学生,一列记录课程。两列均为外键,一列取值为学生表中的唯一标识,一列取值为课程中的唯一标识。两列不用设置成为唯一键,因为每一列中均可有重复,但不能有两行数据在两列上完全重复。所以将两列均设置成为主键+外键(即联合主键+外键)

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!