E-R图也称实体-联系图(Entity Relationship Diagram),提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。
下面一段摘自(作者徕胖)的blog
就数据库而言,实体往往指某类事物的集合。 把每一类数据对象的个体称为实体。
数据库中:E-R图也称实体-联系图(Entity Relationship Diagram),提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。
实体之间的关系有
一对一;
一对多,多对一;
多对多;
数据库中一对一的实现方式:(如一个学生对应一个档案,一个档案对应一个学生。学生表为A表,档案表为B表)
(1)唯一外键方式:在A和B任意一表中添加唯一外键(注意是添加完外键后,再点唯一键,进行设置)具体方式点此。
(2)主键关联方式:当A和B的主键相同时,我们就认为是一组数据。(注意是“我们就认为”,数据库中并没有提供主键关联的约束方式。)
(3)中间关系表:创建一张新表作为中间关系表,两个列分别记录A和B,并且每一列的取值中,值均不能重复(即将这两列均设置为唯一外键,注意:将这两列“既设置为主键,又设置为外键”的方式不能实现该功能,因为可能会出现一列相等而另一列不相等的情况)。
数据库中多对一、一对多的实现方式:(如一个班级对应多个学生)
(1)在多的一方添加外键:在学生表中添加一列,记录该学生是哪一个班的,该列设置成外键,取值为班级表的主键。
(2)建立中间表:创建一个新表,该表至少有两列,分别记录学生和班级。学生列要设置成为“外键+唯一键”,以防有两行数据的学生列的值一样(防止一个学生有两个班级的情况出现)。班级列不必设置成唯一键,设置成为外键即可,因为不同学生可以有一样的班级。
数据库中多对多实现方式:(学生和课程:一个学生可以选多门课,一门课可以由多个学生选)
实现方式就一种!!!建立中间关系表:新建一张表,一列记录学生,一列记录课程。两列均为外键,一列取值为学生表中的唯一标识,一列取值为课程中的唯一标识。两列不用设置成为唯一键,因为每一列中均可有重复,但不能有两行数据在两列上完全重复。所以将两列均设置成为主键+外键(即联合主键+外键)
(下面总结摘自斜阳雨陌的blog)
另外,关于实体,实体型,以及实体集,有几个概念简单叙述下:
实体(Entity)
客观存在并可相互区别的事物称为实体。
可以是具体的人、事、物或抽象的概念。
属性(Attribute)
实体所具有的某一特性称为属性。
一个实体可以由若干个属性来刻画。
实体型(Entity Type)
用实体名及其属性名集合来抽象和刻画同类实体称为
实体型
实体集(Entity Set)
同一类型实体的集合称为实体集
————————————————
版权声明:本文为CSDN博主「斜阳雨陌」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_15037231/java/article/details/60146926