第二章---数据库建模

一、数据库设计步骤

 (1) 概念模型:面向现实世界,与计算机无关。

 (2)数据模型:面向计算机实现

 

二、概念模型——ER图

(1)概念模型、E-R模型的基本概念与E-R图表示

1、实体(Entity):现实世界一个具体或抽象的事物,称为E-R模型的一个实体

2、属性(Attritube):用于刻划现实世界事物的特性,称为E-R模型实体的属性。

3、实体集(Entity Set):现实世界具有相同特性事物的集合,称为E-R模型实体集

例如 用E-R图表示“学生”实体集及其属性

 

 

 

 4、域(Domain):属性的取值范围

  a)现实世界事物特性取值允许是单值的,或多值的,或结构的,或集合的。

  b)E-R模型中,属性只允许单值

5、键码(或称关键字):能够唯一识别一个实体的最小的属性集,称为实体的键码或关键字。

 

 

 

6、候选码、主码:一个实体集有不止一个键码时,这些键码统称候选码。

任何一个实体集都必须选择一个键码作为主码

E-R图上只标出主码

(2)实体之间的联系及其表示用于刻划现实世界事物之间的联系。

1、两个实体集之间联系的类型

(1)“一对一”联系(1:1)

 

 

 例:一门“课程”只有一名任课“老师”;一名“教师”只教一门课

 

 

 

(2)“一对多联系”(1:n)

 

 

 例:一个“班级”有若干名“学生”;一个“学生”只属于一个班级

 

 

 

 (3)“多对多"联系(m:n)

一名“学生”可选多门“课程”;一门“课程”有若干名“学生”选中

 

 

 

 

 2、多个实体集之间的联系(也称:多元/多路联系)

例:(王东,OS,“操作系统原理”,03.2)

 

 

 

3、同一实体集内,各实体之间的联系

 

举例:用E-R图表示工厂物资管理的概念模型。

问题描述:

(1)实体集及其属性如下:

  仓库:仓库号,仓库面积,电话号码。

  零件:零件号,名称,规格,单位,描述。

  供应商:供应商号,姓名,地址,电话号码,账号。

  项目:项目号,预算,开工年月。  

  职工:职工号,姓名,出生年月,职称。

(2)实体集之间的联系如下:

  • 一个仓库可以存放多个零件;一种零件可以存放在多个仓库中;某一仓库中某种零件的数量,由“数量”属性刻划。
  • 一个仓库有多个职工当保管员;一个职工只能在一个仓库工作。
  • 职工之间有领导/被领导的关系;一个仓库主任领导若干保管员。
  • 供应商、项目、零件之间存在供货关系:一个供应商可对多个项目、多种零件供货;一个项目或一个零件可有多个供应商供货(记录“供货量”)

   

 

 

 

  例2:假设学生运动会信息系统需要保存如下信息:

  • 学院:学院代号,学院名称,办公地点
  • 班级:班号,班长姓名
  • 学生:学号,姓名,性别,出生年月
  • 运动会:举办年份举办季节,总裁判长
  • 项目:项目代号,项目名称,项目性质,本校记录。

其中:

(1)一个学院有多个班级,一个班级只属于一个学院。

(2)一个班级有多名学生,一名学生只属于一个班级。

(3)一名学生可以参加多届运动会、多个项目。系统应能够正确记录一名学生在某届运动会、某一项目上所取得的成绩。

同时,一个项目可以有不止一名学生报名参加

(4)每年可以举办两届运动会,分别称为春季运动会和秋季运动会

 

 

 

三、子类

1、一般方法

 

 

 “cartoons”继承了“Movies”的属性和联系

2、多重继承问题

 

 

                  

 

四、弱实体集

1、弱实体集及其联系

  弱实体集:组成一个实体集键码属性中的一部分(或者全部),必须来自其它实体集的键码属性

这样的实体集称为弱实体集。

 

 

 

 注意:给弱实体集提供键码属性的实体集,与弱实体集之间的联系,必须是单值的(一对一一对多)。

 2、多元联系的连接实体集表示

  多元联系的连接实体集是一个弱实体集。

 

 

 

五、对约束的建模

1、约束—现实世界的实际需求

2、约束的类型

  • 键码(关键字)约束 ——单值约束
  • 参照完整性约束
  • 用户定义完整性约束——域的约束  

键码(或称关键字)约束:

  必须保证一个实体集至少有一个键码(称为实体完整性约束)。

  若一个实体集存在多个键码,DB设计者可以指定一个键码作为主码

单值约束:

1. 属性的单值约束

1)除了构成主码的属性之外,其他属性任何时候最多有一个值(必要时允许为“空”)。

2)构成主码的属性(无论是全部,或者一部分),任何时候必须有一个值(且不能为空)

2. 联系的单值约束(1:1或n:n)

  E-R图中用菱形并带“箭头”的连线表示

 

参照完整性约束:反应现实世界不同事物之间的存在约束。

参照完整性:E-R图中,对于从E到F的多对一联系的参照完整性约束,指:对于E中当前存在的一个实体e,

F上必须存在一个相对应的实体f。

 

六、E-R图设计原则

一、忠实性:设计必须以现实世界为唯一依据。
二、避免冗余:即,一事一地”原则。现实世界中的一个事物,在一个数据库中只表达一次。
三、尽量简单:属性、实体集和联系能不用就不用,能合并就合并。
四、选择合适的事物类型:仅当现实世界一个事物需要进一步刻划它的特性时,才选择实体集和
属性集合表示该事物。

  

 

posted on 2020-03-27 18:29  Kimsohyun4ever  阅读(1004)  评论(0编辑  收藏  举报