第二章数据模型

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

2017/8/16
17
多个实体集之间的多对多联系
供应商 m 供应 n 项目
2017/8/16
p 零件
18
(3)实体集内部的联系
• 在一个实体集的实体之间也可以存在一对 一、一对多和多对多联系。
2017/8/16
19
例:实体集内部的联系
1 人 夫妻 1 职工
1 领导 n 课程
m 预选 n
2017/8/16
2017/8/16
22
上述实体之间的联系有:
(1)一个仓库可以存放多个零件,一种零件可以存放在多 个仓库中,因此仓库和零件具有多对多的联系。用库存量来 表示某种零件在某个仓库中的数量。 (2)一个仓库有多个职工当仓库保管员,一个职工只能在 一个仓库工作,因此仓库和职工是一对多联系。 (3)职工之间具有领导—被领导关系。及仓库主任领导若 干保管员,因此职工实体型中具有一对多联系。 (4)供应商、项目和零件三者之间具有多对多联系。即一 个供应商可以供给若干项目多种零件,每个项目可以使用不 同供应商的零件,每种零件可由不同供应商供给。
2017/8/16
5
二、概念模型及其表示
• 在进行数据库设计时,必须首先给出概念 模型。概念模型不仅是数据库设计人员对 现实世界研究的产物,更为重要的是,它 是数据库设计人员与用户进行交流的工具。 事实上,概念模型是用户观点对现实世界 的抽象。因此,概念模型不仅要能完整地 表现设计人员的思想,而且应简单清晰, 实现用户需求。
2017/8/16 35
例:层次数据库及其实例
A1
B1
B2
B3
C1
(a)
C2
C3
(b )
C4
C5
顺序存储结构
2017/8/16 36
左孩子右兄弟表示法
层次序列链接法
2017/8/16 37
(5) 层次模型的优缺点
优点: ① 层次模型本身较简单,结构清晰,对具有一对多的 层次关系的描述非常自然、直观、容易理解,这是层次数 据库的突出优点。 ② 系统性能优于关系模型和网状模型。 ③ 层次数据模型提供了良好的完整性支持。 缺点: ① 不适于表示多对多联系。需采用分解的方法,即将 一个多对多联系分解为若干个一对多联系。 ② 对插入和删除限制较多。 ③ 查询子女结点必须通过双亲结点,效率较低。
2017/8/16 6
1、概念模型中的基本概念
(1)实体(Entity)
• 现实世界中存在的可以相互区分的事物或概念称为实体。实体 可以是物理存在的事物,如人、机器;也可以是抽象的概念, 如学校、课程、足球赛。
(2)属性(Attribute)
• 属性—实体的某一方面特征的抽象表示称为实体的属性。每个 实体都有一组特征和属性。 例如,学生实体具有学号、姓名、性别、出生日期、民族、籍 贯等属性。 • 属性值—属性的具体体现称为属性值。 如:( 0005 ,张岳,男, 03/20/62 ,汉,上海)是一个具体的 学生实体。 • 属性名和属性值—属性有属性名和属性值之分。 如:“籍贯”是属性名,“上海”是属性值。
2017/8/16
15
多个实体间的一对多联系
课程 1 讲授/使用 n 教师 m 参考书
2017/8/16
16
例: 多个实体间的多对多联系
• 有三个实体集:供应商、项目、零件,一 个供应商可以供给多个项目多种零件;每 个项目可以使用多个供应商供应的零件; 每种零件可由不同供应商供给。因此,供 应商、项目、零件之间是多对多的联系。
2017/8/16
23
工厂的物资管理E-R图:
2017/8/16
实体及属性图
24
实体及联系图
2017/8/16
25
完整的实体-联系图
2017/8/16
26
课堂练习:根据要求画出E-R图
1、大学实行学分制,学生可根据自己的情况选修 课程。每名学生可同时选修多门课程,每门课程可 被多名学生选修;每门课程可由多位老师讲授,每 位老师可讲授多门课程;每位老师可指导多名学生 。 2、某医院病房使用计算机管理中有关信息。一个 科室由多个病房组成、一个病房只能属于一个科室 ;一个科室有多个医生;一个病房可以入住多个病 人;一个医生只属于一个科室,但可负责多个病人 的诊治,一个病人的主管医生只有一个。
20
3、概念模型的表示方法
• 用于表示概念模型最著名且使用最广泛的是P.P.Chen 于 1976 年 提 出 的 实 体 — 联 系 方 法 (EntityRelationship Approach,简称E-R图法)。E-R图法提 供了表示实体集、属性和联系的方法,在E-R图中: (1) 实体集—用长方形表示,长方形内写明实体集名。 (2) 实体集属性—用椭圆形表示,并用线段将其与实 体集连接起来。 (3) 实体集间的联系—用菱形表示实体集间的联系, 菱形内写上联系名,并用线段分别与有关实体集连接 起来。
2017/8/16 29
1、层次模型 (1) 数据结构
• 层次模型的定义
– 有且仅有一个结点没有双亲结点,这个结点称为根结点。 – 除根结点之外的其他结点有且只有一个双亲结点。
• 层次模型的数据表示方法
– 实体集使用记录表示;记录型包含若干个字段;记录值表示实体; 记录之间的联系使用基本层次联系表示。
2017/8/16
3
现实世界、信息世界和数据世界的关系
现实世界(事物、事物性质) 抽 象 化 信息世界(实体、实体属性) 数 据 化 数据世界(记录、数据项)
2017/8/16
概念模型描述
数据模型描述
4
现实世界、信息世界、数据世界
1 .现实世界。是事物的客观存在。由所观察的事物及其 性质反映。 2 .信息世界。是现实世界在人们头脑中的反映。客观事 物经过抽象后在信息世界中称为实体。实体是由属性来描 述的。属性的具体体现叫做属性值。反映事物之间的联系 称为实体模型(概念模型)。 3 .数据世界。是信息世界中信息的数据化。它通过抽象 模拟用记录和数据项分别描述信息世界中的实体及属性。 数据项的取值叫数据项值。实体模型数据化后即为数据模 型。
2017/8/16 34
(4) 层次模型的存储结构
• 在层次模型中不但要存储数据,而且还要存储数据之间的层次 联系。一般用顺序存储结构和链式存储结构来实现。 ① 顺序存储结构 按照层次树前序遍历的顺序,把所有记录值依次邻接存放在一 个一维数组之中。 ② 链式存储结构 l 左孩子、右兄弟表示法。要求每个记录设两个指针域, 一个指向它最左边的孩子记录的地址,另一个指向离它最近的 兄弟记录的地址。 l 层次序列链接法。层次序列链接法按照树的前序遍历顺 序,链接各记录值。
2017/8/16 28
数据模型的组成要素
• 数据结构
– 数据结构用于描述系统的静态特性,是所研究的对象 类型的集合。
• 数据操作
– 数据操作用于描述系统的动态特性,是指对数据库中 各种对象的实例允许执行的操作的集合.
• 数据的约束条件
– 数据的约束条件是一组完整性规则的集合。完整性规 则是给定的数据及其联系所具有的制约和存储规则, 用以限定符合数据库状态以及状态的变化,以保证数 据的正确、有效和相容。
32
(2) 数据操纵
• 主要有查询、插入、删除和修改。
2017/8/16
33
(3) 完整性约束
• 进行插入、删除、修改操作时要满足层次 模型的完整性约束条件。 • 进行插入操作时,如果没有相应的双亲结 点值就不能插入子女结点的值。 • 进行删除操作时,若删除双亲结点的值, 则相应的子女结点值也被同时删除。 • 进行修改时,应修改所有相关记录,以保 证数据的一致性。
教研室
教研室编号 教研室 职工号 姓名
学号 专业方向
姓名
年龄
学生
教师
院系数据库的一个实例
D10 计算机系 9号楼
C01 C02 92001 92002
2017/8/16
来自百度文库
硬件教研室 软件教研室
00001 00002 许明 陈真
王平 李丽
20 20
王海 张铮
电器 自动化
92003 92004
数据库 人工智能
2017/8/16 7
(3)域(Domain)
一个属性的取值范围即是这个属性的域。例如,姓名的域是 字符串集合,且不超过4个汉字;性别的域是(男,女)。
(4)实体集(Entityset)
同型实体的集合称为实体集。例如,全体学生即是一个实体 集。
(5)实体型(Entity Type)
实体集的名和及其所有属性名的集合,称为实体型。 例如:学生(学号、姓名、性别、出生日期、民族、籍贯) 即是一个实体型。 (6)主码和次码:能够惟一标识一个实体的属性或属性组称为 主码或主关键字;不能惟一标识实体的属性或属性组叫次码或 次关键字。 • 如“学号”是学生实体的主码;“姓名”、“性别”、“出生 日期”、“民族”、“籍贯”都是学生实体的次码。。
数据库系统基础
第一部分 数据库基本原理
第二章 数据模型
2017/8/16
1
主要内容:
• 现实世界的信息化过程 • 概念模型及其表示 • 常见的数据模型
2017/8/16
2
一、现实世界的信息化过程(数据处理 的三个世界)
• 计算机系统是不能直接处理现实世界的, 现实世界只有数据化后计算机才能处理。 数据从现实世界进入到数据库一般要经历 三个阶段,即现实世界、信息世界和数据 世界。
2017/8/16
11
一对多联系
实体型A 1 联系名 n 实体型B
A
B
2017/8/16
12
③ 多对多联系(m:n)
• 若有实体集A和B,对于联系K来说,A中的 每一个实体,B中有多个实体与之联系,反 之亦然,则称实体集A与实体集B具有多对 多联系,记为m:n。 • 例如:工厂里的一个职工可以参加多种体 育组织,而一个体育组织也可以有多名职 工,则体育组织与职工之间具有多对多联 系。
2017/8/16
8
2、概念模型中实体的联系
• 在现实世界中,事物与事物之间存在着错综复杂的联系, 这些联系在信息世界中反映为实体集和实体集之间的联 系。
(1)两个实体集之间的联系
两个实体集之间的联系可分为三类。

