ER模型

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

E-R模型的设计步骤(局部)
2)确定实体集(以“人事管理”为例)
• 通过调研和需求分析,人事部门需要管理教职工、部门、职称和职务, 所以实体集有:教职工、部门、职称和职务。
3)确定联系集
• 决定各实体集间的联系:

部门-教职工:1:N 部门-职称:没有联系 部门-职务:没有联系 教职工-职称:N:1 教职工-职务:N:1 职称-职务:没有联系
概述(续)
概念模型最常见的描述方法:采用图
形化方法。直观、自然,易于描述系统的
层次结构、功能组成,且简单易学,通常 还有工具软件支持,因而成为信息系统的 主要描述工具。
概述(续)
最著名的图示化描述方法是“实体-联系方
法”,简称E-R方法。用这种方法建立的概念 模型称为E-R模型(实体联系模型)。 ERwin主要用于E-R模型的设计和数据库模式 的设计。
• 命名冲突


同义异名:同一对象在不同的局部E-R图中具有不同的名字 • 需要把名字进行统一。例如,教职工和教师统一为教职工。 同名异义:不同的对象在不同的局部E-R图中具有相同的名字 • 需要重新命名加以区别。 属性值类型、取值范围、取值单位(如公斤-磅) • 需要进行统一,以同时满足各部门的需求。 同一对象在不同的局部E-R图中抽象级别不同 • 需要进行调整。如系在教学管理中为属性,而在人事管理中为实体 同一实体在不同的局部E-R图中包含的属性个数不同 • 需要进行统一。如教学管理的教师实体与人事管理的教职工实体。
概述(续)
概念模型描述 数据模型描述 抽象化 数据化 现实世界 信息世界 数据世界 (事物,事物性质 (实体,实体属性 (记录,数据项) 事物间的联系) 实体联系)

信息世界中的数据模型又称为概念模型 概念模型独立于数据库逻辑结构和具体的DBMS 概念模型的特点:

能充分反映现实世界,是现实世界的真实模型; 易于理解; 易于向关系等数据模型转化。
例2:课程和教室。

若不需要考虑教室的特性,则教室可作为课程 的属性;否则就应把教室作为实体。
学分 课程名
学时 类型 课程名
学分
学时 类型 教室号
设施情况
座位数 教室 面积
课程号
课程
教室
课程号
课程
地点
如何设计E-R模型(续)

例3:货物和仓库。


如果货物只存放在一个仓库,则仓库可作为货物的属 性; 若应用还关心仓库的地点、面积、类型、储运成本等, 则应把仓库作为实体。

在本例中:
• 职称和职务实体只有一个有效属性“名称”,所以 可以把它们作为教职工的属性,同时把相关的联系 的属性(聘任日期、任职日期)也作为教职工的属性。

最终完成的总体E-R图
E-R模型的设计步骤(优化)
在优化时注意,消除冗余不是绝对的。为
了提高效率,有时必要的冗余也是允许的。 冗余数据的完整性(一致性)可通过两种 方法解决:
实体联系模型的概念(续)

E-R图中的基本联系方式

二元联系(两实体间的联系),包括三种类型
丈夫 部门 学生
1
夫妻
1
拥有
m
选修
1
妻子
n
职工
n
课程
一对一
一对多
多对多
实体联系模型的概念(续)

两实体间的多个联系
• 一个职工可参加多项工程; 一项工程由多个职工参加。 • 一个职工可负责多项工程; 一项工程只有一个负责人。
如何确定一个事物是属性还是实体?

应根据应用环境来确定——是否关心该事物的 “细微结构”。 若不需要了解工资的构成,则工资可作为职工 的属性;否则就应把工资作为实体。
性别 年龄 职称 姓名 性别 年龄 职称 工资号 基本工资 奖金
例1:职工和工资。

姓名
职工号
职工
工资
职工号
职工
拥有
工资
补贴
如何设计E-R模型(续)
m
参加
职工
1
负责
n
工程
n

实体内部的联系
• 一个零部件可由多个其他零 部件组成; • 一个零部件可以是多个其他 零部件的组成部分。
零部件 职工
n
组成
m
1
领导
n
实体联系模型的概念(续)

多元联系(两个以上实体间的联系)
供应商
m
供应
n
零件
k
工程
实体联系模型的概念(续)

多元联系(两个以上实体间的联系)
5)确定联系集的属性
部门-教职工:无 教职工-职称:聘任日期 教职工-职务:任职日期
E-R模型的设计步骤(局部)
6)画出局部E-R模型
类型 部门号 名称 姓名 教职工号 性别 出生日期 代号 学历 名称
部门/系
1
具有
n
教职工
n
n
担任
任职日期
1
职务
办公电话
聘任日期
聘任
1 职称
代号 名称
E-R模型的设计步骤(局部)

