|
知识路径: > 数据库基础知识 > 数据库系统基本概念 > 数据模型 >
|
相关知识点:3个
|
|
|
|
目前,数据库领域中最常用的数据模型有四种:层次模型、网状模型、关系模型、面向对象模型。其中层次模型和网状模型统称为非关系模型。
|
|
|
|
层次模型是数据库系统中最早出现的数据模型,用树型结构来表示各类实体以及实体间的联系。在数据库中定义满足下面两个条件的基本层次联系的集合为层次模型:①有且只有一个结点没有双亲结点,这个结点成为根结点;②根以外的其他结点有且只有一个双亲结点。层次数据库系统只能直接处理一对多(包括一对一)的实体联系,但在现实世界中很多联系是非层次的(例如一个结点具有多个双亲时),层次模型在处理多对多联系时,必须首先将其分解成一对多联系,分解方法有冗余结点法和虚拟结点法,但这两种处理方法较笨拙。
|
|
|
|
在数据库中,把满足以下两个条件的基本层次联系集合成为网状模型:①允许一个以上的结点无双亲;②一个结点可以有多于一个的双亲。网状模型比层次模型更具普遍性,层次模型是网状模型的一个特例。可以看出,与层次模型不同,网状模型中子女结点与双亲结点的联系可以不唯一,因此,要为每个联系命名,并指出与该联系有关的双亲记录和子女记录。
|
|
|
此类模型的结构复杂,当应用环境扩大时,数据库将变得复杂,最终用户难以掌握。记录之间的联系通过存取路径实现,用户必须了解系统结构的细节,才能在应用程序的编写中选择到适当的路径,加重了编程的负担。
|
|
|
|
关系模型是目前最重要的一种数据模型,关系数据库系统(例如著名的DB2、Oracle、Ingres、 Sybase、 Informix等)采用关系模型为数据的组织方式。关系模型与层次模型和网状模型不同,它建立在严格的数学概念的基础之上,应用数学方法来处理数据库中的数据。在用户观点下,关系模型中数据的逻辑结构是一张二维表,由行和列组成。关系模型概念单一,无论实体还是实体间的联系都是用关系表示,数据结构简单清晰,用户易懂易用。存取路径对用户透明,数据独立性高、安全保密性好,且简化了数据库开发工作。如下图所示是关系模型数据结构的示例。
|
|
|
|
|
|
|
在关系模型中,实体间的联系都是用关系来表示。上图所示的学生、课程、选课的多对多联系在关系模型中可以表示为:
|
|
|
|
|
|