首页 百科知识 数据库系统模型

数据库系统模型

时间:2022-10-09 百科知识 版权反馈
【摘要】:对应于树型图的数据模型为层次模型,对应于网状图的数据模型为网状模型。关系模型为非格式化模型。在关系模型中,使用单一的二维表结构表示实体与实体之间的关系。关系模型是发展比较晚的一种数据模型,其数据结构简单清晰,比较容易接受。关系模型应提供定义和检验这类完整性的机制,以便用统一的、系统的方法处理它们,而不要由应用程序承担这一功能。

1.4 数据库系统模型

模型是现实世界的模拟和抽象。数据模型(Data Model)也是一种模型,它是现实世界数据特征的抽象。数据模型是数据库系统中的一个关键概念,是实体与实体之间的一个轮廓视图,是数据库系统用以提供信息表示和操作手段的形式框架。

数据库中的数据是高度结构化的,即数据库不仅要考虑记录内的数据项间的联系,还要考虑记录之间的联系。

下面对数据库模型进行介绍:

在数据库的发展史上,最有影响的数据库模型通常有以下4种:

(1)层次模型(Hierarchical Model),用树型结构描述实体及其联系。

(2)网状模型(Network Model),用网状结构描述实体及其联系。

(3)关系模型(Relational Model),用二维表结构描述实体及其联系。

(4)数据独立存取模型,将数据表现为四级模型。即:实体集模型、串模型、编码模型、物理设备模型。

层次模型和网状模型又称为格式化模型,这类模型的数据结构可用图来描述。实体用记录型来表示,一个记录型对应于一个结点,记录型之间的联系对应于结点之间的连接弧。对应于树型图的数据模型为层次模型,对应于网状图的数据模型为网状模型。关系模型为非格式化模型。在关系模型中,使用单一的二维表结构表示实体与实体之间的关系。下面详细介绍三种常用模型。

1.4.1 层次模型

层次模型是以记录型为结点构成的树,是一个以记录型为结点的有根的定向树或者森林。

层次模型把客观问题抽象为一个严格的自上而下的层次关系。树的结构由结点和连线组成,结点用来表示实体,连线用来表示实体和实体之间的关系。客观世界存在的这种关系只能是1∶N关系,树的最高位置只有一个称为根结点。每一个结点的上方结点是该结点的父结点,该结点的下方是该结点的子结点。没有子结点的结点称为叶。

在数据库中定义满足下面两个条件的基本层次联系的集合为层次模型:

(1)有且仅有一个根结点,无父结点。

(2)其他结点有且仅有一个父结点。

img2

图1-2 层次模型示意图

1)层次模型的优点主要有:

(1)层次数据模型本身比较简单。

(2)对于实体间联系是固定的,而预定定义好的应用系统,采用层次模型来实现,其性能优于关系模型,不低于网状模型。

(3)层次数据模型提供了良好的完整性支持。

2)层次模型的缺点主要有:

(1)现实世界中很多联系是非层次性的,如多对多联系、一个结点具有多个双亲等,层次模型表示这类联系的方法很笨拙,只能通过引入冗余数据(易产生不一致性)或创建非自然的数据组织(引入虚拟结点)来解决。

(2)对插入和删除操作的限制比较多。

(3)查询子女结点必须通过双亲结点。

(4)由于结构严密,层次命令趋于程序化。

可见用层次模型对具有一对多的层次关系的部门描述非常自然、直观,容易理解。这是层次数据库的突出优点。

1.4.2 网状模型

网状模型能很好地反映客观世界中较为复杂的事物之间的联系,网状模型是以记录型为结点的网络。网状模型的基本特征是一个父结点允许有多个子结点,一个子结点也可以有多个父结点。

在数据库中,把满足以下两个条件的基本层次联系集合称为网状模型:

(1)有一个以上结点,无父结点。

(2)至少有一个结点有多于一个的父结点。

网状模型反映实体间复杂关系的表达能力比较强,也就是说,它既能表达实体间的纵向联系,又能表达实体间的横向联系。但是,网状模型在概念、结构和使用方面都比较复杂,对计算机的软件和硬件环境要求比较高。在如图1-3所示的网状模型示意图中,4种零件由3个不同的厂家供应,并且由这些零件组装成3种部件。

img3

图1-3 网状模型示意图

用M∶N关系可以直接描述网状模型。从逻辑上看,层次模型和网状模型都是使用连线表示实体和实体之间的关系,使用结点表示实体。从物理上看,层次模型和网状模型都是使用指针表示实体之间的关系。