某学校的管理信息系统。学校有4个部门要求 实现计算机管理:
• • • • 人事处:教职工管理 学生处:学生学籍管理 教务处:教学管理 后勤处:住宅、宿舍管理
E-R模型的设计步骤(续)

假定在设计之前,已进行了调研和需求分析。主 要信息如下:
• 学校包括多个管理部门和多个系; • 每个部门或系有多名教职工,一名教职工只能属于一个部门或 一个系; • 每个系有多个班级,一个班级只能属于一个系; • 每个班级有若干名学生,一名学生只能属于一个班级; • 学校开设多门课程,一门课程可被多名学生选修,一名学生也 可选修多门课程; • 一门课程可由多名教师讲授,一名教师也可讲授多门课程; • 学校有多间教室,一间教室同一时间只能安排一门课程,而一 门课程在同一时间可安排在多个教室(由多名教师讲授,见上); • 学校有多座教工住宅楼,每个住宅楼有多套住房,每套住房只 能分配给一名教工,每名教职工只能分配一套住房; • 学校有多座学生宿舍楼,每个宿舍楼有多个房间,每个房间可 安排多名学生住宿,每个学生只能安排一个房间。

根据以上两个步骤,画出初步E-R图如下:
具有
1 1
n 部门 1
拥有
职称 职务
n
教职工
n
担任
E-R模型的设计步骤(局部)
4)确定实体集的属性
• 通过调研和需求分析,各实体的属性如下: 教职工:教职工号,姓名,性别,出生日期,学历 部门(包括管理部门和教学院系):部门号,类型,名 称,办公电话 职务:代号,名称 职称:代号,名称
使用时间
n
教室
成绩
选修
n 学生
学号 姓名 性别 班级 出生日期
E-R模型的设计步骤(局部)

住房管理的局部E-R模型
姓名 教职工号 性别 房号 地点 类型
部门
教职工
职称
1
分配
1
住宅
面积
职务 学号
姓名
性别
宿舍号
人数
租金
班级
学生
n
住宿
1
宿舍
E-R模型的设计步骤(总体)

2. 设计总体E-R模型

把所有局部E-R模型进行整合,形成一个统一的E-R模型。整合时, 在兼顾各模块的需求前提下,主要应解决冲突问题。
• 一个制片公司可以为一部电影与多名演员签约; • 一名演员可以同一个制片公司签约演出多部电影; • 一部电影可以由一个制片公司与多名演员签约演出。

多元联系可分解为多个二元联系。
制片公司 制片公司 制片公司 演员
m
签约
m
签约
1
拍摄
m
演出
n
演员
k
电影
n
演员
n
电影
n
电影
实体联系模型的概念(续)
联系的属性

E-R模型的设计三原则:


简单原则
• 现实世界的事物能作为属性对待的,尽量作为属性处理,而不要作为 实体处理。(设计局部E-R模型时应考虑的问题)

一致原则
• 同一对象在不同的业务子系统(即局部E-R模型)中的抽象结果要求 保持一致。(对局部E-R模型进行综合时应考虑的问题)
如何设计E-R模型(续)
k
电影
实体联系模型的概念(续)

子类和父类

子类除共享父类的公共属性外,它还有自己的特殊属性。 父类是子类的泛化实体,它具有其下属的所有子类的公 共属性。
帐号 开户日期
子类实体特点: 1. 子类可以继承父类的所有属性 2. 子类的主键就是父类的主键
帐户
类型 d 类型 复核日期
支票帐户
结余 手续费

联系也是一种关系,它也可能拥有属性。例如:
• 上例中“签约”若需要记录各演员的演出酬金:
酬金不是电影的属性:不同的演员有不同的酬金; 酬金不是制片公司的属性:不同的演员或电影有不同的酬金; 酬金不是演员的属性:不同的电影或制片厂有不同的酬金。
• 所以酬金应作为“签约”联系的属性。
制片公司
m
演员
n
签约 酬金

整合时,一般采用两两整合的方法,直到所有 局部E-R图合并成一个完整的总体E-R图。
• 注意选取一个公共的关键实体,用它为基准进行两 两整合。本例中可选取学生实体或课程实体。

整合后的总体E-R图
E-R模型的设计步骤(优化)

3. 消除冗余,优化总体E-R模型

