E-R模型


1.E-R模型概述

  (1)E-R模型:Entity-Relationship Model

  (2)E-R模型的基本观点:世界是由一组称作实体的基本对象和这些对象之间的联系构成的

  (3)E-R模型刻画信息世界的概念

    1)实体:学生,课程,教师等

    2)属性:学生的学号,课程的课程号,教师的教师编号等

    3)联系:选课关系将学生实体和教师实体联系到了一起

    4)关键字/码

2.实体与实例

  (1)实体:客观存在并可相互区分的事物

  (2)实体有(实体,实体的型)和个体实体的实例实体的值)的概念

  (3)实体:实体的型来刻画

    实体名称(属性名1,属性名2,...)

    读者(借书证号,姓名,年龄,联系方式)

  (4)实例:实体的值来刻画

    实体名称(属性值1,属性2,...)

    读者(1,张三,22,110)

    读者(2,李四,27,120)

3.属性

  (1)属性:实体所具有的某一方面特性

  (2)单一属性和复合属性

    1)复合属性示例:家庭住址:省份.详细住址

    2)在关系模型中,复合属性一定要转换成单一属性(即表中不能有表)

  (3)单值属性和多值属性

    1)多值属性示例:电话号码:一个人可能有多个电话号码

    2)在关系模型中,多值属性一定要转化为单值属性

  (4)可空值属性和非空值属性:每个实例的该属性值可以是或不能是空值

  (5)原始属性和导出属性

    1)导出属性:由原始属性(其他属性)计算而得

    2)导出属性示例:有出生年份(原始属性)可以得到“年龄”(导出属性)

4.关键字/码

  (1)关键字/码:一种特殊的属性

  (2)实体中能够用其值唯一区分开每一实例的属性属性组合

  (3)每一个实体都必须给出关键字

    读者实体中借书证号就是关键字

5.联系

  (1)联系:指一个实体的实例和其他实体的实例之间可能发生的联系(无联系的实体是没有意义的)

    哪位“读者”借阅了哪本“图书”,哪本“图书”放在哪个“书架”上

  (2)联系的度或元:参与发生联系的实体的数目

    1)一元联系:参与到一个联系中的实例是同一个实体的实例

    零件A由零件B和零件C装配构成

    部门1下设两个子部门部门2和部门3

    不同实例有不同的作用,引入角色

    2)二元联系

    借阅(借书证号,书号)联系了读者实体,图书实体

    3)多元联系--三元联系

    已发生供货(供货商号,零件号,工程项目号,数量,日期)

    允许发生供货(供货商号,零件号,工程项目号)

    三个实体:供货商,零件,工程项目

    由上面例子可以看出,实体是相对稳定的,但联系是多样化的,

  (3)二元联系的种类

    1)一对一联系:实体A的一个实例只能和实体B的一个实例发生联系,反之,实体B的实例也只能和实体A的一个实例发生联系

    2)一对多联系:实体A的一个实例可以和实体B的多个实例发生联系,而实例B的一个实例只能和实体A的一个实例发生联系

    3)多对多联系:实体A的一个实例可以和实体B的多个实例发生联系,反之,实例B的一个实例也能和实体B的多个实例发生联系

    一个“学生”可以选多门“课程”,而一门“课程”也能被多位“学生”选择

  (4)联系的基数

    1)实体实例之间的联系的数量,即一个实体的实例通过一个联系能与另一实体中相关联实例的数目

    2)通常以实体参与联系的最小基数最大基数来标记(MinCard,MaxCard)

    “书架”参与“存放图书”联系的基数为(0, m ),“图书”参与“存放图书”联系的基数是(1, 1)

  (5)完全参与联系:即该端实例至少有一个参与到联系中,最小基数是1,(1,m)

  (6)部分参与联系:即该端实例可以不参见联系,最小基数是0,(0,m)

6.角色(作用)

  (1)实体在联系中的作用称为实体的角色

  (2)当同一实体的不同实例参与一个联系时,为区别各实例参与联系的方式,需要显式指明其角色(role)

  (3)举例:一元联系--装配

    零件(零件号,零件名)

    

    装配(父件号,子件号)

    

相关