第7章语义建模

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
44
7.4 设计关系模式的工具 ERWin 是一个关系实体模型(ER Model )设计工具,与Power Designer成为最常 用的两种数据库设计工具 ERWin提供数据库正向工程、逆向工程和文 档正向工程功能,可以把设计直接实施到数 据库,或把数据库中的对象信息读到ERWin

具有相同特征的一类实体的集合 学生 教师
9
“型” 和“值” 的概念
型(Type) 对某一类数据的结构和属性的说明 值(Value) 是型的一个具体赋值 例如:学生实体 实体型: (学号,姓名,性别,系别,年龄,籍贯) 该实体型的一个值: (201,李明,男,计算机,22,江苏)
器件号 P1 P2 P3
29
器件名称 仓库号 显示卡 声卡 解压卡 WH1 WH1 Wh2
为什么要讨论实体之间的联系?
仓库号 WH1 WH2 WH3 WH4 城 市 北京 上海 广州 重庆 面 积 500 450 200 300
如果仓库和器件之间的 联系是多对多的
器件号 P1 P2 P3 P4
30
36
E―R模型的设计方法
姓名 性别 年龄 职称 职工号 职工
工资
性别 姓名
年龄 职称
基本工资
补贴
工资号 职工号 职工 1 拥有 1 工资
失业险
图 7 ― 1 工资由属性变为实体集
37
E―R模型的设计方法
仓库和货物的关系 如果一种货物只存放在一个仓库中 ,那么 仓库可作为货物的属性
如果仓库与职工发生联系(每个仓库有
Principle of the database and application
数据库原理与应用
信息学院软件工程系
1
第7章 语义建模
关系数据理论(即“模式设计理论”)主要
研究的问题是如何构造合理的关系,使之 能准确地反应现实世界,有利于应用和具 体的操作。
优秀的数据库设计是应用成功的基石
2
7.1 概述 理解数据含义是永远不会停止的任务 “语义建模”:是对试图表示语义的所有 行为的一个恰当描述
最有名的语义建模方法之一:实体-联系方法(ER方法)

用E-R图来描述现实世界的概念模型
7
7.2.2 E-R 图 E-R图—实体联系图(Entity-Relation) ER图以图形的方式表示数据库的逻辑结构 ER图用实体、属性、联系等表示现实世界 中数据对象的逻辑关系
8
7.2.2 E/R图
27
为什么要讨论实体之间的联系?
仓库号 WH1 WH2 WH3 WH4 城 市 北京 上海 广州 重庆 面 积 500 450 200 300
如果仓库和器件之间的 联系是一对多的
器件号 P1 P2 P3 P4
28
器件名称 显示卡 声卡 解压卡 散热风扇
为什么要讨论实体之间的联系?
仓库号 WH1 WH2 WH3 WH4 城 市 北京 上海 广州 重庆 面 积 500 450 200 300
3.设计一组正规的常用的完整性规则
4.设计一组用来操作这些正规对象的操作符
对象、规则和操作符组成一个扩展的数据模型
4
7.2 ER模型
7.2.1 概念模型
7.2.2 E/R图
数据的三种范畴
5
7.2.1 概念模型(Conceptual Model)
概念模型的用途


用于信息世界的建模

菱形框内写明联系名 连线连接有关实体 标注联系的类型(1:1、1:n或m:n)
13
7.2.2 E-R 图
实体型间联系

一对一联系(1:1) 一对多联系(1:n)
多对多联系(m:n)
14
两个实体型间的联系
一对一联系

班级 1 班级-班长 1 班长 1:1联系
如果对于实体集 A 中的每一个实
语义建模的多种称呼:数据建模、实体/
联系建模、实体建模和对象建模等 “语义建模”的称呼更恰当
3
7.1 概述
语义建模的总体方法
1.辨别一组语义概念:讨论现实世界

世界是由实体组成的,每个实体都有用来识别自
身的特性

任何实体都可以通过联系与其他实体建立关联
2.设计一组相应的符号化的对象代表上述语义对象
课程 m 选修 n 学生 m:n联系
例如,课程与学生之间的联系
17
注意:
实体之间的联系类型并 不取决于实体本身,而是 取决于语义 同样两个实体,如果有 不同的语义则可以得到不 同的联系类型
18
仓库
? 仓库-器件 ?
器件
讨论:仓库和器件两个实体之间的关联
如果规定一个仓库只能存放一种器件,并且一种
体,实体集 B 中至多有一个实体
与之联系,反之亦然,则称实体
集 A 与实体集 B 具有一对一联系
。记为1:1。
例如,班级与班长之间
15
两个实体型间的联系 (续)
一对多联系

如果对于实体集 A 中的每一个 实体,实体集B中有n个实体( n≥0)与之联系,反之,对于 B中的每一个实体,A中至多只 有一个实体与之联系,则称实 体集A与实体集B有一对多联系 ,记为1:n
10
7.2.2 E/R图
属性(Attribute):An entity is described using a set of attributes.

实体所具有的某一特性
一个实体可由若干个属性来刻画
学生
学号
姓名
性别
年龄
11
7.2.2. E/R图 码(Key)

唯一标识实体的属性集称为码
三个实体之间的关系如何表达,根据 语义
20
两 种 联 系 方 式 的 区 别
仓库 库存 业务ቤተ መጻሕፍቲ ባይዱ
器件
供应
仓库 订购
供应商
器件
供应商
21
仓库
库存
器件 供应
业务
供应商
器件的存放位置与供应商没有关系

器件的存放决定于器件的类别,不论是 哪个供应商提供的器件
22
仓库 订购
供应商 器件 某个供应商提供的某种器件保存在某 个指定的仓库
器件只能存放在一个仓库,仓库与器件--1:1
如果规定一个仓库可以存放多种器件,但是一种 器件只能存放在一个仓库,仓库与器件--1:n 如果规定一个仓库可以存放多种器件,同时一种 器件可以存放在多个仓库,仓库与器件--m:n
19
多个实体型间的联系
多个实体之间可以有不同的联系
例如:零件、供应商、仓库三个实体
25
为什么要讨论实体之间的联系?
仓库号 WH1 WH2 WH3 WH4 城 市 北京 上海 广州 重庆 面 积 500 450 200 300
如果仓库和器件之间的联 系是一对一的:
器件号 P1 P2 P3 P4
器件名称 显示卡 声卡 解压卡 散热风扇
26
仓库保存器件
仓库号 WH1 城市 北京 面积 500 器件号 P1 器件名称 显示卡
42
7.4 设计关系模式的工具 一些工具可以辅助设计ER图
PowerDesigner
ERWin UML
43
7.4 设计关系模式的工具
PowerDesigner是功能强大、使用简单的工具
集,提供交互环境,支持开发生命周期的所有阶段
,从处理流程建模到对象和组件的生成
PowerDesigner产生的模型和应用可以不断地 增长,适应并随组织的变化而变化 PowerDesigner系列产品提供了一个完整的建 模解决方案,对其裁剪以满足特定的需要;模块化 的结构为扩展提供了极大的灵活性,从而可以根据 其项目的规模和范围来使用所需要的工具
41
7.2.3 E―R模型的设计方法 (3)原订单和产品的联系实际上是订单细
节和产品的联系。每条订货细节对应一个产
品描述,订单处理时从中获得当前单价、产
品重量等信息。
(4)工厂对大宗订货给予优惠。每种产品
都规定了不同订货数量的折扣,应增加一个
“折扣规则”实体存放这些信息,而不应把
它们放在产品描述实体中
是现实世界到机器世界的一个中间层次 是数据库设计的有力工具 数据库设计人员和用户之间进行交流的语言
对概念模型的基本要求

较强的语义表达能力,能够方便、直接地表达 应用中的各种语义知识
简单、清晰、易于用户理解
6

7.2.2 E/R 图
信息世界的对象----实体、属性、联系

将现实世界的研究抽象为信息世界的对象 例如:学生个体抽象为 学生(姓名,性别,出生日期,住址,电话)
联系名
n 实体型2 m:n联系
32
联系的表示方法(小结)
实体型1
1
实体型1
m n
联系名
m 实体型2 n 实体型3
联系名
同一实体型内 部的m:n联系
多个实体型间的1:n联系
33
7.2.3 E―R模型的设计方法
在设计 E―R 模型时 , 首先必须根据需 求分析,确认实体集、 联系集和属性。 一个企业(单位)有许多部门 , 就会有 各种业务应用的要求 , 需求说明来自对 它们的调查和分析 有关需求分析的方法将在第 8 章中介
绍,这里只介绍E―R模型的设计方法。
34
E―R模型的设计方法 E―R模型的三条设计原则:
(1) 相对原则:关系、 实体、 属性、 联系等,是对 同一对象抽象过程的不同解释和理解。 即建模过程 实际上是一个对对象的抽象过程 ,不同的人或同一人 在不同的情况下,抽象的结果可能不同。
(2) 一致原则:同一对象在不同的业务系统中的抽 象结果要求保持一致。业务系统是指建立系统的各 子系统。
(3) 简单原则:为简化 E―R 模型 , 现实世界的事物 能作为属性对待的,尽量归为属性处理。
35
E―R模型的设计方法
属性和实体间并无一定的界限。 如果一个
事物满足以下两个条件之一的,一般可作为属
性对待:
①属性不再具有需要描述的性质。 属性在 含义上是不可分的数据项。 ② 属 性 不 能 再 与 其 他 实 体 集 具 有联系 , 即 E―R模型指定联系只能是实体集间的联系
例如:身份证号是人的唯一标识
域(Domain)

属性的取值范围称为该属性的域 如:年龄的取值范围:正整数(<200) 如:性别的取值范围:男、女
12
7.2.2 E/R图 联系(Relationship)


现实世界中事物内部以及事物之间的联系
实体内部的联系和实体之间的联系
联系的表示
实体: An entity is an object in the real world that is distinguishable from
other object.

客观存在并可相互区别的事物 客观对象,如仓库、器件、职工……等 抽象事件,如订货、借书、足球赛……等
实体集(Entity Set)

哪个仓库存放什么器件需按其供应商区 分
23
多个实体型间的联系
实例:课程、教师与参考书

如果一门课程可以有若干个教
师讲授,使用若干本参考书, 每一个教师只讲授一门课程, 每一本参考书只供一门课程使 用。课程与教师、参考书之间
课程 1 讲授
m 教师
n
的联系是一对多的
多个实体型间的一对一联系
参考书
器件名称 显示卡 声卡 解压卡 散热风扇
联系的属性
联系本身也是一种
实体型,也可以有属 性 如果一个联系具有 属性,则这些属性也
课程 m 选修 n 学生 成绩
要用无向边与该联系
连接起来
31
联系的表示方法(小结)
实体型1
m
实体型1
1 联系名 1 实体型2 1:1联系
实体型1
1 联系名 n 实体型2 1:n联系
若干个保管员) , 那么仓库就应该作为一
个实体集
38
E―R模型的设计方法
名称 货号 仓库号 存量 货物
货号
名称
姓名 职工号 年龄
货物
m
存放
n
仓库
1
管理
n
职工
存量
仓库号
面积
图 仓库由属性变为实体集
39
分析一个ER图的实例
销售管理系统 的E-R图
40
7.2.3 E―R模型的设计方法 系统系统功能围绕“订单”和“应收账 款”的处理 (1)每张订单由订单号、若干头信息和 订单细节组成。订单细节又有订货的零 件号、数量等来描述。按照属性与实体 的划分原则,订单细节不能作订单的属 性处理,而应该作为实体 (2)一张订单可以订若干产品,所以订 单与订单细节两个实体之间是1∶n的联 系。
班级
1
组成
n 学生 1:n联系
例如:班级与学生之间
16
两个实体型间的联系 (续)
多对多联系(m:n)

如果对于实体集 A 中的每一个实体 ,实体集 B 中有 n 个实体( n≥0 ) 与之联系,反之,对于 B 中的每一 个实体, A中也有 m个实体(m≥0 )与之联系,则称实体集A与实体B 具有多对多联系。记为m:n
多个实体型间的多对多联系
24
多个实体型的1:n联系
同一实体集内各实体间的联系
一对多联系---实例

职工实体集内部具有领导与被领
导的联系:某一职工(干部)“ 领导”若干名职工,一个职工仅 被另外一个职工直接领导 这是一对多的联系
同一实体型内 部的1:n联系 1 领导 职工 n

一对一联系 多对多联系
相关文档
最新文档