优化的目标是:在满足需求的前提下
• • • • 实体的属性尽可能少; 实体联系尽可能少; 实体的属性无冗余; 实体间的联系无冗余。
局部E-R 模型设计 总体E-R 模型设计 转换为具体的 DBMS所支持的 数据模型 物理设计
需求分析
子模式设计
逻辑设计
2.1 实体联系模型的概念

实体联系模型的基本构成

E-R模型的三个组成部分:实体(集)、联系(集)、属性
• 实体集:具有相同类型和性质(属性)的实体集合。 • 联系集:同类联系的集合。 • 属性:实体的性质和特征。
存款帐户
结余 利率
贷款帐户
总额 利率
2.2 如何设计E-R模型

E-R模型要在需求分析的基础上进行设计。


1. 根据需求分析确定实体、属性和实体间的联系 2. 设计局部E-R模型 3. 对局部E-R模型进行综合,设计出总体E-R模型 4. 消除冗余,优化总体E-R模型
相对原则
• E-R模型没有绝对的结果,不同的设计者基于不同的考虑所建立的模 型很可能不同。但只要能满足业务的需求,它们都是正确的。

表示:
• 实体用方框表示,联系用菱形框表示,属性用椭圆框表示; • 在框中标注实体名、联系名、属性名。 实体名 联系名 属性名
实体

联系
属性
用以上三种图形元素描述的概念模型称为E-R图。
实体联系模型的概念(续)
E-R图可以看成是描述数据库概念模型的图
形语言,实体是名词,属性是名词,联系 是动词。 例如:右图可念作 仓库

其他三个子模块的局部E-R模型的设计基本类似。

学生管理的局部E-R模型
姓名 班级名 班级号 班长 系 学号 具有
性别
出生日期 入学日期
班级
1
n
学生
家庭住址
E-R模型的设计步骤(局部)

教学管理的局部E-R模型
姓名 名称 性别 课程号 学时 学分 教室号
教职工号
类型
座位数
教师

m
讲授
n
课程
m
1
使用
抽象化数据化概念模型描述数据模型描述??信息世界中的数据模型又称为信息世界中的数据模型又称为概念模型??概念模型独立于数据库逻辑结构和具体的概念模型独立于数据库逻辑结构和具体的dbms??概念模型的特点
E-R模型
内容


实体联系模型(E-R模型)的概念 E-R模型的设计方法 E-R模型向关系模型的转化
仓库可存放物品。 或 物品可存放于仓库。
1
存放
n
物品
实体联系模型的概念(续)
画E-R图的方法:
学生 学号 姓名
m
年龄
选修 成绩
n
课程号
课程 课程名 学分
性别
1. 先画出各实体及其属性,其中的主属性(即主 键)用下划线表示。 2. 在有联系的实体之间插入联系框,并用无向边 把它们连接起来(联系也可能包含属性); 3. 在无向边上标注联系的类型。
1. 设计局部E-R模型
关键是确定子系统中有哪些实体,实体又包含哪些属性,它们之间的联 系如何。
2. 设计总体E-R模型
对局部E-R模型进行综合:对相同实体进行合并;为属于不同的局部 E-R模型的实体间建立联系。
3. 优化总体E-R模型
消除由于合并带来的冗余和冲突。
E-R模型的设计步骤(续)
E-R模型设计举例
E-R模型的设计步骤(局部)
1.
设计局部E-R模型
• 通常情况下可按系统的使用部门划分:本例中划分 为四个模块。

1)确定局部应用范围
人事管理——人事处 学生管理——学生处 教学管理——教务处 住房管理——后勤处
• 通常,校长需要了解整个学校的运行情况,所以还 应有一个校长查询模块,提供决策指导信息。
• 属性冲突

• 结构冲突


E-R模型的设计步骤(总体)
在进行整合时,有时可能需要增 Nhomakorabea新的联系。
• 例如,人事管理与学生管理整合时,部门(系)实 体与班级实体之间可以增加一个联系:系-班级

有时还可能要删除冗余的联系,这主要是指从 其他联系可以推导出来的联系。
• 为便于检查联系,可把所有实体的属性临时删除。
型号 批次 存量 名称 型号 批次 存量 仓库号 地点 距离 类型 面积
名称
货号
货物
仓库
货号
货物
存放
仓库
E-R模型的设计步骤

E-R模型的设计步骤分为三个阶段:
要旨:化整为零,化零为整。 化整为零:进行子系统划分,即把整个应用系统分为若干个相对独 立的应用,这样就可以对每一个子系统分别进行设计, 得出局部E-R模型。 化零为整:把局部E-R模型进行整合,设计出总体E-R模型。
相关文档
最新文档