1、 第三章 层次与网状数据库系统层次与网状数据库系统是最早出现的数据库系统,在七十年代和八十年代初非常流行,在当时的数据库系统产品中占主导地位。这两类数据库系统被称为第一代数据库系统,是数据库系统发展史上的一个重要里程碑。本章简单介绍这两类数据库系统。第一节 层次数据库系统 第二节 网状数据库系统C第一节 层次数据库系统层次数据库系统是基于层次数据模型的数据库系统。本节首先学习层次数据模型,学习这种数据模型的三个组成部分,即数据结构、数据操作和数据约束。然后以 IMS层次数据库系统为例,学习层次数据库系统的数据定义、数据操纵、存储结构等内容。1. 层次数据模型的数据结构 2. 层次数据模型的 数
2、据操作和完整性约束3. IMS概述 4. IMS数据定义5. IMS数据操纵6. IMS存储结构C11.层次数据模型的数据结构和 M:N联系层次数据模型的主要数据结构概念是记录和父子联系 。记录: 即一组数据域的集合。记录型:即结构相同的记录集合。父子联系型:即两记录型 P、 S的一对多联系,记为 (P,S),P称为父记录型, S称为子记录型,对 P的每个记录, S有多个记录与之对应。父子联系型实例:由父记录型一个记录及子记录型的所有相关记录组成。层次模式:即一组记录型及其父子联系型构成的一棵有向树。层次数据库模式:即一组层次模式的集合。层次数据库实例:层次数据库模式的所有记录型和父子联系型的
3、实例集合,可以用一组层次模式的森林来表示。C11接下页DEPARTMENTdnamedunmbermgrnamemgrstartdateEMPLOYEE name ssn bdate addressPROJECT plocationpname pnumber每个部门有多个雇员,每个雇员仅属一个部门每个部门负责多个项目,每个项目仅属一个部门(department,employee)父子联系实例Department 研究部 管理部employee 张平 ,王虎 李闯 ,李微 ,高锋(department,project)父子联系实例Department 研究部 管理部project 北京 ,天津
4、大连 ,沈阳 ,长春1:N1:N接下页C11a由于父子联系型的特点是父记录的唯一性,所以层次数据模型只能直接表示两个记录型之间的 1:N联系。但在应用领域中大量存在着 M:N(多对多 )联系,而 M:N联系并没有父记录的唯一性。如何用父子联系型描述 M:N联系?下边介绍两个方法: 子记录冗余法 : 虚拟父子联系法接下页C11b子重复project#1#2#3employeeemployeeemployeeemployee#1#2#3projectprojectproject描述 M:N联系的记录冗余法 :对子记录型的记录实例重复存储,用多个父子联系型表示两个记录型之间的 M:N联系(proje
5、ct,employee)形式父 形式父形式子形式子(employee,project)FGab ab父Employee的记录可重复地作为不同的 project记录的子记录出现project的记录可重复地作为不同的 employee记录的子记录出现父子父子父子父子父子父子C11c接下页Project A Project B Project C Project Dep1 ep2 ep3 ep4 ep5 ep6 ep7 ep8 ep9 ep10 ep11 ep12 Employee A Employee B Employee C Employee D Employee E Employee F虚拟
6、(指针 )记录型project employeeepointeremployee projectepointer父子父子虚 子 虚父 虚 子 虚父描述 M:N联系的虚拟父子联系法构造虚拟记录型,用父子联系型和虚拟父子联系型表示两个记录型之间的 M:N联系C11d2.层次数据库的数据操作和完整性约束C12层次数据模型的完整性约束1 非根记录须有父记录2 若有多个同型父 ,则子须重复存储3 若有多个异型父 ,则实父须唯一层次数据库系统可能还有它自己的完整性约束 ,用户可通过编程实现其它的完整性约束层次数据库的数据操作:树定位 :定位到某树首记录树间移动 :移位到别树首记录树内记录移动 : 按层次路
7、经在记录间移位层次记录移动 : 按层次顺序在记录间移位对记录的插入删除修改 :IMS概述 Information Management System IMS是最早的大型数据库管理系统, 其数据库模式是多个物理数据库记录型 (PDBR)的集合。每个 PDBR对应层次数据模型的一个层次模式,用一个 DBD定义。各个用户所需数据的逻辑结构称为外模式,每个外模式是一组逻辑数据库记录型(LDBR)的集合。 LDBR是应用程序所需的局部逻辑结构。用户按照外模式操纵数据。数据的三级抽象模式数据操纵语言 DL/1 宿主语言 :汇编 ,COBOL,PL/1层次数据 记录型 记录 数据域 键 层次模式 外模式模型
8、术语IMS术语 片段型 片段 域 顺序域 物理数据库 逻辑数据库记录型 记录型现代提法 IMSC13外模式概念模式内模式外模式数据库模式存储数据库是一组用 PCB定义的逻辑数据库记录型 LDBR是一组用 DBD定义的物理数据库记录型 PDBR存储在外存的物理数据库集合C14 IMS的数据定义IMS的数据定义包括数据库模式定义和外模式定义。IMS的数据库模式是物理数据库记录型的集合。每个物理数据库记录型对应于层次数据模型中的一个层次模式,由一个 DBD定义。物理数据库记录型到存储数据库的映射包含在这个物理数据库记录型的 DBD定义中。IMS的外模式是逻辑数据库记录型的集合。每个逻辑数据库记录型由一个 PCB定义。一个逻辑数据库记录型到IMS数据库模式的映射包含在这个逻辑数据库记录型的PCB定义中。用户是按照外模式操纵数据的。下边分别介绍数据库模式定义和外模式定义:1 数据库模式定义2 外模式定义