首页 理论教育信息系统与数据库技术:数据模型及其应用

信息系统与数据库技术:数据模型及其应用

【摘要】:图1-13层次模型层次数据模型只能直接表示一对多联系,也就是说层次数据库不支持多对多联系。3)关系模型关系模型是目前应用最广泛,也是最重要的一种数据模型。关系数据库是采用关系模型作为数据的组织形式。关系数据模型这一概念是1970年在E.F.Codd发表的题为《大型共享数据库数据的关系模型》的论文中首次提出的,他开创了数据库关系方法和关系数据理论的研究,进而创建了关系数据库系统。面向对象数据模型不是

1)层次模型

层次模型是数据库系统中最早出现的数据模型。层次数据库系统采用层次模型作为数据的组织方式。层次数据库系统的典型代表是IBM公司的IMS(Information Management System)数据库管理系统,这是1986年IBM公司推出的第一个大型的商用数据库管理系统。

层次模型用树形结构来表示各类实体以及实体间的联系,以实体作为结点,树是由结点和连线组成的。每个结点表示一个记录类型,记录(类型)之间的联系用结点之间的连线(有向边)表示。通常把表示1的结点放在上面,称为父结点;把表示多的结点放在下面,称为子结点。

在数据库中定义满足两个条件的数据模型为层次模型:第一,有且只有一个结点没有父结点,这个结点称为根结点;第二,根结点以外的其他结点有且只有一个父结点。

由此可见,层次模型描述的是1∶n实体联系,即一个父结点可以有一个或多个子结点。如图1-13所示是一个层次模型。

在层次模型中,同一个父结点的子结点称为兄弟结点(twin或sibling),没有子结点的结点称为叶结点。每个记录类型可包含若干个字段。记录类型描述实体,字段描述实体的属性。各个记录类型及其字段都必须命名,并且同一记录类型中各个字段不能同名。

图1-13 层次模型

层次数据模型只能直接表示一对多(包括一对一)联系,也就是说层次数据库不支持多对多联系。如果要想用层次模型表示多对多联系,就必须将其分解成几个一对多联系。分解方法有两种:冗余节点法和虚拟节点法。因此,层次数据模型可以看成是由若干个层次模型构成的集合。层次模型的数据操作主要有查询、插入、删除和更新。进行插入、删除、更新操作时,要满足层次模型的完整性约束条件。

2)网状模型

网状模型中每一个结点表示一个记录类型(实体),每个记录类型可包含若干个字段(实体的属性),结点间的连线表示记录类型(实体)之间一对多的父子联系。与层次模型不同,网状模型中任意结点间都可以有联系。

在数据库中,把满足以下两个条件的数据模型称为网状模型:第一,允许一个以上的结点无父结点;第二,一个结点可以有多于一个的父结点。由此可见,网状模型可以描述实体多对多的联系。如图1-14所示是一个网状模型。

网状模型是一种比层次模型更具有普遍性的结构,它去掉了层次的两个限制:允许多个结点没有父结点,允许结点有多个父结点;此外它允许两个结点之间有多种联系(称为复合联系)。因此网状模型可以更直接地去描述现实世界,而层次模型实际上是网状模型的一个特例。

图1-14 网状模型

网状模型的数据操作主要有查询、插入、删除和更新。进行插入、删除、更新操作时,要满足网状模型的完整性约束条件。

网状数据模型的存储结构中的关键是如何实现记录之间的联系。常用的方法是链接法,包括单向链接、双向链接、环状链接等,此外还有指引阵列法、二元制阵列法、索引法等,依具体系统的不同而不同。

网状数据模型的优点是能够更直接地描述现实世界,如多对多的联系,其存取效率较高,且性能较好。网状数据模型的缺点是结构比较复杂,而且随着应用环境的扩大,数据库的结构也变得更复杂,不利于最终用户掌握。

3)关系模型

