层次模型是数据库系统较早使用的一种模型,它的数据结构是一棵“有向树”。根结点在最上端,层次较高,子结点在下,逐层排列。层次模型的特征是:有且仅有一个结点没有父结点,它就是根结点;其他结点有且仅有一个父结点。图所示为一个系教务管理层次数据模型,图(a)所示的是实体之间的联系,图(b)所示的是实体型之间的联系。
本文由 项目管理工具PingCode 小编整理
数据库的类型是根据数据模型来划分的,而任何一个DBMS也是根据数据模型有针对性地设计出来的,这就意味着必须把数据库组织成符合DBMS规定的数据模型。目前成熟地应用在数据库系统中的数据模型有:层次模型、网状模型和关系模型。它们之间的根本区别在于数据之间联系的表示方式不同(即记录型之间的联系方式不同)。层次模型以“树结构”表示数据之间的联系。网状模型是以“图结构”来表示数据之间的联系。关系模型是用“二维表”(或称为关系)来表示数据之间的联系的。
一、层次数据模型的基本数据结构
层次模型是数据库系统较早使用的一种模型,它的数据结构是一棵“有向树”。根结点在最上端,层次较高,子结点在下,逐层排列。层次模型的特征是:
- 有且仅有一个结点没有父结点,它就是根结点;
- 其他结点有且仅有一个父结点。图所示为一个系教务管理层次数据模型,图(a)所示的是实体之间的联系,图(b)所示的是实体型之间的联系。
最有影响的层次模型的DBS是20世纪60年代末,IBM公司推出的IMS层次模型数据库系统。
数据完整性约束
其主要四个功能:增删查改;要满足完整性约束条件;
增加(插入):满足必须有双亲节点,即如果加入教师,就必须分配到学院中;
删除:如果是字节点,不影响,直接删除字节点,如果是双亲节点,则整个字节点被删除;如果删除整个教研室则教研室的老师不存在这个体系;
查找:根据树状结构自上而下查找;
修改:更新相应的关系的信息。
其优缺点:
优点:
比较简单,容易使用;
结构清晰,现实中公司、家族等都存在类似结构;
良好的完整性支持;
查询效率高,模型层次是有向边,常记录存取路径。
缺点:
有很多不是单向关系,一对多,多对一,只能通过引进冗余数据或建非自然的数据组织如创建虚拟节点的方法来解决,易产生不一致性;
插入删除限制太多
查找字节点必须通过双亲;
树结点中任何记录的属性是不可再分的简单数据类型;
还有一些市场具象的层次模型: