数 据 模 型
数据模型
?数据模型是模型化数据和信息的工具。
现实世界
认识
抽象
信息世界-概念数据模型
机器世界-
DBMS支持的数据 模型
转换
概念模型(信息模型)
?现实世界反映到人脑中,人们对这些事物有一个认识过程,
经过抽象(选择、命名、分类)之后进入信息世界。
?语义式数据模型,着重描述高层次的概念,如被描述对象
的意义、相互关系等,按用户观点对数据和信息建模。
?强调语义表达能力,概念简单清晰,易于理解,是用户和
DB设计人员交流的工具。
?把现实世界中的客观对象抽象为某种信息结构,这种信息
结构不依赖于具体的计算机系统,完全不涉及信息在计算
机系统中的结构。
?常用模型
?实体联系模型 (Entity Relationship Model)
?E- R图
ER模型中的术语
?实体:客观存在并可相互区分的事物。
?实体集,同类型实体的集合。每个实体集必须命名。
?属性,实体集具有的特征和性质。
?属性值:为实体 的属性取值。
?域:属性值的取值范围(域有个类型问题)
?码:唯一标识实体集中一个实体的属性或属性集
?实体型:表示实体信息结构,由实体集名及其属性
集表示。如:实体集名 (属性 1,属性 2,…)
联 系
?现实世界的事物之间是有联系的,这种联
系必然要在信息世界中加以反映。
?两类联系:
?实体内部的联系,如组成实体的属性之间的联
系(型号-价格)。
?实体之间的联系 。
实体之间的联系
?一对一联系( 1:1)
?对于实体集 A中的每一实体,实体集 B中至多有
一个实体与之联系。反之亦然。
?一对多联系( 1:N)
?对于实体集 A中的每一实体,实体集 B中有 N个
实体 (N?0)与之联系。反之,对于实体集 B中每一
实体,实体集 A中至多只有一个实体与之联系。
?多对多联系( M:N)
?对于实体集 A中的每一实体,实体集 B中有 N个
实体 (N?0)与之联系,对于实体集 B中每一实体,
实体集 A中有 M个实体 (M?0)与之联系。
实体联系模型
?反映实体集合及其联系的结构形式称为 实体
联系模型 。实体联系模型就是信息模型,它
是现实世界事物及其联系的抽象。
?ER图:
?实体集 - 用矩形框表示,实体集名子写在框中。
?联系 -用菱形框表示,联系名写在框中,用无
向边与相关实体集连接,并注明联系类型。
?属性 - 用椭圆表示,属性名写在椭圆中,如果
为码属性,其名字带下划线。用无向边将实体集
和它的全部属性连接起来。
?若联系也有属性,把属性和菱形用无向边连起来
E- R图
领导
系主任

1
1
包括
班级
学生
1
N
选课
学生
课程
M
N
学号 姓名 性别
学分课程名课程号
成绩
E- R图
供应
供应商
零件项目
m
pn
职工
领导
1 n供应量
项目(项目号,预算,开工日期)
E-R图
供应 库存 领导
工作供应商 仓库 职工
零件项目
供应量
库存量
设计 E-R图过程
E-R图设计过程实际是对数据进行归纳、分析,
把企业的全部用户按他们对数据和功能需求进行分
组。然后从局部入手,对每一类用户,建立局部 E-R
模型,再综合成总体 E-R模型
?确定实体集
?确定联系和联系类型
?设计出由 E-R图表示的企业模型
?确定属性
?将 E-R图优化
数据库支持的数据模型
?结构式数据模型,主要描述数据组织的结构特点
或结构约束(而非数据本身的内涵)
?按计算机系统的观点组织数据。
?在数据库应用系统中,把信息模型转换为 DBMS
支持的数据模型:
?层次模型 (树 )
?网状模型 (图 )
?关系模型 (表 )
?面向对象模型
?对象关系模型
数据模型的组成
数据模型是数据库系统的核心和基础,DBMS
都是基于某种数据模型的。
数据模型是严格定义的概念的集合。一 个数
据模型由三部分组成:
?数据结构-对象类型的集合(静态性) 。
?数据操作-对数据库各种对象允许执行的
操作的集合(动态性)。
?数据的约束条件-完整性规则集合(完整
性)。
关系模型
?在关系模型中,数据的逻辑结构就是二维
表。
?概念单一、清晰,无论是实体,还是实体
间的联系,都用关系来表示,用户易懂易
用。
?关系模型有严格的数学基础及在此基础上
发展起来的关系数据理论。
关系的数学定义
?定义一
域 ( Domain) 是值的集合。
?定义二
设 D1,D2,…,Dn 为一组域(可以有相同的域),
D1,D2,…Dn 上的 笛卡尔积 定义为:
D1× D2× … × Dn =
{(d1,d2,…,dn)| di?Di,i=1,2,…,n}
其中每一个元素 (d1,d2,…dn) 称为一个 n元组,简
称元组。元组中每一个值 di 叫做一个 分量 。
关系模型是建立在集合论的基础上,用集合代数
来定义一个关系。
关系的数学定义
?定义三
D1× D2× … × Dn 的子集叫做在域 D1,D2,…,
Dn上的 关系 (Relation),用 R(D1,D2 …,Dn)表
示, R是关系名, n为关系的目 。
关系是在一组域( D1,D2,…, Dn) 上的笛卡
尔积的一个子集。
关系是建立在集合论上,可以进行集合操作。
D1= {刘备,关羽,张飞 }
D2= {刘夫人,关夫人,张夫人 }
D3= {刘禅,关平,张苞 }
一个关系的例子
关羽,刘夫人,刘禅
关羽,刘夫人,关平
刘备,张夫人,张苞
刘备,张夫人,关平
刘备,张夫人,刘禅
刘备,关夫人,张苞
刘备,关夫人,关平
刘备,关夫人,刘禅
刘备,刘夫人,张苞
刘备,刘夫人,关平
刘备,刘夫人,刘禅
关羽,关夫人,刘禅
关羽,刘夫人,张苞
关羽,关夫人,关平
关羽,关夫人,张苞
关羽,张夫人,刘禅
关羽,张夫人,关平
关羽,张夫人,张苞
张飞,刘夫人,刘禅
张飞,刘夫人,关平
张飞,刘夫人,张苞
张飞,关夫人,刘禅
张飞,关夫人,关平
张飞,关夫人,张苞
张飞,张夫人,刘禅
张飞,张夫人,关平
张飞,张夫人,张苞
Family(D1,D2,D3)
关系与二维表的对应
学号
980001
980002
980003
9800028

