数据库系统的数据模型
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
(2)数据模型
数据模型的定义,两类数据模型,逻辑模型的形式 定义,ER模型,层次模型、网状模型、关系模型和面 向对象模型的数据结构以及联系的实现方式。
数据库系统的数据模型
2.1 数据模型概述 2.2 概念模型 2.3 层次数据模型 2.4 网状数据模型 2.5 关系数据模型 2.6 面向对象数据模型 本章小结
职工代码 职工姓名 职工 性别 年龄
教师
教辅人员
管理人员
学校团体
行政级别
3)聚集
在EER数据模型中,将联系视为参与联系的实体集组合而成新实 体集,其属性为参与联系的实体的属性和联系的属性的并。这 种新实体集称为聚集。这样联系也能以聚集的形式参与联系。 下图是应用聚集的例子。
单位编码 系名
教师代码 姓名 聚 集
一对一(1:1)联系
若两个实体集中E1、E2中的每一个实体至多和另一个实体集中 的一个实体有联系,则称E1和E2是一对一的联系,记为1:1。 例如,学校实体集与校长实体集间的联系是一对一联系。
一对多(1:n)联系
设两个实体集E1 、E2 ,若E1 中每一个实体与E2 中任意个实体 (包括零个)相联系,而E2中每个实体至多和E1中一个实体有 联系,则称E1和E2是一对多的联系,记为1:n。
2.3.1 基本概念和结构
层次模型是按照层次结构的形式组织数据库数据的数据模 型,即用树型结构表示实体集与实体集之间的联系。 其中用结点表示实体集,结点之间联系的基本方式是1:n。 1)记录和字段
记录是用来描述某个事物或事物间关系的命名的数据单位,也是 存储的数据单位。 它包含若干字段。每个字段也是命名的,字段只能是简单的数 据类型,例如整数、实数、字符串等。 例如:图(a)是一个名为系的记录。 图(b)是其一个实例。
计算机系
系
班
教研室
学生
教师
计科0201班 … 张三 李四
计科0202班 … 王五 李定
计教0201班 … 赵山 周英
硬件教研室 … 孙立 钱敏
软件教研室 … 胡恒 丁伟
4)层次序列和层次路径
(1)层次序列
由于存储器是线性的,层次数据模型采用树的先序遍历的次 序(即从上向下、自左到右)作为存储次序。这样所生成的序 列称为层次序列。上例中的层次数据模式的实例的层次序列如 下图所示。
3)属性
实体或联系所具有的特征称为属性。
实体是由特征来表征和区分的,通常一个实体可以由多个属 性来描述。例如,学生具有姓名、学号等属性。
一个实体可以有若干个属性,但在数据库设计中通常只选择 部分数据管理需要的属性。 属性往往是不可再细分的原子属性,如姓名、性别等。 属性有型和值的区别。 例如,学生实体中的学号、姓名等属性名是属性型,而 “021231142”、“李定”等具体数据称为属性值。 每个属性值都有一定的变化范围,通常称属性取值的变化范 围为属性值的域。 例如,性别属性域是{男、女},年龄属性域是1~200。 能唯一标识实体集中某一实体的属性或属性组称为实体集的 标识关键字或称关键字。
学校代码 学校名称 学校 地址
1
聘任
聘任日期
n
教师
教师代码
教师姓名
性别
职称
2.2.3 扩充E-R数据模型
1)依赖联系和弱wk.baidu.com体集
在现实世界中,某些实体集间还存在一种特殊的联系――依 赖联系。 例如,在人事管理数据库中存放的职工实体 集及其家庭成员实体集,前者以后者的存在 为前提,家庭成员实体集依赖于职工实体集。 这种依赖另一个实体集的存在而存在的实体 集称为弱实体集,它们与其他实体集间的联 系称为依赖联系,如右图所示。
(2)GNP(Get Next within Parent)
在当前记录的双亲下,按层次序列查找下一个满足条件的记录。 例如,查找计科0202班所有学生的记录的查询操作命令如下: GU 系(系名=’计算机系’),班(班名=’计科0202’),学生;/*找到记录王五
*/
计算机系
计科0201班 … 张三 李四
2.1 数据模型概述
数据模型(Data Model)是对现实世界数据特征 的抽象,是用来描述数据的一组概念和定义。
现实世界 现实世界中的客观对象抽象为概念模型; 然后把概念模型转换为DBMS支持的数据模型。 认识抽象 其转换过程如右图。 概念数据模型:信息世界
数据模型的分类:
概念数据模型(又称概念模型) 逻辑数据模型(又称数据模型)
实体集E1 实体集E2
E1 车间 E2 工人
(m:n)联系
实体集E1 实体集E2
E1 学生 E2 课程
多元联系与自反联系
(2)多元联系
在E-R数据模型中,二元联系这种表示方法还可推广到多元 联系,即参与联系的实体个数n≥3。例如,三元联系也可区分 1:1:1、1:1:p、1:n:p、m:n:p等联系。
如果三个上实体集A、B、C之间有联系A-B-C,则实体间联系如下图:
A 1 A-B-C 1 B C 1 1 B A 1 A-B-C p A 1 A-B-C A m A-B-C p B C
n
n
B C
p
C
(2)画出实体集及联系的属性
用无向边把属性框连向与其相关的实体集或联系。 例如学校和教师实体集间存在聘任联系,联系有“聘任日期” 属性,则一个描述学校和教师实体集及其联系的E-R图如下图 所示。
(2)数据操作
是指对数据库进行的检索和更新两类操作。
(3)数据的约束条件
数据的约束条件是一组完整性规则的集合。 它定义了给定数据模型中数据及其联系应具有的制约和依赖规则。
2.1.2 数据模型的发展
20世纪60年代后期,在文件系统基础上发展起来的 层次模型、网状模型和关系模型等传统数据模型; 20世纪70年代后期产生的E-R数据模型 ;
2.3.2 数据操作
1)数据查询 在层次数据模型中,若要查找一个记录,须从根结点开始,按 给定条件沿一个层次路径查找所需要的记录。 下面介绍3个查询操作命令。 (1)GU(Get Unique)
格式:GU<查询条件> 该命令执行的结果是查找出满足条件的第一个条件。 例如,GU 系(系名=’计算机系’),班(班名=’计科0202’),学 生;
职工 1
成员 n 家庭情况
2)子类和超类
为了进一步描述一个实体集中某些实体的不同特征,从该实体 集中取出一部分实体构成一个(或多个)新的实体集,称这个 新实体集是原实体集的子类,而原实体集是新实体集的超类。 例如,一个系部的职工实体集,为区分他们不同的工作特点, 可分为教师、教辅人员及管理人员三个子类实体集。其EER数据 模型实例如下图所示。
20世纪80年代以来又相继推出面向对象数据模型、 基于逻辑的数据模型等新的模型。
2.2 概念模型
2.2.1 基本概念 2.2.2 E-R图 2.2.3 扩充E-R数据模型
2.2.1 基本概念
E - R 数 据 模 型 ( 即 Entity-Relationship data model, 实 体 - 联 系 数 据 模 型 ) 是 P. Chen(Peter Pin-Shan Chen)于1976年提出的一种语义数据模型。 E-R数据模型不同于传统数据模型,它不是面向实现, 而是面向现实世界。
单位名 法人代表 单位 ∪ ψ 账户 m 开户 n 银行 账号 地点 个人
几个E-R事例
部门E-R
医院病房 管理E-R
系
图1 学生选课的局部E-R图
系
图2 教师任课的局部E-R图
系
1
属于
1
m
教师
m
1
拥有
m
开课
m
讲授
n
学生
m
选修
n
课程
图3 合并的全局E-R图
2.3 层次数据模型
2.3.1 基本概念和结构 2.3.2 数据操作 2.3.3 数据约束 2.3.4 层次数据模型的优缺点
计科0202班 … 王五 李定
计教0201班 … 赵山 周英
硬件教研室 … 孙立 钱敏
软件教研室 … 胡恒 丁伟
系部
聘任
教师
聘任日期
承担
合同号
科研项目
4)范畴
在描述现实世界时,有时要用到不同类型的实体组成的实体集, 引入了范畴这一抽象概念。设E1 、E2 、…En 是n个不同类型的实 体集,则范畴T可定义为: 其中:E1、E2、…En称为T的超实体集。 T E1 E 2 E n 例如,“银行账户”这个实体集的成员可能是单位,也可能是个 人。 身份证号 地址 姓名
系 系名 系号 系主任名 地点 计算机系 9 李远 科技大楼
图(a) 记录的型
图(b) 记录的一个实例
2)双亲子女关系(简称PCR)
这是层次数据模型中最基本的数据关系。它代表了两个记录 型之间一对多关系(1:n)。 例如,一个系有多个班,就构成了如图(a)所示的双亲子女 关系(即PCR型),在“1”方的记录型称为双亲记录,在“n” 方的记录型称为子女记录。图(b)是其一个实例。
系 1 n 班 计科0201班 计科0202班 计教0201班 计算机系
(a)PCR型
(b) 一个PCR实例
3)层次数据模式
利用PCR可以构成层次数据模式。 右图是一个层次数据模式的例子。 下图是层次数据模式的一个实例。
层次数据模式是一棵树,其数据结构特点为: 在每棵树仅有根结点无双亲。 除根结点外的任何结点有且有一个双亲结 点,但可以有任意个子女结点。 树中无子女的结点称为叶结点。
(3)自反联系
表示同一个实体集两部分实体之间的联系,是一种特殊的二元 联系。这两部分实体之间的联系也可以区分为1:1、1:n和m: n三种。 例如,在“人”这个实体集中存在夫妻之间的1:1联系;教师 实体集中为了描述领导与被领导关系,可用1:n联系描述;在课 程实体集中存在一门课程与另外一门或几门课程之间的预选课 联系。
第2章 数据库系统的数据模型
本章主要内容
本章将着重介绍一下概念模型、层次模型、网状模 型、关系模型、面向对象模型等数据库系统的数据模 型的基本概念和设计方法,为后面的数据库设计打下 基础。
(1)数据描述
概念设计、逻辑设计和物理设计等各阶段中数据描 述的术语,概念设计中实体间二元联系的描述(1:1, 1:N,M:N)。
1)实体(Entity) 实体是客观存在的且可以区别的事物。 2)联系(Relationship) 实体与实体间的关系抽象为联系。 (1)二元联系 只有两个实体参与的联系称为二元联系。 在二元联系中,E-R数据模型又把联系区分为一对一 (1:1)、一对多(1:n)、和多对多(m:n)三种 。
二元联系
转换
逻辑数据模型:DBMS支持的数据模型
2.1.1 数据模型的基本组成
数据模型是现实世界中的事物及其间联系的一种抽象表 示,是一种形式化描述数据、数据间联系以及有关语义 约束规则的方法。它通常由以下三个部分组成: (1)数据结构
它是指对实体类型和实体间联系的表达实现。 它是数据模型最基本的组织部分,规定了数据模型的静态特性
计 算 机 系 计 科 0201 班 张 三 … 李 四 计 科 0202 班 王 五 … 计 教 0201 班 … 周 英 硬 件 教 研 室 孙 立 … 钱 敏 软 件 教 研 室 胡 恒 … 丁 伟
(2)层次路径
层次路径是用来指明从层次数据模式的根结点到目标结点的一 条查询路径,通常用从根结点到目标结点路径上每个记录值的 排序关键字表示。
m
预选
n
二元联系E-R简图
自反联系E-R简图
2)E-R图的构成规则
(1)画出实体集及它们之间的联系
如果实体集A中实体之间有联系A-A,则实体间联系如下图:
1 A A-A 1 A 1 A-A n A m A-A n
如果实体集A和实体集B之间有联系A-B,则实体间联系如下图:
A 1 A-B 1 B A 1 A-B n B A m A-B n B
2.2.2 E-R图
E-R图是E-R数据模型的图形表示法,是一种直观表示现实 世界的有力工具,目前E-R图已用于数据库的概念设计。
1)E-R图的表示方法
实体集名 联系
属性
上述提到的几种联系的E-R简图如下:
校长 1 负责 1 学校 系部 1 聘任 n 教师 教师 m 教学 n 学生 人 1 夫妻 1 教师 1 领导 n 课程
多对多(m:n)联系
设两个实体集E1 、E2 ,若E1中每一个实体都和另一个实体集 中任意个实体(包括零个)有联系,则称E1和E2是多对多的联 系,记为m:n。 m:n 它们三者之间是包含关系。如右图所示。 1:n
1:1
数据联系的描述
(1:1)联系
实体集E1 实体集E2
E1 座位 E2 乘客
(1:n)联系