层次模型采用树型结构表示数据与数据间的联系。在层次模型中, 每一个节点表示记录类型(实体), 记录之间的联系用节点之间的连线表示,并且根节点以外的其他节点有且仅有一个双亲节点。层次模型不能直接表示多对多联系,若要表示多对多的联系,若要表示多对多的联系,可采用如下两种方法:
- 冗余节点法——两个实体的多对多的 联系转换为两个一对多的联系,该方法的优点是节点清晰, 允许节点改变 存储位置,缺点是需要额外的 存储空间,有潜在的数据不一致性。
- 虚拟节点分解法——将冗余节点转换为虚拟节点,虚拟节点是一个指引元,指向所代替的节点,该方法的优点是减少对存储空间的浪费,避免数据不一致性, 缺点是改变存储 位置可能所引起虚拟节点中指针的修改。