层次模型是数据库系统中最早出现的逻辑模型。
逻辑模型由数据结构、数据操作和数据的完整性约束条件组成。层次模型作为一种逻辑模型,也需要定义它的数据结构、数据操作和数据的完整性约束条件这三部分内容。
一、层次模型的数据结构
现实世界中,很多实体之间的联系本来就呈现出一种很自然的层次关系,比如说行政机构、家族关系等等。
层次数据模型用树型结构来组织数据,它是以记录类型为结点,以结点间联系为边的一棵有序树。
作为树形结构,在层次模型中需要满足两个条件:
第一,有且只有一个结点没有双亲结点(即根结点);
第二,除了根结点之外的其他结点,有且只有一个双亲结点。
层次模型适合表达组织机构、行政区域、家族关系等现实世界中的一对多的关系。
二、层次模型的数据操纵
主要的操作有查询、插入、删除和修改,这些操作在树型结构上很容易实现,但数据操作要满足模型的完整性约束条件。
三、层次模型的完整性约束条件
1.插入操作:如果没有相应的双亲结点不能插入子结点。
2.删除操作:如果删除双亲结点则相应的子女结点也被同时删除。
3.修改操作:应修改所有相应的记录,以保证数据的一致性。
四、层次模型的优缺点
1、优点:
层次模型本身比较简单;记录之间的联系通过指针实现,查询效率较高。
2、缺点:
适合表示记录间的一对多联系,而多对多的联系会出现数据冗余结构严格、复杂,因此编程复杂;对插入和删除操作限制比较多。