9800029
姓名
赵学众
钱习志
孙雷成

李锋城
甘 清
性别






班级
力 91
化 81
物 71

汽 93
仪 81
主码 整数 字符串 域男 /女 字符串
属性名

组(
行)
属性 (列 )关系名 表名
关系
分量
关系模型术语 — 关系表
?关系:一个关系对应一张二维表(非形式化描述)
关系名 - 表名。
?元组:表中的一行称为一个元组(元组的集合即
为关系)。
?属性:表中的一列对应一个域,由于域可以相同,
为加以区别,为每列起一个名字,称为属性,列
名即属性名。
?域:属性的取值范围(列的数据类型)。
?分量:元组中的一个属性值。
?主码:表中的某个属性 (组 ),它的值能唯一标识
某个关系中的一个元组。
关系模式
?关系模式 - 关系的描述:
关系名(属性名 1,属性名 2,…,属性名 n)
例:学生(学号,姓名,性别,班号)
班级(班号,系)
课程(课号,课名,学分)
关系的几个性质
?不能有重复的元组 。
?元组上下无序 。
?按属性名引用时, 属性左右无序 。
?所有属性值都是原子项(不可再分)。
E- R图转换成关系模式
?① E- R模型中的每个实体集都转换成一个同名的
关系,实体集的属性就是关系的属性,实体集的
码就是关系的码。
?② E- R模型中的每个联系也用一个关系表示,与
该联系相连的各实体集的码以及联系的属性转换
为关系的属性。该关系的码有三种情况:
?若联系为 1:1,则每个实体的码均是该关系的候选码。
?若联系为 1:n,关系的码为 n端实体集的码。
?若联系为 m:n,则关系的码为各实体集码的组合。
?③ 具有相同码的关系模式可以合并。
E- R图转换成关系模式
1, 1
系(系号,系名,地址)
系主任(工作证号,姓名,年龄,.)
领导
系主任

1
1
领导(系号,工作证号)
系(系号,系名,地址,系主任)
E- R图转换成关系模式
1, N
包括

学生
1
N
系( 系号,系名,地址,系主任)
学生( 学号,姓名,性别)学生( 学号,姓名,性别,系)
从属( 学号,系号)
E- R图转换成关系模式
M, N
选课
学生
课程
M
N
学生( 学号,姓名,性别,系号)
课程( 课号,课名,学分)
选课( 学号,课号,成绩)
成绩
E- R图转换成关系模式
职工
领导
1 n
职工 (职工号,姓名,年龄,领导 )
供应
供应商
零件项目
m
pn
供应量
供应(供应商,项目,零件,数量)
E- R图符
?符号要准确
?实体集:矩形
?联系:菱形
?属性:椭圆 (可以另外说明)
?联系的类型一定要标出 (1:1 1:n m:n)
?名字要贴切
?实体名 (课序号? 学号?)
?面向主题
属性与实体的区别:
?作为属性,不能再具有需要描述的性质,
属性不能是另外一些属性的聚集。
?属性不能与其他实体具有联系。 E- R模型
是实体之间联系。
工种(职工属性) 工种(劳保,退休年龄,.)
仓库(商店属性) 仓库(名称、面积,地址)
职工
教师
学生
班级

课程
包含
管理
包含
包含
授课
1
N
1
N 1
N
1
N
1
1
选课M N
教务管理
班主任
教师
课程学生
系班级
E- R图转换关系模式
?每个实体集设计为一关系模式
系(系号,系名,电话)
班级(班名,必修学分)
学生(学号,姓名,性别,出生年月)
教师(工作证号,姓名,职称,电话名)
课程(课号,课名,学分,时间,容量)
E- R图转换关系模式
?1:n 联系 班级 —— 学生

水工 91 200 王山 程依农
水工 91 200 王山 陆萧红
水工 91 200 王山 王轶亚
水工 91 200 王山 甘之
990001 程依农 男 01-1月 -1980 水工 91
990052 陆萧红 女 21-4月 -1980 水工 92
990093 王轶亚 男 11-10月 -1981 水工 91
E- R图转换关系模式
?m:n 联系 学生 —— 课程
课程(课程号,….,学号)?
学生(学号,…,课程号)?
学号 课程号 成绩
E- R图
?实体间存在一种以上的联系
教师 系
属于
领导
n 1
11
教师
普通教师
系主任
属于
领导

n 1
11
习题 1:教务管理系统
?用户的陈述与需求:
该系统包括教师、学生、班级、系和课程等信
息,基本情况如下:
教师有工作证号、姓名、职称、电话等;学生
有学号、姓名、性别、出生年月等;班级有班号、
最低总学分等;系有系代号、系名和系办公室电话
等;课程有课序号、课名、学分、上课时间及名额
等。
每个学生都属于一个班,每个班都属于一个系,
每个教师也都属于一个 系。 接下页
作 业
习题 1,教务管理系统
每个班的班主任都由一名教师担任。
一名教师可以教多门课,一门课可以有几位主讲
老师,但不同老师讲的同一门课其课序号是不同的
(课序号是唯一的)。
一名同学可以选多门课,一门课可被若干同学选
中。一名同学选中的课若已学完,应该记录有相应
成绩。
本单位学生、教师都有重名,工作证号、学号可
以作为标识。
作 业
接下页
习题 1,教务管理系统
教学系统主要提供数据维护、选课和信息查询。
其中常见的查询有:
? 系统中各对象的基本信息查询。
? 查询指定班、系的学生信息(名单、人数等)。
? 查询学生的成绩、学分情况。
? 查询教师授课情况和学生选课情况 … 等等。
? 请画出 E- R图,并设计出关系模式。
作 业
习题 2:书店管理系统
?用户的陈述与需求:
本系统为全区新华书店管理系统,涉及书店、图
书、优惠卡等信息。基本情况如下:
书店有店名、电话、地址等;图书有书名、作者、
价格等;优惠卡包括卡编号、姓名、单位等。
凭优惠卡可在区内任何一家书店优惠 20%购书。
假定一本书为 100元,优惠购一本可优惠 20元。但一
张卡在每一家书店购书优惠额度及在各书店优惠总
额度有限制,在一家书店优惠额度不超过 500元,总
优惠额度限制在 2000元以内。
作 业
接下页
习题 2:书店管理系统
该系统主要实现下述管理、查询和统计:
? 书店现存图书信息查询(品种、数量、总资产等)。
? 优惠额度管理。
? 查某位持卡者优惠购书信息(书名、数量、已优惠
金额等)。
?请画出 E- R图,并设计出关系模式。
作 业
习题 3:病房管理系统
? 用户的陈述与需求:
住院部涉及医护人员、住院病人、病房、科等
信息。基本情况如下:
科包括科名 (如内科、外科等 )、值班电话等。
另外,每个科有一个主任和一个护士长。
医护人员包括一般人员信息,如姓名、技术职
称等,每人只属于一个科。
病房有病房号(如 321表示三楼 21号房)、病
床数、所属科等,每个病房里的病床自己顺序编号。
作 业
接下页
习题 3:病房管理系统
住院病人自住院之日就建立病历,其中包括科、
房间和病床号,以及其他疾病和治疗信息。每个病
人指定一位主治大夫。
住院部管理经常要做的查询有:
?科查询(主任、护士长是谁,是否有空病床等)。
?医护员有关信息查询(所属科,职称,主治哪几
个病人等)。
?住院病人查询(住在哪个科,几病房几床,主治
大夫是谁等)。
?请画出 E- R图,并设计出关系模式。
作 业
习题 4:商店管理系统
?用户的陈述与需求:
商店管理涉及商店、职工、商品等对象,各有关
信息请你自己设计。
该系统的基本功能需求如下:
? 查询某商店的职工情况,或查询职工工作单位。
? 查询商店某商品存量,或某商品在哪个商店有货,
有多少。
? 提供销售情况。如某商店某天销售了哪些商品?
销售额是多少?某月各商店日平均销售额是多少?
?请画出 E- R图,并设计出关系模式。
作 业