E-R图及理论知识

E-R图也称实体-联系图(Entity Relationship Diagram),它提供了表示实体类型、属性和联系的方法,用来描述现实世界的概念模型。

E-R图是描述现实世界关系概念模型的有效方法。是表示概念关系模型的一种方式。

  • 用“矩形框”表示实体,矩形框内写明实体名称;
  • 用“椭圆图框”或圆角矩形表示实体的属性,并用“实心线段”将实体的属性与相应关系的“实体”连接起来;
  • 用”菱形框“表示实体之间的联系成因,在菱形框内写明联系名,并用”实心线段“分别与有关实体连接起来,同时在”实心线段“旁标上联系的类型(1:1,1:n,m:n)。
    E-R图及理论知识_第1张图片

E-R图的成分

在 E-R图中有如下四个成分:

  • 矩形框:表示实体,在框中记入实体名。
  • 菱形框:表示联系,在框中记入联系名。
  • 椭圆形框:表示实体或联系的属性,将属性名记入框中。对于主属性名,则在其名称下划一下划线。
  • 连线:
    • 实体与属性之间;
    • 实体与联系之间;
    • 联系与属性之间。

连线用直线相连,并在直线上标注联系的类型。

  • 对于一对一联系,要在两个实体连线方向各写1;
  • 对于一对多联系,要在一的一方写1,多的一方写N;
  • 对于多对多关系,则要在两个实体连线方向各写N,M。

构成E-R图的要素

构成 E-R图的 3 个基本要素是:实体、属性和联系。

实体

对于一个实体,我们要指明实体名和属性名集合。比如:学生(学号,姓名,性别,所在院系,入学时间)

一般认为,客观上可以相互区分的事物就是实体,实体可以是具体的人和物,也可以是抽象的概念与联系。

用实体名及其属性名集合来抽象和刻画同类实体。

比如:学生张三、学生李四都是实体。

属性

一个具体事物,总是有许许多多的性质与关系,我们把一个事物的性质与关系,都叫作事物的属性。

事物与属性是不可分的,事物都是有属性的事物,属性也都是事物的属性。这里的事物,也可以称为实体。

实体有属性,联系也可以有属性。

联系有属性,这种情况多出现在多对多联系中,例如:学生“ 选修” 某门课程所取得的成绩,既不是学生的属性也不是课程的属性。由于“ 成绩” 既依赖于某名特定的学生又依赖于某门特定的课程,所以成绩是学生与课程之间的联系“ 选修”的属性。

联系

联系也称关系,信息世界中反映实体内部或实体之间的关联。

  • 实体内部的联系通常是指:组成实体的各属性之间的联系;
  • 实体之间的联系通常是指:不同实体集合之间的联系。

实体不会是单独存在的,实体和其他的实体之间存在着联系。比如:

  • 老师 和 学生:老师给学生授课,存在授课关系;
  • 学生 和 课程:学生选课,存在选课关系。

一般性约束

实体-联系数据模型中的联系,存在 3 种一般性约束:一对一约束(联系)、一对多约束(联系)和多对多约束(联系),这 3 种一般性约束用来描述实体集合之间的数量约束。

一对一联系(1∶1)

对于实体集合 A 和实体集合 B,若 A 中的每一个值在 B 中至多有一个实体值与之对应,反之亦然,则称实体集 A 和 B 具有一对一的联系。

反之亦然的意思是:若 B 中的每一个值在 A 中至多有一个实体值与之对应。

一个学校只有一个正校长,而一个校长只在一个学校中任职,我们就说:学校与校长之间具有一对一联系。

  • 实体集合 A:{校长1,校长2,校长3,校长4…}
  • 实体集合 B:{学校1,学校2,学校3,学校3…}

一对多联系(1∶N)

对于实体集合 A 和实体集合 B,若 A 中的每一个值在 B 中有多个实体值与之对应,反之 B 中每一个实体值在 A 中至多有一个实体值与之对应,则称实体集 A 和 B 具有一对多的联系。

存在一对多联系的例子:

  • 教师与课程之间存在一对多的联系“教”,一位教师可以教多门课程,但是一门课程只能由一位教师来教。
  • 专业与学生之间存在一对多的联系,一个专业中可以有多名学生,但一名学生只能对应一个专业。

多对多联系(M∶N)

对于实体集合 A 和实体集合 B,若 A 中每一个实体值在 B 中有多个实体值与之对应,反之亦然,则称实体集 A 与实体集 B 具有多对多联系。

反之亦然的意思是:若 B 中每一个实体值在 A 中有多个实体值与之对应。

存在多对多联系的例子:

  • 学生与课程之间存在多对多的联系,一名学生可以学多门课程,并且一门课程可以有多名学生来学。

联系是随着数据库语义而改变的,假如有如下 3 种语义规定,则有不同的联系:

  • 规定一个部门只能有一个经理,一个员工只能是一个部门的经理。在这种规定下,经理与部门之间的“管理”联系是一对一的。(一个经理只能管理一个部门,一个部门只能被一个经理管理)
  • 规定一个部门只能有一个经理,但一个员工可以是多个部门的经理。在这种规定下,经理与部门之间的“管理”联系是一对多的。(一个经理能管理多个部门,一个部门只能被一个经理管理)
  • 规定一个部门可以有多个经理,并且一个员工可以是多个部门的经理。在这种规定下,经理与部门之间的“管理”联系是多对多的。(一个经理能管理多个部门,一个部门能被多个经理管理)

作E-R图的步骤

  1. 确定所有的实体;
  2. 确定实体应该包含的属性;
  3. 确定实体之间的联系;
  4. 确定实体的关键字,用下划线在属性上标明关键字的属性组合;
  5. 确定联系的类型,并在旁边标注好是 1 还是 n。

关键字可以理解为主键,用来唯一标识一行记录。

关键字可以由一个属性构成,也可以由多个属性构成。

你可能感兴趣的:(数据库,数据库,mysql)