《数据库原理及新技术研究》:
一般来说,冗余结点法结构清晰,允许结点改变存储位置,但是占用存储空间大,有潜在的不一致性;虚拟结点法占用存储空间小,能够避免潜在的不一致问题,但是改变存储位置时可能会引起虚拟结点指针的改变。
在层次模型中,通过指针来实现记录之间的联系,查询效率较高。但是,由于层次数据模型中的从属结点有且仅有一个双亲结点,所以它只能描述1:M联系,且复杂的层次使得数据的查询和更新操作比较复杂。因此,需要使用其他的数据模型来描述实体间更复杂的联系。
层次数据模型的优缺点:
(1)优点
1)层次模型结构简单,层次分明,便于在计算机内实现。
2)在层次数据结构中,从根结点到树中任一结点均存在一条唯 一的层次路径,为有效地进行数据操纵提供了条件。
3)由于层次结构规定除根结点以外所有结点有且仅有一个父亲,故实体集之间的联系可用父结点唯 一地表示,并且层次模型中总是从父记录指向子记录,因此记录型之间的联系名可省略。由于实体集间的联系固定,因此层次模型DBMS对层次结构的数据有较高的处理效率。
4)层次数据模型提供了良好的完整性支持。
(2)缺点
1)层次数据模型缺乏直接表达现实世界中非层次关系实体集间的复杂联系,如多对多(M:N)的联系只能通过引入冗余数据或引入虚拟记录的方法来解决。
2)对插入或删除操作有较多的限制。
3)查询子结点必须通过父结点。
2.网状模型
在现实世界中事物之间的联系更多的是非层次关系,用层次模型表示非树形结构很不直接的,网状数据模型(简称网状模型)则可以克服这一缺点。
网状模型的典型代表是DBTG系统,亦称CODASYL系统,这是20世纪70年代数据系统语言研究会(Conference On Data System Language,CODASYL)下属的数据库任务组(Data Base Task Group,DBTG)提出的一个系统方案。DBTG系统虽然不是实际的软件系统,但是它提出的基本概念、方法和技术具有普遍意义。它对于网状数据库系统的研制和发展产生了重大的影响。
……
展开