数据库系统1-2:层次模型

文章作者 100test 发表时间 2007:03:10 18:34:11
来源 100Test.Com百考试题网


  在现实世界中,许多实体集之间的联系就是一个自然的层次关系。例如,行政机构、家族关系等都是层次关系。图1.16就是学校中系的层次模型。


  用树形结构表示实体之间联系的模型叫层次模型。层次模型是最早用于商品数据库管理系统的数据模型。其典型代表是于1969问世、由IBM公司开发的数据库管理系统IMS(Information Management System)。

  1.2.3.1 层次模型的结构
  层次模型的表示方法是:树的结点表示实体集(记录的型),结点之间的连线表示相连两实体集之间的关系,这种关系只能是“1一M”的。通常把表示1的实体集放在上方,称为父结点,表示M的实体集放在下方,称为子结点。层次模型的结构特点是:
(1) 有且仅有一个根结点。
(2) 根结点以外的其它结点有且仅有一个父结点。
  因而层次模型只能表示“1一M”关系,而不能直接表示“M—M”关系。
  在层次模型中,一个结点称为一个记录型,用来描述实体集。每个记录型可以有一个或多个记录值,上层一个记录值对应下层一个或多个记录值,而下层每个记录值只能对应上层一个记录值。例如,系记录型有:计算机系、电信系等记录值。而计算机系的下层记录值有软件、结构、应用等研究室和数据结构、操作系统、数据库等课程,软件研究室下层又有员工和项目记录值,见图1.17示例。


  关于层次模型中实体集之间多对多的联系的处理,解决的方法是引入冗余结点。例如,学生和课程之间的多对多的联系,引入学生和课程的冗余结点(如图1.18中虚线所画),转换为两棵树:一棵树的根是学生,子结点是课程,它表现了一个学生可以选多门课程;一棵树的根是课程,子结点是学生,它反映了一门课程可以被多个学生选。

  至于冗余结点可以用虚拟结点实现:在冗余结点处仅存放一个指针,指向实际结点,如图1.16中虚线箭头示意。

  1.2.3.2层次模型的数据操作
  层次模型的数据操作最大特点是必须从根结点入手,按层次顺序访问。首先介绍层次顺序中的两个概念。
  (1) 记录类型码 对层次模型中的记录型树,按照从上到下,从左到右的顺序给每个记录类一个编号,称为记录类型码,以表示记录类在树中的位置。
  (2) 顺序域 为了确定同一记录类下的各个记录值的位置,指定记录中某字段的值作为记录值的排序的依据,该字段称为顺序域。
  (3) 层次顺序和路径  有了记录类型码和顺序域,就可以对所有的记录值进行排序,首先按类型码排序,同一类型码下的各个记录值再按顺序域排序。这种从上到下、从左到右的排列顺序就是层次顺序。从根结点开始到目标结点之间所有直系祖先的类型码和顺序域组成该结点的层次路径。如图1.19所示,D(Department)、S(Section)、C(Course)、F(Faculty)和P(Project)分别表示系、研究室、课程、员工和项目。D02的层次顺序: D02S01F01F02S02F03F04S03F05F06F07023056C01C02C03

  例如,IMS中的直接检索图1.17中员工张笑记录值的命令是:
  GU DEPT(DEPT#=’D02’)
  SECTION(SEC#=’S03’)
  FACULTY(FAC#=’F06’)
  层次模型中的更新操作之前,一般都先执行一个查询,再执行相应操作。所以层次模型数据操作的特点是通过层次路径定位记录,一次仅能访问一条记录。

  1.2.3.4 层次模型的物理存储
  层次模型的物理存储有两种实现方法:
  (1) 顺序法
  按照层次顺序把所有的记录邻接存放,即通过物理空间的位置相邻来实现层次顺序。
  (2) 指针法
  各个记录存放时不是按层次顺序,而是用指针按层次顺序把它们链接起来。

  1.2.3.5 层次模型的约束
  层次模型的限制是:
  (1) 层次模型的树是有序树(层次顺序)。对任一结点的所有子树都规定了先后次序,这一限制隐含了对数据库存取路径的控制。
  (2) 树中父子结点之间只存在一种联系,因此,对树中的任一结点,只有一条自根结点到达它的路径。
  (3) 不能直接表示多对多的联系。
  (4) 树结点中任何记录的属性只能是不可再分的简单数据类型。



相关文章


四级样题参考答案
数据库系统1-2:层次模型
计算机等级考试:四级样题
数据库系统1-2:实体-联系(E-R)模型
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