2.2.2层次模型
层次模型是数据库系统中最早出现的数据模型,一般用树形结构来表示各类实体以及实体间的联系。满足下面两个条件的基本层次联系的集合为层次模型:
有且只有一个节点没有双亲节点,这个节点称为根节点。
根以外的其他节点有且只有一个双亲节点。
层次模型具有数据结构简单清晰、高效的查询性能,甚至超过了网状模型且不逊于关系模型,并且提供了良好的数据完整性支持。然而,它也存在一些缺点,如节点之间多对多联系表示不自然,插入和删除操作受到限制,导致应用程序编写较为复杂;查询子女节点必须通过双亲节点进行,且层次命令往往趋向于程序化。层次数据库系统的典型代表是IBM公司的IMS(Information Management System)数据库管理系统。
2.2.3网状模型
网状模型是满足下面两个条件的基本层次联系的集合:
允许一个以上的节点无双亲;
一个节点可以有多于一个的双亲。
网状模型的优点在于一个节点可以有多个双亲,同时具备良好的性能和高效的存取能力,并且能够更为直接的描述现实世界。然而,网状模型结构相对复杂,随着应用环境的扩展,数据库的结构变得越来越复杂,这使得最终用户难以掌握。并且DDL(数据定义语言)和DML(数据操纵语言)的复杂性较高,用户不易使用。此外,网状模型的记录之间的联系是通过存取路径实现的,这要求用户必须了解系统结构的细节,增加了使用的复杂性和学习成本。
2.2.4关系模型
1970年美国IBM公司San Jose研究室的研究员E.F.Codd首次提出了数据库系统的关系模型,计算机厂商新推出的数据库管理系统几乎都支持关系模型,在用户观点下,关系模型中数据的逻辑结构是一张二维表,它由行和列组成。
关系模型的优点在于建立在严格的数学概念基础上,概念单一,能够用关系清晰地表示实体和各种联系,检索结果也是关系形式。此外,关系模型的存取路径对用户是透明的,具有较高的数据独立性和更好的安全保密性,简化了程序员和数据库开发人员的工作。然而,关系模型也虽然存取路径对用户透明,但查询效率往往不如格式化数据模型。为了提高性能,必须对用户的查询请求进行优化,这增加了开发数据库管理系统的复杂度和难度。