在格式化模型中,实体用记录表示,实体的属性对应记录的数据项(或字段)。
层次模型所满足的两个条件:
- 有且只有一个结点没有双亲结点,这个结点称为根结点。
- 根节点以外的其他结点有且只有一个双亲结点
在层次模型中,每个结点表示一个记录类型,每个记录类型可包含若干个字段,记录类型描述的是实体,字段描述的是实体的属性。
层次数据模型的存储结构
- 邻接法:
按照层次树前序穿越的顺序把所有记录值依次邻接存放,即通过物理空间的位置相邻来体现层次顺序。
- 链接法:
用指针来反映数据之间的层次联系。
层次模型的优点:
- 层次模型的数据结构比较简单清晰
- 层次数据库的查询效率高(因为层次模型中记录之间的联系用有向边表示,这种联系在DBMS中用指针来实现,当要存取某个结点的记录值,DBMS就沿着这一条路径很快找到该记录值,所以层次数据库的性能优于关系系数据库,不低于网状数据库)
- 层次数据模型提供了良好的完整性支持
层次模型的缺点:
- 现实世界中很多联系是非层次性的,如结点之间具有多对多联系
- 一个结点具有多个双亲等,对插入删除操作的限制比较多,因此应用程序的编写比较复杂
- 查询子女结点必须通过双亲结点
- 由于结构严密,层次命令趋于程序化
层次模型对具有一对多的层次联系的部门描述非常自然、直观,容易理解。这是层次数据库的突出优点。