数据模型和概念模型
Copyright@2006 College of ITSoft (HZIEE)
Version No: 1.0
16
概念模型
(2)一对多联系(1∶n)——对于实体集A中每一 个实体,在实体集B中有n个实体与之联系,而且, 对于实体集B中的每一个实体,实体集A中至多有一 个实体与之联系,则称实体集和实体集具有1对多 的联系,记为1∶n。 如:一个班主任管理多个学生,一个项目经理管 理多个组员,一个教师可以教授多门课程 ……
每个项目可以使用多个供应商供应
的零件;
n
每种零件可由不同供应商供给。 项目
供应商 m
供应
p 零件
两个以上实体型间m:n联系
Copyright@2006 College of ITSoft (HZIEE)
Version No: 1.0
24
概念模型
实例
职工实体型内部具有领导与 被领导的联系; 某一职工(干部)“领导” 若干名职工; 一个职工仅被另外一个职工 直接领导;
Copyright@2006 College of ITSoft (HZIEE)
Version No: 1.0
2
数据模型
通俗来讲,数据模型就是对现实世界的模拟、 描述或表示。数据模型应满足的三个要求:
(1)比较真实地描述现实世界; (2)易为用户所理解; (3)易于在计算机上实现。
Copyright@2006 College of ITSoft (HZIEE)
Version No: 1.0
6
数据模型的分类
概念数据模型
现实世界的事物经过人脑的抽象加工,提取出对用户 有用的信息,经过组织整理加工形成结合现实世界和 计算机世界之间的中间模型
——数据库的设计人员在设计的初始阶段摆脱具体技 术问题,集中精力分析数据、数据之间的联系 ——最常用的概念模型是E-R模型 ——概念模型与具体的DBMS无关,它必须转换成结 构模型,才能在DBMS中实现
课程 1 讲授
每一个教师只讲授一门课程,
m
每一本参考书只供一门课程使用 教师
n
参考书
两个以上实体型间1:n联系
Copyright@2006 College of ITSoft (HZIEE)
Version No: 1.0
23
概念模型
实例
供应商、项目、零件三个实体型; 一个供应商可以供给多个项目多种 零件;
Version No: 1.0
30
层次模型(续)
教员学生层次数据库的一个实例
Copyright@2006 College of ITSoft (HZIEE)
Version No: 1.0
31
优点
结构简单
层次模型
缺点
不能表示两个以上实体之间的复杂联系和实体之 间的多对多联系;严格的层次顺序使数据插入和 删除操作变得复杂,容易产生冗余、插入异常、 删除异常、修改异常等。
Copyright@2006 College of ITSoft (HZIEE)
Version No: 1.0
26
随堂练习2
设有一局部应用,包括3个实体“科室”、“医生”、“病 人”,且有如下事实:每位医生属于且仅属于一个科室; 每个科室有多位医生可以接诊病人;病人根据自己的症状 选择相应的科室就诊;一位病人在同一科室中多次看病时 ,每次可能由不同的医生为其诊断。设科室的属性包括科 室代码、科室名称,医生的属性包括工号、姓名、职称, 病人的属性包括姓名、年龄、工作单位。试画出ER图,并 注明属性和联系类型。
第2章 数据模型与概念模型
什么是数据模型
概念模型 常见的数据模型
Copyright@2006 College of ITSoft (HZIEE)
Version No: 1.0
1
数据模型
为什么要建立数据模型(Data Model)? 象盖大楼的设计图一样,DM可使所有的 项目参与者都有一个共同的数据标准 避免出现问题再解决(边干边改的方式) 可及早发现问题 加快应用开发速度
— 研究开发中
Copyright@2006 College of ITSoft (HZIEE)
Version No: 1.0Байду номын сангаас
29
层次模型
20世纪60年代末到70年代初 有且仅有一个根节点;其它节点有且仅有一个父节点
根结点
叶结点
叶结点
Copyright@2006 College of ITSoft (HZIEE)
Copyright@2006 College of ITSoft (HZIEE)
Version No: 1.0
27
第2章 数据模型与概念模型
什么是数据模型 概念模型
常见的数据模型
Copyright@2006 College of ITSoft (HZIEE)
Version No: 1.0
28
常见的数据模型
联系
联系的属性:联系本身 也是一种实体型,也可 以有属性。如果一个联 系具有属性,则这些属 性也要用无向边与该联 系连接起来。
课程 m
选修
n 学生
成绩
Copyright@2006 College of ITSoft (HZIEE)
Version No: 1.0
22
概念模型
实例
课程、教师与参考书三个实体型 一门课程可以有若干个教师讲授, 使用若干本参考书,
Copyright@2006 College of ITSoft (HZIEE)
Version No: 1.0
17
概念模型
(3)多对多联系(m∶n)——如果对于实体集A中 的每一个实体,实体集B中有n个实体与之联系;同 时,对于实体集B中的每一个实体,实体集A中有m 个实体与之联系,则称和具有多对多联系,记为 m∶n。 如:一个学生可以选修多门课程,一门课程可以 被多个学生选修;一份订单可以订购多种产品, 一种产品可以被多份订单订购 ……
Copyright@2006 College of ITSoft (HZIEE)
Version No: 1.0
9
现实世界
认识 抽象
现实世界 概念模型 数据库设计人员完成
信息世界 概念模型 转换
逻辑模型
机器世界 物理模型
概念模型 逻辑模型 数据库设计人员完成
逻辑模型 物理模型 由DBMS完成
Copyright@2006 College of ITSoft (HZIEE)
Copyright@2006 College of ITSoft (HZIEE)
Version No: 1.0
8
数据模型的分类
物理数据模型
面向具体的DBMS,面向机器,描述数据在存储介质 上的组织结构 ——不仅与具体的DBMS有关,还与操作系统和硬件 有关 ——为保证其独立性和可以执行,大部分PDM的实现 工作由系统自动完成,而设计者只设计索引、聚簇等 特殊结构
Version No: 1.0
3
数据模型的构成
数据模型的三要素
数据结构 ——数据的表示方法(数据的组织形式),是一种 静态特征的描述 数据操作 ——数据操作是指对数据库的查询、修改、删除和 插入等操作,是一种动态特征的描述 完整性约束 ——数据及数据间联系应具有的制约和依赖规则 如:一个系可有多个学生,一个学生只能属于一个系
分别与有关实体连接起来,同时在无向边旁标上联系的类型( 1:1、1:n或m:n)
班长实体集A
1
负责
1
班集体实体集B
班主任实体集A
1
管理
n
学生实体集B
学生实体集A
m
选修
n
课程实体集B
Copyright@2006 College of ITSoft (HZIEE)
Version No: 1.0
21
概念模型
Copyright@2006 College of ITSoft (HZIEE)
Version No: 1.0
7
数据模型的分类
结构数据模型(逻辑数据模型)
面向用户建模,它是用户从数据库所看到的数据模型 ——是具体的DBMS所支持的数据模型(网状/层次 / 关系/面向对象) ——既要面向用户,也要面向系统 ——一般由概念模型转换得到
职工
1
n
领导
单个实体型内部1:n联系
Copyright@2006 College of ITSoft (HZIEE)
Version No: 1.0
25
随堂练习1
设有商店和顾客两个实体,“商店”的属性有商店编号、 商店名、地址、电话,“顾客”的属性有顾客编号、姓名 、地址、年龄、性别。假设一个商店有多个顾客购物,一 个顾客可以到多个商店购物,顾客每次区商店购物有一个 消费金额和日期。试画出ER图,并注明属性和联系类型。
Copyright@2006 College of ITSoft (HZIEE)
Version No: 1.0
4
数据模型的分类
(1) 现实管理系统的用户与计算机管理系统的 设计人员之间的专业差异。
(2) 用户理解与计算机实现的矛盾。 根据不同的抽象层次,数据模型分为三类
概念数据模型 结构数据模型 / 逻辑数据模型 物理数据模型
13
概念模型
实体集
同型实体的集合称为实体集。例如,全体学生就是一 个实体集。
术语的对应关系
信息世界 实体 属性 实体集 实体码
机器世界 记录 字段(数据项) 文件 记录码
Copyright@2006 College of ITSoft (HZIEE)
Version No: 1.0
14
概念模型