从概念上讲,数据模型是对现实世界数据特征的一种抽象。也就是说数据模型是用来描述数据、组织数据和对数据进行操作的一种模型。
数据模型可以分为两个不同的层次,第一类为概念模型,第二类为逻辑模型和物理模。第一类的概念模型一般是人脑进行构思,针对要描述的数据特征进行构思的,主要用于数据库的设计。而第二类逻辑模型是指包括层次模型、网状模型、关系模型、面向对象模型和面向对象关系模型的模型。本篇主要是针对于第二类逻辑模型进行讲解。
数据库常用的逻辑模型主要包括五类。分别为层次模型、网状模型、关系模型、面向对象模型、对象关系模型。其中,层次模型和网状模型统称为非关系模型。
一、层次模型
层次模型用树类结构变现各类实体及实体间的联系。
同时层次模型的拥有以下特点,这两个特点同时也是构成层次模型的条件:
(1)有且只有一个结点没有双亲结点,这个结点称之为根结点;
(2)根以外的结点有且只有一个双亲结点;
显然,层次模型变现了一对多的模型形式,对于多对多的情况,层次模型需要用冗余结点法进行表示。
层次模型的优缺点分别为:
优点:
1.层次模型的数据结构简单清晰;
2.层次数据库的查询效率高;
3.层次模型提供了很好的完整性支持;
缺点:
1.现实之中很多联系是非线性的,例如结点之间的多对多联系;
2.一个结点具有多个双亲即多对多的模型时,层次模型表示方式太过于笨拙,只能通过冗余结点的方法或者是不自然的数据结构(引入虚拟结点)的方式来解决。并且由 于在进行删除操作时,删除一个结点就要删除他所有的子女结点,导致了他对于删除操作有很多的限制,所以相应的应用程序编写比较复杂。
3.查询子女必须通过双亲结点;
4.由于结构严密,所以层次命令趋于程序化。
二、网状模型
在数据库中,将满足以下两个条件的基本层次联系集合称之为网状模型:
(1)允许一个以上的结点无双亲;
(2)一个结点可以有多于一个的双亲;
网状模型的优缺点:
优点;
1.可以更好的表示现实世界,例如一个结点可以有多个双亲,结点之间可以有多种联系;
2.具有很好的性能,存储效率高;
缺点:
1.结构复杂,而且伴随应用环境的增大,数据库的结构会越来越复杂,不利于用户最终掌握;
2.网状形式的DDL、DML复杂,并且要嵌入某一种高级语言,用户不易使用。
三、关系模型
关系模式是目前最重要的一种数据模型。关系数据库采用关系模型为数据的组织方式。
关系模型与其他模型不同,他是建立在严格 的数学概念上的。关系模型中的操作是集合操作,操作对象和操作结果都是关系,即若干元组的集合,而不像非关系模型中的那样是单记录的操作模式,另一方面,关系模型中隐藏了存储路径,用户只需知道“干什么”而不需要知道“怎么干”就能轻松完成操作。
关系模型的优缺点如下:
优点:
1.建立在严格的数学概念上;
2.关系模型概念单一。无论是实体还是联系都是关系来表示,对于数据的更新结果也是关系(即表)。所以其数据结构简单、清晰、用户易懂;
3.关系模型的存取路径对于用户透明,所以更具有数据独立性、更好的安全性,也简化了程序员的工作量和数据库的开发建设工作;
当然,关系模型也有缺点,他的缺点是存取路径透明,查询效率往往不如非关系数据模型。