一对一联系(1:1)
若有实体集A和B,对于某个联系K来说,A中每个实 体至多与B中一个(也可以没有)实体相联系,反之亦 然,则称实体集A与实体集B具有一对一联系,记为1:1。 例如:大学与校长之间具有一对一联系。
• 层次模型的特点
– 层次模型像一棵倒立的树,只有一个根结点,有若干个叶结点, 结点的双亲是惟一的。
• IMS即是根据层次模型实现的数据库管理系统,是IBM最早 研制的大型数据库系统。
2017/8/16 30
层次模型样例
R
R1
R2
R3
R4
R5
2017/8/16
31
院系数据模型 院系 院系编号 院系名称 办公地点
2017/8/16 13
多对多联系
实体型A m 联系名 n 实体型B
A
B
2017/8/16
14
(2)多个实体集之间的联系
• 两个以上的实体集之间也会存在有联系, 其联系类型为:一对一、一对多、多对多。 • 例:一门课可以有若干教师讲授,一个教 师只讲授一门课程;一门课程使用若干本 参考书,每一本参考书只供一门课程使用; 一个教师可使用多种参考书,一种参考书 可以被多个教师使用。
2017/8/16 27
三、常见的数据模型
• 实体模型是人们对现实世界事物之间各种联系的 一种抽象表示,是一种模拟。它只描述了实体的 存在及联系,即只描述了实体存在什么类型的联 系,而不能指出如何实现各种联系。 • 数据模型是实体模型的数据化,这样就有可能用 计算机来处理各种事物及其联系,实现要解决的 问题。实体模型数据化的实现方法可以凭借数学 理论来解决。 • 目前按照图论建立的模型有层次模型和网状模型, 按照关系代数理论建立的模型有关系模型,此外, 还有新兴的面向对象数据模型、对象关系数据模 型等。
2017/8/16 21
例:用E-R图表示某个工厂物资管理的概念 模型
物资管理涉及的实体有: • 仓库:属性有仓库号、面积、电话号码 • 零件:属性有零件号、名称、规格、单价、描述 • 供应商:属性有供应商号、姓名、地址、电话号 码、账号 • 项目:属性有项目号、预算、开工日期 • 职工:属性有职工号、姓名、出生日期、职称
2017/8/16 9
一对一联系
实体型A 1 联系名 1 实体型B
A
B
2017/8/16
10
② 一对多联系(1:n)
• 若有实体集A和B,对于联系K来说,A中的 每一个实体,B中可有多个实体与之联系, 反之,B中的每一个实体,A中最多有一个 实体与之联系,则称实体集A与实体集B具 有一对多联系,记为1:n。 • 例如:学校和教师之间具有一对多联系。
相关文档
最新文档