数据模型与结构数据模型
2.1 数据模型概述
❖ 模型是对现实世界的抽象。 ❖ 在数据库中用数据模型这个工具来抽象、表
示和处理现实世界中的数据和信息。 ❖ 数据描述的三种范畴
现实世界 信息世界 机器世界
两类抽象层次的数据模型
❖ 数据模型分为两类(分属两个不同的层次) (1) 概念模型 也称信息模型,它是按用户的观点来
对数据和信息建模,用于数据库设计。 (2) 结构数据模型
项目
零件
m
供应
n
k
供应商
3. 实体内部的联系
Байду номын сангаас
❖ 例1:语义:某一职工领导若干职工,而一个职工 仅例被2:表另示一一个种职零工件领材导料. 单,一种零件由其它多 种零件组成,一种零件是其它零件的组成成 分.
职工
1
n
领导
零件
m
n
组成
1.公司分若干部门,每个部门有一个名字,一个编号和
一个管理该部门的雇员(经理)并记录下该雇员开始 管理该部门的日期,一个部门可以分散在几个地点。
概念模型 逻辑模型 数据库设计人员完成
DBMS支持的数据模型
逻辑模型 物理模型 由DBMS完成
现实世界中客观对象的抽象过程
2.2 概念模型(信息模型)
❖ 是独立于计算机系统的数据模型。 ❖ 不涉及信息在计算机中的表示,只用来描述
某个特定组织所关心的信息结构,是对现实 世界的第一层抽象。 ❖ 概念模型是按用户的观点对数据建模,强调 其语义表达能力,是用户和DB设计人员之间 进行交流的语言和工具。
实体名
。椭圆表示属性
属性名
。菱形表示联系 。无向边表示实体型
与相关属性或联系 的相连。
联系名
2.2.3 联系的种类
1.两类实体型之间的联系 A
B
a.一对一联系(1:1)
例:宿舍里: 学生------床位
1
1
E-R图:
1
1
学生
占用
床位
b.一对多联系(1:n)
例: 宿舍 学生
1
n
A
B
E-R图: 宿舍
用实体名及其属性名集合来抽象和刻画 同类实体称为实体型
(6) 实体集(Entity Set)
同型实体的集合称为实体集
1.公司分某若公干部司门数,据每个库部需门有求一说个名明字:,一个
编号和一个管理该部门的雇员(经理)并记录 下该雇员开始管理该部门的日期,一个部门可 以分散在几个地点。 2.一个部门控制若干项目,每个项目有一个名字, 一个编号和一个单独的地点。 3.保存每个雇员的名字、社会保险号、地址、工 资、性别和出生日期。一个雇员隶属一个部门 但可在由不同部门控制的几个项目中工作,要 求记录雇员每周在各个项目中工作的时数,并 指明其上司。 4.保存雇员的所有子女的信息,包括姓名、性别、 出生日期及与雇员之间的关系。
1.公司分若干部门,每个部门有一个名字,一个编号和
一个管理该部门的雇员(经理)并记录下该雇员开始 管理该部门的日期,一个部门可以分散在几个地点。
2.一个部门控制若干项目,每个项目有一个名字,一个 编号和一个单独的地点。
3.保存每个雇员的名字、社会保险号、地址、工资、性 别和出生日期。一个雇员隶属一个部门但可在由不同 部门控制的几个项目中工作,要求记录雇员每周在各 个项目中工作的时数。
抚养
N
子女
姓名 性别 出生日期
关系
设计E-R模型的几点说明
1)定义与当前和可预见的将来应用有关的实体, 属性,联系
2)实体有多方面的性质,属性没有. 3)实体的属性一定是单值的,若为多值则定义为
另一实体,并建立联系. 4)联系也可以有属性.
2.3 结构数据模型
2.3.1结构数据模型的组成要素
❖ E.F.Codd指出:一个基本数据模型实质上是一 组向用户提供的规则.这组规则规定数据结构 如何组织以及相应地允许进行何种操作.
4.保存雇员的所有子女的信息,包括姓名、性别、出生 日期及与雇员之间的关系。
(7) 联系(Relationship)
现实世界中事物内部以及事物之间的联系在信息 世界中反映为实体内部的联系和实体之间的联系
两类: ❖ 实体型内部的联系,即组成实体型的属性之间的联系. ❖ 实体型之间的联系, 不同实体型内的各个实体之间,
1 居住 n
学生
c.多对多联系(m:n)
A
B
例:学生 m
教室 n
E-R图:
学生 m 占用 n 教室
d. 多重联系 例: 工人-------设备
E-R图: n
工人 m
使用 维修
1(m) 设备 n
2. 多个实体型间的联系
例:供应商----零件----项目 语义:一个供应商可为多个项目供应多种零件
一个项目可使用多个供应商供应的多种零 件. 一种零件可由多个供应商提供给多个项目.
某公司数据库E-R图
管理开始日期
名字 编号 地点 经理
名字 编号 位置 负责部门
部门
1
1
N
受控
项目
N
隶属
N
雇员
参与
M
抚养
1
N
子女
?
1
N
领导
雇员 姓名 性别 出生日期 关系
某公司数据库E-R图
名字 编号 地点
编号 地点 名字
1
部门
1
管理开始 日期
管理
N
隶属
M
雇员
1
1
N
领导
N
受控
N
项目
参与
周工作时间
同一实体型内各个实体之间
2.2.2 概念模型的表示方法
❖ 概念模型的表示方法很多,但常用的是实体 -联系方法
❖ (Entity-Relationship Approach)
E-R方法建立的模型为E-R模型 特点:直观、自然、语义表现丰富,易于理解,又
易于向各种数据模型转换。
E-R图
。矩形表示实体型
2.一个部门控制若干项目,每个项目有一个名字,一个 编号和一个单独的地点。
3.保存每个雇员的名字、社会保险号、地址、工资、性 别和出生日期。一个雇员隶属一个部门但可在由不同 部门控制的几个项目中工作,要求记录雇员每周在各 个项目中工作的时数。
4.保存雇员的所有子女的信息,包括姓名、性别、出生 日期及与雇员之间的关系。
逻辑模型主要包括网状模型、层次模型、关系模型、面 向对象模型等,按计算机系统的观点对数据建模,用于 DBMS实现。
物理模型是对数据最底层的抽象,描述数据在系统内部 的表示方式和存取方法,在磁盘或磁带上的存储方式和 存取方法。
信息世界 机器世界
概念模型
认识 抽象
现实世界 概念模型 数据库设计人员完成
2.2.1 信息世界中的基本概念
(1) 实体(Entity)
客观存在并可相互区别的事物称为实体。
(2) 属性(Attribute)
实体所具有的某一特性称为属性。
(3) 码(Key)
唯一标识实体的属性集称为码。
(4) 域(Domain)
属性的取值范围称为该属性的域。
(5) 实体型(Entity Type)