1)网状数据模型的优点主要有:

(1)能够更为直接地描述现实世界,如一个结点可以有多个双亲。

(2)具有良好的性能,存取效率较高。

2)网状数据模型的缺点主要有:

(1)结构比较复杂,而且随着应用环境的扩大,数据库的机构就变得越来越复杂,不利于最终用户掌握。

(2)其DDL、DML语言复杂,用户不容易使用。

由于记录之间联系是通过存取路径实现的,应用程序在访问数据时必须选择适当的存取路径,因此,用户必须了解系统结构的细节,加重了编写应用程序的负担。

1.4.3 关系模型

关系模型是一张二维表格,它使用表格来描述实体之间的关系。在表格中,每一列称为属性,有时也称为字段或者域。每一行数据称为一条记录。关系模型既能反映属性之间的一对一关系,又能反映属性之间的一对多关系,还能反映属性之间的多对多关系。关系模型是发展比较晚的一种数据模型,其数据结构简单清晰,比较容易接受。

关系模型具有很多优点,例如数据结构简单、概念清楚、符合习惯;能够直接反映出实体之间的一对一、一对多和多对多的3种关系;格式唯一,全部是表格框架,通过公共属性可以建立表与表即实体与实体之间的联系;具有严格的理论基础。典型的关系模型如表1-1所示,该表反映了一个学校的学生记录。

表1-1 关系模型

img4

(1)表亦称为关系,由表名、列名及若干行组成。

(2)列也称为字段、域、属性,每列包含一类信息。

(3)行也称为元组,表中的每一行由若干字段组成,描述一个对象的信息,其中每个字段描述东西对象的某个性质。

(4)值域,是系统管理信息的基本类型。

(5)表名和列名的命名规则是:表名在整个数据库中必须是唯一的。列名在一个表中也是唯一的。但是在不同的表中可以重名。表名和列名应尽量表示一定的含义。

(6)键:又称关键字。是指表中某个属性组,它可以唯一确定一个行(元组)。按照定义也就是候选键,后面有候选键的定义。

(7)主键:又称主关键字,在表中选取一键作为主键。

(8)复合键:由多个列构成的键被称为连接键(concatenated key)、组合键(compound key),或者更常称为复合键(composite key)。

(9)分量:元组中的一个属性值。

(10)关系模式:对于关系的描述,一般表示为,关系名(属性1,属性2……属性no关系模型要求的最后一件事是两个基础的完整性原则。它们是实体完整性原则(Entity Integrity Rule)和参照完整性原则(Referential Integrity Rule)。

数据库设计者决定哪些列的组合能够最准确和有效地反映业务情形,这并不意味着其他数据未被存贮,只是那一组列被选作主键而已。剩余有可能被选为主键的列被叫做候选键(candidate key)或替代键(alternate key)。一个外键(foreign key)是一个表中的一列或一组列,它们在其他表中作为主键而存在。一个表中的外键被认为是对另外一个表中主键的引用。实体完整性原则简洁地表明主键不能全部或部分地空缺或为空,参照完整性原则简洁地表明一个外键必须为空或者与它所引用的主键当前存在的值相一致。

任何关系数据库系统都应该支持实体完整性原则和参照完整性原则。除此之外,不同的关系数据库系统根据其应用环境的不同,往往还需要一些特殊的约束条件,用户定义的完整性就是针对某一具体关系数据库的约束条件。它反映某一具体应用所涉及的数据必须满足的语义要求。例如某个属性必须取唯一值,某些属性值之间应满足一定的函数关系,某个属性的取值范围在0~100之间等,这称为用户定义的完整性原则(User-defined Integrity Rule)。关系模型应提供定义和检验这类完整性的机制,以便用统一的、系统的方法处理它们,而不要由应用程序承担这一功能。

关系数据模型具有下列优点:

(1)关系模型与非关系模型不同,它是建立在严格的数学概念基础上的。

(2)关系模型的概念单一。无论实体还是实体之间的联系都用关系表示。对数据的检索结果也是关系(即表)。所以其数据结构简单、清晰,用户易懂易用。

(3)关系模型的存取路径对用户透明,从而具有更高的数据独立性、更好的安全保密性,也简化了程序员的工作和数据库开发建立的工作。

所以,关系数据模型诞生以后发展迅速,深受用户的喜爱。

当然,关系数据模型也有缺点,其中最主要的缺点是:由于存取路径对用户透明,查询效率往往不如非关系数据模型。因此为了提高性能,必须对用户的查询请求进行优化,增加了开发数据库管理系统的难度。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