数据库——ER图知识点详集

目录

一、介绍

 二、ER图中的基本元素

1、实体

2、属性

3、实体集

4、键

5、联系

三、ER图中三种关联的联系    

四、ER图的画图规范

 五、ER图中的主键与外键

六、ER图的具体绘画过程

七、总结


一、介绍

        E-R图,也称为实体关系图,用于显示实体集之间的关系。它提供了一种表示实体类型、属性和连接的方法;用来描述现实世界的概念模型。ER模型是数据库的设计或蓝图,将来可以作为数据库来实现,在E-R图中,实体集是一组相似的实体(数据模型中的数据对象),它们可以有属性。在数据库系统中,实体是数据库中的表或属性,因此ER图通过显示表和它们的属性之间的关系来显示数据库的完整逻辑结构。

 二、ER图中的基本元素

1、实体

        实际问题中客观存在的并且可以相互区别的事物称为实体。实体是现实世界中的对象,可以具体到人,事,物。比如:上图中的社团、学生、课程表。

2、属性

        实体所具有的某一个特性称为属性,在E-R图中属性用来描述实体。比如上图中的学生,可以用“学号”、“姓名”、“专业”、“班级”、“电话”、“寝室”进行属性描述。

3、实体集

        具有相同属性的实体的集合称为实体集。例如:全体学生就是一个实体集,(983573,李刚,男,2000/12/12)是学生实体集中的一个实体。

4、键

        在描述实体集的所有属性中,可以唯一标识每个实体的属性称为键。键也是属于实体的属性,作为键的属性取值必须唯一且不能“空置”。比如:不重复的学号,就可以作为学生的“键”。

5、联系

        世界上任何事物都不是孤立存在的,事物内部和事物之间都有联系的,实体之间的联系通常有3种类型:一对一联系,一对多联系,多对多联系。

三、ER图中三种关联的联系    

一对一(1:1) :1对1关系是指对于实体集A与实体集B,A中的每一个实体至多与B中一个实体有关系;反之,在实体集B中的每个实体至多与实体集A中一个实体有关系。

例如:一个用户只能拥有一张身份证,而一张身份证只属于一个用户。所以这就是一对一的关系。

一对多(1:n) :1对多关系是指实体集A与实体集B中至少有n(n>0)个实体有关系;并且实体集B中每一个实体至多与实体集A中一个实体有关系。

例如:一对多和多对一是一样的。一个用户拥有多张银行卡,但是一张银行卡只属于一个用户。所以这就是一对多的关系。反过来说法就是多对一。

多对多(m:n) :多对多关系是指实体集A中的每一个实体与实体集B中至少有m(m>0)个实体有关系,并且实体集B中的每一个实体与实体集A中的至少n(n>0)个实体有关系。

例如:用户与商品的关系,一个用户可拥有多件商品。同样一件商品可被多个用户所拥有。所以这就是多对多的关系。

四、ER图的画图规范

在ER图中主要由以下四个部分组成:

1、矩形框:表示实体,在框中记入实体名。

 2、菱形框:表示联系,在框中记入联系名。

 3、椭圆形框:表示实体或联系的属性,将属性名记入框中。对于主属性名,则在其名称下划一下划线。

 4、连线:实体与属性之间;实体与联系之间;联系与属性之间用直线相连,并在直线上标注联系的类型。(对于一对一联系,要在两个实体连线方向各写1; 对于一对多联系,要在一的一方写1,多的一方写N;对于多对多关系,则要在两个实体连线方向各写N,M。)

 五、ER图中的主键与外键

主键:是唯一的,一张表中只能有一个主键,也就是唯一标志符和身份证一样可以准确的查到相对应的数据。(如E-R图中 学生这个实体中的属性有学号、姓名 、专业、班级 、电话、寝室选择主键时,学号可以唯一标识这门课所以把学号设为主键)

外键:主要是用来关联,产生两个表的关系。(如E-R中 “隶属”这个联系连接“社团”和“学生”有自己的属性,同时通过外键“学号”和“社团号”使得两个表产生联系 )

主键和外键的区别是:
1、数据库中设置为主键后,不能为空(null),不能重复,外键是另一个表的主键,可以重复。
2、主键是为了更加安全的保护数据,而外键是为了产生关系。
3、主键是唯一的(一个表中只可以设置一个),而外键是可以设置很多个。

六、ER图的具体绘画过程

前面了解完E-R图的定义、组成元素以及绘制规范,我们这部分具体介绍E-R图的绘制步骤,大致可以分为以下5步:

1、确定所有的实体集合;

2、选择实体集应包含的属性;

3、确定实体集之间的联系;

4、确定实体集的关键字,用下划线在属性上表明关键字的属性组合;

5、确定联系的类型,在用线将表示联系的菱形框联系到实体集时,在线旁注明是1或n来表示联系的类型。

七、总结

        以上就是小编收集的有关ER图的知识了,有问题的欢迎各位留言呀,期待和各位一起进步!!!