层次数据模型
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
计 算 901 王 张 911 931 吴 … … … 机 班 一 三 班 班 坚 系
硬 件 教 研 组
郑 洪 … 山 流
软 件 教 研 组
…
丁 伟
层次数据模型的约束 (1)除了根记录外,任何其它记录不能离开其 双亲记录而孤立存在; (2)任何记录,不管虚实,只允许有一个双亲 记录(保证层次数据模式及其实例是树形); (3)虚拟记录的指针必须指向一个实际存在的 记录,有虚拟记录指向的记录不得删除; (4)虚拟记录不得为根记录。
数据模型可分为两类:
1. 独立于计算机系统的数据模型,它完全不涉及信息 在计算机系统中的表示,只是用来描述某个特定组 织所关心的信息结构,这类模型称为 “概念数据模 型”。 概念模型用于建立信息世界的数据模型,强调 其语义表达能力,概念应该简单,清晰,易于用户理 解,它是现实世界的第一层抽象,是用户和数据库人 员之间进行交流的工具。最著名的是“实体联系模 型”。
2. 直接面向数据库的逻辑结构的数据模型,它是 现实世界的第二层抽象。这类模型涉及到计算机 系统和数据库管理系统,又称为“基本数据模型” 或“结构数据模型”。 例如, 层次、网状、关系、面向对象数据模 型”.这类模型有严格的形式化定义,以便在计算 机系统中实现。
2.1 层次数据模型 用树型(层次)结构表示实体类型及 实体间联系的数据模型称为层次数据模 型(hierarchical data model)。
Fra Baidu bibliotek 班级
一班
学生
王一
李红
丁杰
型 图2-17
值 班级—学生系
具有多种类型属记录的系称为“多属系” (multimember set)
账户
存款帐
提款帐 多属系
转账
系值:3个成员的并,而非“X”
网状模型的特点:
与层次模型不同,网状模型中,一个记录型可 以成为多个首记录型的属记录——突破层次的限制; 一个记录型不能既作为一个系的首记录又作为 同一个系的属记录。
2.2 网状数据模型
用有向图(网络结构)表示实体及实体之间 联系的数据模型称为网状数据模型(network data model)。有向图中的结点是记录类型, 箭头表示从箭尾的记录类型到箭头的记录类型 间联系。
基本概念和结构
记录和数据项 数据项相当于字段,记录是数据项的有序结合。 系 系表示两个记录型间的1:N关系;对应“1”的 为首记录,对应“N”的为属记录。系是命名的, 有型值之分,例如:图2-17就是系的型和值。
基本概念和结构
记录和字段 双亲子女关系 层次数据模式 虚拟记录 层次数据的线性表示
记录和字段
记录是用来描述某个事物或事物间关系的命名的 数据单位,也是存储的数据单位。一个记录包含若干 字段。 每个字段也是命名的,字段只能是简单数据类型 (整数、实数、字符串等)。
系名
系 系号 系主任名 地点
特点: 层次结构是树结构,树的结点是记录 类型,非根结点有且只有一个父结点。上一层记 录类型和下一层记录类型是1:N联系。(因此不能 表示M:N)
层次模型的优点: 记录之间的联系通过指针来实现,查询效率 较高(针对层次结构)。 层次模型的缺点: 1、只能表示1:N联系,虽然可以采用虚拟记录 描述非层次数据关系,但较复杂,用户不易掌握, 并且非层次结构的查询效率比较低; 2、由于层次顺序的严格和复杂,引起数据的查询 和更新很复杂,因此应用程序的编写也比较复杂; 3、模式描述语言较复杂,数据独立性差。
第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) M : N
张三 李四
学生: 王一 课程:
人工智能
数据库
不允许一个记录有多个双亲,需要复制记录, 导致冗余。如下图:
学生 王一 张三 李四
课程
人工智能 人工智能 数据库 人工智能 数据库
型
实例
(2)一个记录是两个以上PCR的子女
班 运动队
学生
只能表示成下图,存在冗余。
EMP
领导
——引入联系记录
EMP
1:1 1:N
LINK
1:1表示一人担任一个领导岗位,系值见下一页图。
班 运动队
学生
学生
(3)多元关系
供应商 零件 工程项目
供应关系
可以用PCR表示为:
零件 供应商 工程项目
供应商
零件
…
供应商
工程项目
工程项目
零件
注意:书上图2-12不能表示三元关系,因为供 应关系与供应商,供应关系与工程项目这两个PCR 的一个双亲实例,其子女集合是并关系,而不是 迪卡尔积关系。
零件
供应关系
供应商
工程项目
主要问题:数据冗余,为避免这一情况,只存 一份记录,其它引用该记录的地方用指针代替 ——这种用指针代替的记录称为虚拟记录。 用下标v表示,指针用虚线箭头表示。
课程 学生
(学生)v
(课程)v
班
运动队
学生
(学生)v
层次数据的线性表示 由于存储器是线性的,层次数据必须变换成线 性形式才能存储,层次数据模式的实例对应一棵层 次树(或森林),对层次树(或森林)按先序遍历 生成的序列称为层次序列(hierarchical sequence),规定以此作为存储次序。
学生
教师
层次数据模式
计算机系
901班 …
911班 …
921班 …
931班 …
硬件教研组 …
洪流
软件教研组 …
陈芝 丁伟
王一 张三 李四 赵立 钱英 孙玉 周新 吴坚 郑山
层次数据模式实例
在层次数据模式中,除根以外,所有的记 录型都应该有唯一的双亲,但可以有多个子女, 子女按从左到右的次序排序。
硬 件 教 研 组
郑 洪 … 山 流
软 件 教 研 组
…
丁 伟
层次数据模型的约束 (1)除了根记录外,任何其它记录不能离开其 双亲记录而孤立存在; (2)任何记录,不管虚实,只允许有一个双亲 记录(保证层次数据模式及其实例是树形); (3)虚拟记录的指针必须指向一个实际存在的 记录,有虚拟记录指向的记录不得删除; (4)虚拟记录不得为根记录。
数据模型可分为两类:
1. 独立于计算机系统的数据模型,它完全不涉及信息 在计算机系统中的表示,只是用来描述某个特定组 织所关心的信息结构,这类模型称为 “概念数据模 型”。 概念模型用于建立信息世界的数据模型,强调 其语义表达能力,概念应该简单,清晰,易于用户理 解,它是现实世界的第一层抽象,是用户和数据库人 员之间进行交流的工具。最著名的是“实体联系模 型”。
2. 直接面向数据库的逻辑结构的数据模型,它是 现实世界的第二层抽象。这类模型涉及到计算机 系统和数据库管理系统,又称为“基本数据模型” 或“结构数据模型”。 例如, 层次、网状、关系、面向对象数据模 型”.这类模型有严格的形式化定义,以便在计算 机系统中实现。
2.1 层次数据模型 用树型(层次)结构表示实体类型及 实体间联系的数据模型称为层次数据模 型(hierarchical data model)。
Fra Baidu bibliotek 班级
一班
学生
王一
李红
丁杰
型 图2-17
值 班级—学生系
具有多种类型属记录的系称为“多属系” (multimember set)
账户
存款帐
提款帐 多属系
转账
系值:3个成员的并,而非“X”
网状模型的特点:
与层次模型不同,网状模型中,一个记录型可 以成为多个首记录型的属记录——突破层次的限制; 一个记录型不能既作为一个系的首记录又作为 同一个系的属记录。
2.2 网状数据模型
用有向图(网络结构)表示实体及实体之间 联系的数据模型称为网状数据模型(network data model)。有向图中的结点是记录类型, 箭头表示从箭尾的记录类型到箭头的记录类型 间联系。
基本概念和结构
记录和数据项 数据项相当于字段,记录是数据项的有序结合。 系 系表示两个记录型间的1:N关系;对应“1”的 为首记录,对应“N”的为属记录。系是命名的, 有型值之分,例如:图2-17就是系的型和值。
基本概念和结构
记录和字段 双亲子女关系 层次数据模式 虚拟记录 层次数据的线性表示
记录和字段
记录是用来描述某个事物或事物间关系的命名的 数据单位,也是存储的数据单位。一个记录包含若干 字段。 每个字段也是命名的,字段只能是简单数据类型 (整数、实数、字符串等)。
系名
系 系号 系主任名 地点
特点: 层次结构是树结构,树的结点是记录 类型,非根结点有且只有一个父结点。上一层记 录类型和下一层记录类型是1:N联系。(因此不能 表示M:N)
层次模型的优点: 记录之间的联系通过指针来实现,查询效率 较高(针对层次结构)。 层次模型的缺点: 1、只能表示1:N联系,虽然可以采用虚拟记录 描述非层次数据关系,但较复杂,用户不易掌握, 并且非层次结构的查询效率比较低; 2、由于层次顺序的严格和复杂,引起数据的查询 和更新很复杂,因此应用程序的编写也比较复杂; 3、模式描述语言较复杂,数据独立性差。
第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) M : N
张三 李四
学生: 王一 课程:
人工智能
数据库
不允许一个记录有多个双亲,需要复制记录, 导致冗余。如下图:
学生 王一 张三 李四
课程
人工智能 人工智能 数据库 人工智能 数据库
型
实例
(2)一个记录是两个以上PCR的子女
班 运动队
学生
只能表示成下图,存在冗余。
EMP
领导
——引入联系记录
EMP
1:1 1:N
LINK
1:1表示一人担任一个领导岗位,系值见下一页图。
班 运动队
学生
学生
(3)多元关系
供应商 零件 工程项目
供应关系
可以用PCR表示为:
零件 供应商 工程项目
供应商
零件
…
供应商
工程项目
工程项目
零件
注意:书上图2-12不能表示三元关系,因为供 应关系与供应商,供应关系与工程项目这两个PCR 的一个双亲实例,其子女集合是并关系,而不是 迪卡尔积关系。
零件
供应关系
供应商
工程项目
主要问题:数据冗余,为避免这一情况,只存 一份记录,其它引用该记录的地方用指针代替 ——这种用指针代替的记录称为虚拟记录。 用下标v表示,指针用虚线箭头表示。
课程 学生
(学生)v
(课程)v
班
运动队
学生
(学生)v
层次数据的线性表示 由于存储器是线性的,层次数据必须变换成线 性形式才能存储,层次数据模式的实例对应一棵层 次树(或森林),对层次树(或森林)按先序遍历 生成的序列称为层次序列(hierarchical sequence),规定以此作为存储次序。
学生
教师
层次数据模式
计算机系
901班 …
911班 …
921班 …
931班 …
硬件教研组 …
洪流
软件教研组 …
陈芝 丁伟
王一 张三 李四 赵立 钱英 孙玉 周新 吴坚 郑山
层次数据模式实例
在层次数据模式中,除根以外,所有的记 录型都应该有唯一的双亲,但可以有多个子女, 子女按从左到右的次序排序。