层次数据库的组织特点是用有向树结构表示实体之间的联系。树的每个结点表示一个记录类型,它是同类实体集合的(结构)定义。记录(类型)之间的联系用结点之间的连线(有向边)表示。上一层记录类型和下一层记录类型的联系是1:N联系。这就使得层次数据库只能处理一对多的实体联系。
  例如,图2-16是系、研究所和学生组成的层次数据模型。图2-16是该层次数据模型对应的数据库中的部分数据。

  图2-16 系的组织机构

图2-17 图2-16层次模型数据库中的一个值

  层次数据模型处理记录类型之间多对多的联系,或者一个记录类型有多个双亲的情况比较麻烦,必须转化为多个一对多的联系。
  例如,课程与学生之间多对多的联系,可以转换为课程与学生的1:N和学生与课程的1:N两个联系,这会产生许多的数据冗余,容易产生数据不一致性,如图2-18。

图2-18 课程与学生之间多对多联系的处理