关系模型是目前应用最广泛,也是最重要的一种数据模型。关系数据库是采用关系模型作为数据的组织形式。关系数据模型这一概念是1970年在E.F.Codd发表的题为《大型共享数据库数据的关系模型》的论文中首次提出的,他开创了数据库关系方法和关系数据理论的研究,进而创建了关系数据库系统。DBMS提供了结构化查询语言(Structured Query Language,SQL),这是在关系数据库中定义和操纵数据的标准语言。而SQL大大增加了数据库查询功能,是关系数据库系统(RDBS)普遍应用的直接原因。

关系模型中基本的数据结构是二维表。每个实体可以看成一个二维表,它存放实体本身的数据,实体间的联系也用二维表来表达。在关系模型中,每个二维表称为一个关系,并且有一个名字,称为关系名。

关系模型的常用术语如下:

关系:即通常所说的一张二维表。如表1-1所示即学生关系。

表1-1 关系模型

属性:二维表中的一列即为一个属性,给每一个属性起一个名称即属性名。如表1-1中的5列对应5个属性:学号、姓名、性别、院系、籍贯。

关系模式:对应一张二维表的表头。关系模式是对一类实体特征的结构性描述,一般表述为:关系名(属性1,属性2,…,属性n)。如表1-1所示的关系模式可描述为:学生(学号,姓名,性别,院系,籍贯)。

元组:二维表中除表头以外的一行非空行即为一个元组。如表1-1中的一行(12100101,李勇,男,计算机科学,江苏)就是一个元组。

候选键:二维表中的一个或一组属性的集合,它可以唯一确定一个元组。一个关系可以有若干个候选键,通常选择其中一个作为主键。如表1-1所示的学生表中,学号就是候选键,根据学号可以唯一确定一个学生。

域:属性的取值范围,如性别的域是(男,女)。

属性值:元组中一个属性所取的具体值。如元组(12100101,李勇,男,计算机科学,江苏)中的“12100101”和“李勇”等都是属性值。

关系模型的数据操作主要有查询、插入、删除和更新。进行插入、删除、更新操作时,要满足关系模型的完整性约束条件。关系模型中,实体及实体之间的联系都是靠二维表来表示。在数据库的物理组织中,二维表以文件形式存储。

关系数据模型的主要优点:具有严格的数据理论基础;概念单一,不管是实体本身还是实体之间的联系都是用关系(表)来表示,这些关系必须是规划的,使得数据结构变得非常清晰、简单;在用户的眼中,无论是原始数据还是结果都是二维表,不用考虑数据的存储路径。因此。提高了数据的独立性、安全性,同时也提高了开发效率。

4)面向对象数据模型

面向对象数据模型是面向对象的数据库系统的模型基础,是一种可扩充的数据模型。面向对象数据模型提出于20世纪70年代末80年代初,它吸收了语义数据模型和知识表示模型的一些基本概念,同时又借鉴了面向对象程序设计语言和抽象数据类型的一些思想,能够适应一些新应用领域中模拟复杂对象、模拟对象复杂行为的需求。面向对象数据模型不是一开始就有明确的定义,而是在发展中逐步形成的。直到1991年,美国国家标准学会的一个面向对象数据库工作组才提出第一个有关面向对象数据库标准的报告。它包括以下几个核心概念。

(1)对象标识

现实世界中的任何实体都被统一地用对象表示,每一个对象都有唯一的标识,称为对象标识,如商品的唯一的条形码。对象标识与对象的物理存储位置无关,也与数据的描述方式和值无关。

(2)封装

每一个对象是其状态和行为的封装。面向对象技术把数据和行为封装在一起,使得数据应用更灵活。从对象外部看,对象的状态和行为是不可见的,只能通过显式定义的消息传递来存取。

(3)类

所有具有相同属性和方法集的对象抽象出类。类中的每一个对象称为类的实例。所有的类组成一个有根的有向非环图,称为类层次。一个类中的所有对象具有一个共同的定义,尽管它们对变量所赋的值不同。面向对象数据模型中类的概念相当于E-R模型中实体集的概念。

