网状模型是一种比层次模型更具普遍性的结构。它去掉了层次模型的两个限制,允许多个结点没有双亲结点,允许结点有多个双亲结点;此外,它还允许两个结点之间有多种联系(复合联系)。因此,网状模型可以更直接地去描绘现实世界。而层次模型只是网状模型的一种特例。
网状模型的优点:
- 能够更为直接地描述现实世界,如一个结点可以有多个双亲,结点之间可以有多种联系。
- 具有良好的性能,存取效率较高。
网状模型的缺点:
- 结构比较复杂,而且随着应用环境的扩大,数据库的结构就变得越来越复杂,不利于最终用户掌握。
- 网状模型的DDL、DML复杂,并且要嵌入某一种高级语言(如COBOL、C)中,用户不易掌握,不易使用。
- 由于记录之间的联系是通过存取路径实现的,应用程序在访问数据时必须选择适当的存取路径,因此用户必须了解系统结构的细节,加重了编写应用程序的负担。
层次模型的优点:
- 层次模型的数据结构比较简单清晰。
- 层次数据库的查询效率高。
- 层次模型提供了良好的完整性支持。
参差模型的缺点:
- 现实世界中很多联系是非层次性的,如结点之间具有多对多联系,不适合参差模型。
- 如果一个结点具有多个双亲结点等,用层次模型会很笨拙。
- 查询子女结点必须通过双亲结点。
- 由于结构严密,层次命令趋于程序化。