层次数据模型

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

2. 直接面向数据库的逻辑结构的数据模型,它是 现实世界的第二层抽象。这类模型涉及到计算机 系统和数据库管理系统,又称为“基本数据模型” 或“结构数据模型”。 例如, 层次、网状、关系、面向对象数据模 型”.这类模型有严格的形式化定义,以便在计算 机系统中实现。
2.1 层次数据模型 用树型(层次)结构表示实体类型及 实体间联系的数据模型称为层次数据模 型(hierarchical data model)。

基本概念和结构

记录和字段 双亲子女关系 层次数据模式 虚拟记录 层次数据的线性表示

记录和字段
记录是用来描述某个事物或事物间关系的命名的 数据单位,也是存储的数据单位。一个记录包含若干 字段。 每个字段也是命名的,字段只能是简单数据类型 (整数、实数、字符串等)。
系名
系 系号 系主任名 地点
零件
供应关系
供应商
工程项目


主要问题:数据冗余,为避免这一情况,只存 一份记录,其它引用该记录的地方用指针代替 ——这种用指针代替的记录称为虚拟记录。 用下标v表示,指针用虚线箭头表示。
课程 学生
(学生)v
(课程)v

运动队
学生
(学生)v

层次数据的线性表示 由于存储器是线性的,层次数据必须变换成线 性形式才能存储,层次数据模式的实例对应一棵层 次树(或森林),对层次树(或森林)按先序遍历 生成的序列称为层次序列(hierarchical sequence),规定以此作为存储次序。
班级
一班
学生
王一
李红
丁杰
型 图2-17
值 班级—学生系
具有多种类型属记录的系称为“多属系” (multimember set)
账户
存款帐
提款帐 多属系
转账
系值:3个成员的并,而非“X”
网状模型的特点:
与层次模型不同,网状模型中,一个记录型可 以成为多个首记录型的属记录——突破层次的限制; 一个记录型不能既作为一个系的首记录又作为 同一个系的属记录。
虚拟记录 非层次关系表示问题

( 1) M : N
张三 李四
学生: 王一 课程:
人工智能
数据库
不允许一个记录有多个双亲,需要复制记录, 导致冗余。如下图:
学生 王一 张三 李四
课程
人工智能 人工智能 数据库 人工智能 数据库

实例

(2)一个记录是两个以上PCR的子女
班 运动队
学生
只能表示成下图,存在冗余。
计 算 901 王 张 911 931 吴 … … … 机 班 一 三 班 班 坚 系
硬 件 教 研 组
郑 洪 … 山 流
软 件 教 研 组

丁 伟
层次数据模型的约束 (1)除了根记录外,任何其它记录不能离开其 双亲记录而孤立存在; (2)任何记录,不管虚实,只允许有一个双亲 记录(保证层次数据模式及其实例是树形); (3)虚拟记录的指针必须指向一个实际存在的 记录,有虚拟记录指向的记录不得删除; (4)虚拟记录不得为根记录。
数据模型可分为两类:
1. 独立于计算机系统的数据模型,它完全不涉及信息 在计算机系统中的表示,只是用来描述某个特定组 织所关心的信息结构,这类模型称为 “概念数据模 型”。 概念模型用于建立信息世界的数据模型,强调 其语义表达能力,概念应该简单,清晰,易于用户理 解,它是现实世界的第一层抽象,是用户和数据库人 员之间进行交流的工具。最著名的是“实体联系模 型”。
学生
教师
层次数据模式
计算机系
901班 …
911班 …
921班 …
931班 …
硬件教研组 …
洪流
软件教研组 …
陈芝 丁伟
王一 张三 李四 赵立 钱英 孙玉 周新 吴坚 郑山
层次数据模式实例
在层次数据模式中,除根以外,所有的记 录型都应该有唯一的双亲,但可以有多个子女, 子女按从左到右的次序排序。

2.2 网状数据模型
用有向图(网络结构)表示实体及实体之间 联系的数据模型称为网状数据模型(network data model)。有向图中的结点是记录类型, 箭头表示从箭尾的记录类型到箭头的记录类型 间联系。
基本概念和结构
记录和数据项 数据项相当于字段,记录是数据项的有序结合。 系 系表示两个记录型间的1:N关系;对应“1”的 为首记录,对应“N”的为属记录。系是命名的, 有型值之分,例如:图2-17就是系的型和值。EMPຫໍສະໝຸດ 领导——引入联系记录
EMP
1:1 1:N
LINK
1:1表示一人担任一个领导岗位,系值见下一页图。
第2章 数据模型
本章学习要求: 1. 层次数据模型、网状数据模型 了解层次及网状数据模型的基本概念和结构。 2. 关系数据模型 掌握关系数据模型的基本概念以及关系代数操作。 了解层次、网状和关系模型之间的差别。 3. 对传统模型的评价 了解传统模型的不足之处。 4.E-R数据模型 掌握E-R模型的概念和表示。 5. 面向对象数据模型 了解面向对象数据模型的基本概念。
记录的型
计算机系 9 李西远 科技馆
记录的一个实例

双亲子女关系(Parent-Child Relationship, PCR)
反映两个记录型之间的一对多(1:N)关系 系 1 计算机系
N
班 901班 911班 921班 931班
PCR型
PCR实例

层次数据模式 层次数据模式由PCR构成

班 教研组

特点: 层次结构是树结构,树的结点是记录 类型,非根结点有且只有一个父结点。上一层记 录类型和下一层记录类型是1:N联系。(因此不能 表示M:N)
层次模型的优点: 记录之间的联系通过指针来实现,查询效率 较高(针对层次结构)。 层次模型的缺点: 1、只能表示1:N联系,虽然可以采用虚拟记录 描述非层次数据关系,但较复杂,用户不易掌握, 并且非层次结构的查询效率比较低; 2、由于层次顺序的严格和复杂,引起数据的查询 和更新很复杂,因此应用程序的编写也比较复杂; 3、模式描述语言较复杂,数据独立性差。
班 运动队
学生
学生

(3)多元关系
供应商 零件 工程项目
供应关系
可以用PCR表示为:
零件 供应商 工程项目
供应商
零件

供应商
工程项目
工程项目
零件
注意:书上图2-12不能表示三元关系,因为供 应关系与供应商,供应关系与工程项目这两个PCR 的一个双亲实例,其子女集合是并关系,而不是 迪卡尔积关系。
相关文档
最新文档