(4)继承

一个类可以继承类层次中其直接或间接祖先的所有属性和方法。继承性可以用超类和子类的层次联系实现。一个子类可以继承某一超类的结构和特性,称为单继承。一个子类可以继承多个超类的结构和特性,称为多继承。继承是数据间的泛化/细化联系。

(5)消息

由于对象是封装的,对象与外部的通信一般只能通过消息传递来实现,即消息从外部传送给对象,存取和调用对象中的属性和方法,在内部执行所要求的操作,操作的结果仍以消息的形式返回。

课后习题

一、选择题

1.数据库中存储的是( )。

A.数据

B.数据模型

C.数据以及数据之间的联系 

D.信息

2.数据管理数据处理之间的关系是( )。

A.两者是一回事 

B.两者之间无关

C.数据管理是数据处理的基本环节 

D.数据处理时数据管理的基本环节

3.在数据管理技术的发展过程中,经历了人工管理阶段、文件系统阶段和数据库系统阶段。在这几个阶段中,数据独立性最高的阶段是( )。

A.数据库系统 (www.chuimin.cn)

B.文件系统

C.人工管理 

D.数据项管理

4.DBMS是( )。

A.数据库

B.数据库系统

C.数据库应用软件 

D.数据库管理系统

5.以下所列数据库系统组成中,正确的是( )。

A.计算机、文件、文件管理系统、程序

B.计算机、文件、程序设计语言、程序

C.计算机、文件、报表处理程序、网络通信程序

D.支持数据库系统的计算机软硬件环境、数据库文件、数据库管理系统、数据库应用程序和数据库管理员。

6.下述不是数据库管理员的职责的是( )。

A.完整性约束说明 

B.定义数据库模式

C.数据库安全

D.数据库管理系统设计

7.提供数据库定义、数据操作、数据控制和数据库维护功能的软件称为( )。

A.OS  

B.DS  

C.DBMS  

D.DBS

8.数据库三级模式体系结构的划分,有利于保持数据库的( )。

A.数据独立性 

B.数据安全性

C.结构规范化 

D.操作可行性

9.反映现实世界中实体及实体间联系的信息模型是( )。

A.关系模型 

B.层次模型

C.网状模型 

D.E-R模型

10.设在某个公司环境中,一个部门有多名职工,一名职工只能属于一个部门,则部门与职工之间的联系段是( )。

A.一对一 

B.一对多 

C.多对多 

D.不确定

二、简答题

1.数据与信息有什么区别联系?

2.什么是数据库、数据库系统和数据库管理系统?

3.计算机数据库管理技术发展经历了哪几个阶段?各阶段的特点是什么?

4.什么是外模式、模式和内模式?

5.试述数据库的两级映像功能。

6.试述数据库的三级模式结构是如何保证数据的独立性的?

7.简单说明数据库管理系统包含的功能。

8.什么是数据库模型?说明为什么将数据模型分成两类?其各起什么作用?

9.什么是概念模型?概念模型的表示方法是什么?举例说明。

10.解释概念模型中的常用术语:实体、属性、联系、属性值、关键字、实体型、实体集。

三、作图题

1.用E-R图表示出版社与作者和图书的概念模型。它们之间的联系如下:

(1)一个出版社可以出版多种图书,但同一本书仅为一个出版社出版。

(2)一本图书可以由多个作者共同编写,且一个作者可以编写不同的书。

2.一个工厂可以生产若干产品,每种产品由不同的零件组成,有的零件可以用在不同产品上。这些零件由不同的原材料制作,一种原材料可适用于多种零件的生产。工厂内有若干仓库存放零件和产品,但同一种零件或产品只能放在一个仓库内。请用E-R图画出该工厂产品、零件、材料和仓库的概念模型。