第6章数据库技术基础_第1页
第6章数据库技术基础_第2页
第6章数据库技术基础_第3页
第6章数据库技术基础_第4页
第6章数据库技术基础_第5页
已阅读5页,还剩83页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第第6 6章章 数据库技术基础数据库技术基础第第6章章 数据库技术基础数据库技术基础6.1 数据库基本概念数据库基本概念 6.2 数据模型数据模型 6.3 数据库系统的体系结构数据库系统的体系结构 习题习题 第第6 6章章 数据库技术基础数据库技术基础6.1 数据库基本概念数据库基本概念 6.1.1 信息、数据和数据处理 人类的社会活动和生产活动,离不开对信息的收集、保存、利用和处理,特别是当今生产力突飞猛进,新技术层出不穷,信息量迅速剧增,人类社会进入了信息化的阶段。那么什么是信息呢?信息是人们用来对客观世界直接进行描述、可在人们之间进行传递的一些知识。信息需要被加工和处理、需要被交流和使用

2、。 第第6 6章章 数据库技术基础数据库技术基础 随着计算机技术的迅速发展,计算机具有的高速处理能力和存储容量巨大的特点,使得人们有可能对大量的信息进行保存和加工处理。为了记载信息,人们使用各种各样的物理符号和它们的组合来表示信息,这些符号及其组合就是数据。数据是信息的具体表示形式,信息是数据的有意义的表现。由此可见,信息和数据有一定的区别,信息是观念性的,数据是物理性的。在有些场合信息和数据难以区分,信息本身就是数据化了的,数据本身是一种信息。因此在很多场合不对它们进行区分,信息处理与数据处理往往指同一个概念,计算机之间交换数据也可以说成是交换信息等等。第第6 6章章 数据库技术基础数据库技

3、术基础 有了数据就产生了数据处理的问题,人们收集到的各种数据需要经过加工处理。所谓数据处理包括对数据的收集、记载、分类、排序、存储和计算等工作。其目的是使有效的信息资源得到合理和充分地利用,从而促进社会生产力的发展。 数据处理经过了手工处理、机械处理、电子数据处理三个阶段。今天,用计算机进行数据处理方法的研究已成为计算机技术中的主要课题之一,数据库技术已成为社会信息化时代不可缺少的方法和工具。第第6 6章章 数据库技术基础数据库技术基础 6.1.2 数据管理技术的发展 随着计算机数据处理技术的发展,数据管理技术先后经历了三个发展阶段,即人工管理阶段、文件系统管理阶段和数据库系统管理阶段。 1人

4、工管理阶段 在20世纪50年代中期以前,计算机主要用于科学计算。当时的硬件状况是:外存只有纸带、卡片、磁带,没有磁盘等直接存取的存储设备;软件状况是:没有操作系统,没有管理数据的软件;数据处理方式是批处理。 第第6 6章章 数据库技术基础数据库技术基础图6-1 程序与数据的存放应用程序1数据集合1应用程序2数据集合2应用程序n数据集合n数据程序第第6 6章章 数据库技术基础数据库技术基础 对数据的管理是由程序员个人考虑和安排的,一个程序对应于一组数据,进行程序设计时,往往也要对数据的结构、存储方式、输入输出方式等进行设计。严格地说,这种管理只是一种技巧,这是数据自由管理的方式,因此,这一阶段又

5、称为自由管理阶段。其特点是:数据不能长期保存,数据与程序不独立,一组数据对应于一个程序,没有软件系统对数据进行管理,基本上没有文件的概念。程序与数据的存放形式如图6-1所示。第第6 6章章 数据库技术基础数据库技术基础 2文件系统管理阶段 20世纪50年代后期到60年代中期,计算机软硬件都得到了发展,计算机不仅用于科学计算,还大量用于管理。这时硬件方面已有了磁盘、磁鼓等直接存取的存储设备;软件方面,操作系统中已经有了专门的数据管理软件,一般称为文件系统;数据处理方式上不仅有了批处理,而且能够联机实时处理。该阶段的数据管理具有如下特点:第第6 6章章 数据库技术基础数据库技术基础 (1) 数据可

6、以长期保存。 (2) 由文件系统管理数据。文件系统把数据组织成相互独立的数据文件,利用“按文件名进行访问,按记录进行存取”的管理技术,可以对文件进行修改、插入和删除的操作。程序和数据之间由文件系统提供存取方法进行转换,使应用程序与数据之间有了一定的独立性,程序员可以不必过多地考虑物理细节,将精力集中于算法。 但是,文件系统仍存在以下缺点。第第6 6章章 数据库技术基础数据库技术基础 (1) 数据共享性差,冗余度大。在文件系统中,一个数据文件基本上对应于一个应用程序,即数据仍然是面向应用的。当不同的应用程序具有部分相同的数据时,也必须建立各自的文件,而不能共享相同的数据,因此数据的冗余度大,浪费

7、存储空间。同时,由于相同数据的重复存储、各自管理,容易造成数据的不一致性,给数据的修改和维护带来困难。第第6 6章章 数据库技术基础数据库技术基础图6-2 文件系统管理示意图 应用程序1文件1应用程序2文件2应用程序n文件n文件管理系统第第6 6章章 数据库技术基础数据库技术基础 (2) 数据独立性差。文件系统中的文件是为某一特定应用服务的,文件的逻辑结构对该应用程序来说是优化的。因此,要想对现有的数据再增加一些新的应用会很困难,系统不容易扩充。一旦数据的逻辑结构改变,必须修改应用程序;应用程序的改变,也将引起文件的数据结构的改变。因此数据与程序之间仍缺乏独立性。可见,文件系统仍然是一个不具有

8、弹性的无结构的数据集合,即文件之间是孤立的,不能反映现实世界事物之间的内在联系。在文件系统阶段,程序与数据之间的关系如图6-2所示。第第6 6章章 数据库技术基础数据库技术基础 3数据库系统管理阶段 20世纪60年代后期以来,计算机软硬件技术得到了飞速发展,同时,计算机用于管理的规模越来越大,应用越来越广泛,数据量急剧增加,多种应用、多种语言互相覆盖地共享数据集合的要求越来越强烈。为了解决多用户、多应用共享数据,使数据为尽可能多的应用服务,显然,文件系统已不能满足应用需求,于是数据库技术便应运而生。出现了统一管理数据的专门软件系统数据库管理系统(DBMS,DataBase Management

9、 System)。第第6 6章章 数据库技术基础数据库技术基础图6-3 数据库系统管理示意图应用程序1应用程序2应用程序nDBMS数据库第第6 6章章 数据库技术基础数据库技术基础 数据库系统管理数据比文件系统具有明显的优点,从文件系统到数据库系统,标志着数据管理技术的飞跃。在数据库系统中,应用程序与数据之间的关系可用图6-3来表示。 与文件系统管理阶段相比,数据库系统管理阶段具有以下的一些特点:第第6 6章章 数据库技术基础数据库技术基础 1) 数据结构化 数据结构化是数据库主要特征之一,是数据库系统与文件系统的根本区别。 在文件系统中,相互独立的文件的记录内部是有结构的,传统文件的最简单形

10、式是等长同格式的记录集合,但记录之间是没有联系的,并且文件是面向某一应用的。而实际系统往往涉及许多应用,在数据库系统中不仅要考虑某个应用的数据结构,还要考虑整个组织的数据结构。这就要求在描述数据时不仅要描述数据本身,还要描述数据之间的联系。 第第6 6章章 数据库技术基础数据库技术基础 在数据库系统中,数据不再针对某一应用,而是面向全组织,具有整体的结构化。不仅数据是结构化的,而且存取数据的方式也很灵活,可以存取数据库中的某一个数据项、一组数据项、一个记录或一组记录。而在文件系统中,数据的最小存取单位是记录,粒度不能细到数据项。第第6 6章章 数据库技术基础数据库技术基础 2) 数据的共享性高

11、、冗余度低、易扩充 数据库系统是从整体角度看待和描述数据,数据不再面向某个应用而是面向整个系统,因此数据可以被多个用户、多个应用共享使用。数据共享可以大大减少数据冗余,节约存储空间。数据共享还能够避免数据之间的不相容性与不一致性。 数据库中的数据是面向整个系统,是有结构的数据,不仅可以被多个应用共享使用,而且容易增加新的应用,可以适应各种应用需求。当应用需求改变或增加时,只要重新选取整体数据的不同子集,便可以满足新的要求,这就使得数据库系统具有弹性大,易扩充的特点。第第6 6章章 数据库技术基础数据库技术基础 3) 数据独立性高 数据独立性是数据库领域中一个常用术语,包括数据的物理独立性和数据

12、的逻辑独立性。 数据的物理独立性是指用户的应用程序与存储在磁盘上的数据库中数据是相互独立的。也就是说,数据在磁盘上的数据库中怎样存储是由DBMS管理的,用户程序不需要了解,应用程序要处理的只是数据的逻辑结构。这样,当数据的物理存储改变了,应用程序不用改变。第第6 6章章 数据库技术基础数据库技术基础 数据的逻辑独立性是指用户的应用程序与数据库的逻辑结构是相互独立的,也就是说,数据的逻辑结构改变了,用户程序也可以不变。 数据与程序的独立,把数据的定义从程序中分离出去,加上数据的存取又由DBMS负责,从而简化了应用程序的编制,大大减少了应用程序的维护和修改工作。 数据独立性是由DBMS的二级映像功

13、能来保证的,这将在稍后讨论。第第6 6章章 数据库技术基础数据库技术基础 4) 统一的数据管理和控制 数据库对系统中的用户来说是共享资源,即多个用户可以同时存取数据库中的数据甚至可以同时存取数据库中的同一个数据。因此,DBMS必须提供以下几方面的数据控制和保护功能。第第6 6章章 数据库技术基础数据库技术基础 (1) 数据的安全性保护。数据的安全性是指保护数据以防止不合法的使用所造成的数据泄密和破坏,使每个用户只能按规定,对某种数据以某些方式进行使用和处理。例如,系统用检查口令或其它手段来检查用户身份,合法用户才能进入数据库系统;系统提供数据存取权限的定义机制,当用户对数据库执行操作时,系统自

14、动检查用户能否执行这些操作,检查通过后才能执行允许的操作。第第6 6章章 数据库技术基础数据库技术基础 (2) 数据的完整性控制。数据的完整性是指数据的正确性、有效性和相容性。完整性检查提供必要的功能,保证数据库中的数据在输入和修改过程中始终符合原来的定义和规定,在有效的范围内,保证数据之间满足一定的关系。例如,月份是112之间的正整数,学生年龄是1545间的整数,学生学号是惟一的,学生所在的系院必须是有效存在的等。 (3) 数据库恢复。计算机系统的软硬件故障、操作员的失误以及恶意的破坏都会影响到数据库中数据的正确性,甚至造成数据库部分或全部数据的丢失。因此DBMS必须具有将数据库从错误状态恢

15、复到某一已知的正确状态(亦称为完整状态或一致状态)的功能。第第6 6章章 数据库技术基础数据库技术基础 (4) 并发控制。当多个用户的并发进程同时存取、修改数据库时,可能会发生相互干扰而得到错误的结果或使得数据库的完整性遭到破坏,因此必须对多用户的并发操作加以控制和协调。 数据库系统的出现使信息系统进入从以加工数据的程序为中心转向以共享的数据库为中心的新阶段。这样既便于数据的集中管理,又有利于应用程序的研制和维护,提高了数据的利用率和相容性,提高了决策的可靠性。 第第6 6章章 数据库技术基础数据库技术基础 6.1.3 数据库系统 1数据库 所谓数据库是长期储存在计算机内的、有组织的、可共享的

16、数据集合。数据库中的数据按一定的数据模型组织、描述和储存,具有较小的冗余度、较高的数据独立性和易扩展性,并可为一定范围内的各种用户共享。 第第6 6章章 数据库技术基础数据库技术基础 2数据库管理系统(DBMS) 了解了数据和数据库的概念,接下来的问题是如何科学地组织和存储数据,如何高效地获取和维护数据,完成这个任务的是一个系统软件数据库管理系统。DBMS是位于用户与操作系统之间的一个数据管理软件,是一个帮助用户建立、使用和管理数据库的软件系统,是数据库与用户之间的接口。它的基本功能应包括以下几个方面: (1) 数据定义功能。DBMS提供数据定义语言(DDL),用户通过定义语言可以方便地对数据

17、库中的数据对象进行定义。第第6 6章章 数据库技术基础数据库技术基础 (2) 数据操纵功能。DBMS提供数据操纵语言(DML),用户通过操纵语言操纵数据,实现对数据库的基本操作,如查询、插入、删除和修改。 (3) 数据库的运行管理。数据库在建立、运行和维护时由DBMS统一管理、统一控制,以保证数据的安全性、完整性、多用户对数据的并发使用及发生故障后的系统恢复。 (4) 数据库的建立和维护功能。它包括数据库初始数据的输入、转换功能,数据库的转储、恢复功能,数据库的重组织功能,以及性能监视、分析功能等。第第6 6章章 数据库技术基础数据库技术基础 3数据库系统(DBS,DataBase Syste

18、m) 数据库系统是指在计算机系统中引入数据库后的系统,一般由数据库、操作系统、数据库管理系统(及其工具)、应用系统、数据库管理员和用户构成,如图6-4所示。应当指出的是,数据库的建立、使用和维护等工作只靠一个DBMS远远不够,还要有专门的人员来完成,这些人被称为数据库管理员(DBA,DataBase Adiministrator)。 在一般不引起混淆的情况下常常把数据库系统简称为数据库。第第6 6章章 数据库技术基础数据库技术基础图6-4 数据库系统示意图数据库操作系统数据库管理系统应用开发工具应用系统用户用户用户数据库管理员第第6 6章章 数据库技术基础数据库技术基础 由于数据库系统数据量都

19、很大,加之DBMS丰富的功能使得自身的规模也很大,因此数据库系统对硬件提出了较高的要求,这些要求是:要有足够大的内存;要有足够大的磁盘空间存放数据库,足够的磁带做数据备份;系统有较高的通信能力,以提高数据传输率。 4数据库系统的有关人员 (1) 数据库管理员。DBA负责对整个数据库系统进行总体控制和维护,以保证数据库系统的正常运行。第第6 6章章 数据库技术基础数据库技术基础 (2) 系统分析员和数据库设计人员。系统分析员负责应用系统的需求分析和规范说明,他们要和用户及DBA相结合,确定系统的软硬件配置并参与数据库系统的概要设计。数据库设计人员负责数据库中数据的确定、数据库各级模式的设计。数据

20、库设计人员必须参加用户需求调查和系统分析,然后进行数据库设计。在很多情况下,数据库设计人员就由数据库管理员担任。第第6 6章章 数据库技术基础数据库技术基础 (3) 应用程序员。负责设计和编写应用程序的程序模块,并进行调试和安装。 (4) 终端用户。他们通过联机终端,并通过应用程序的用户接口使用数据库。常用的接口方式有浏览器、菜单驱动、表格操作、图形显示、报表书写等。 第第6 6章章 数据库技术基础数据库技术基础6.2 数数 据据 模模 型型 6 .2.1 数据模型的概念 模型是现实世界特征的模拟和抽象。数据模型也是一种模型,它是现实世界数据特征的抽象。现有的数据库系统均是基于某种数据模型的。

21、因此,数据模型是数据库系统的核心和基础,了解数据模型的基本概念是学习数据库系统的基础。第第6 6章章 数据库技术基础数据库技术基础 数据库是某个企业、组织或部门所涉及的数据的一个综合,它不仅要反映数据本身的内容,而且要反映数据之间的联系。由于计算机不可能直接处理现实世界中的具体事物,所以,人们必须事先把具体事物转换成计算机能够处理的数据。在数据库中用数据模型这个工具来抽象、表示和处理现实世界中的数据和信息。 数据模型应满足三方面要求:一是能比较真实地模拟现实世界;二是容易为人们所理解;三是便于在计算机上实现。一种数据模型要很好地满足这三方面的要求,在目前尚很困难。在数据库系统中针对不同的使用对

22、象和应用目的,采用不同的数据模型。第第6 6章章 数据库技术基础数据库技术基础 不同的数据模型实际上是提供给人们模型化数据和信息的不同工具。根据模型应用的不同目的,可以将这些模型划分为两类,它们分属于两个不同的层次。第一类模型是概念模型,也称信息模型,它是按用户的观点对数据和信息建模。另一类模型是数据模型(即结构模型),主要包括网状模型、层次模型、关系模型和面向对象模型等,它是按计算机系统的观点对数据建模。第第6 6章章 数据库技术基础数据库技术基础 6.2.2 数据模型的要素 一般地讲,数据模型是严格定义的一组概念的集合。这些概念精确地描述了系统的静态特性、动态特性和完整性约束条件。因此,数

23、据模型通常都是由数据结构、数据操作和完整性约束三个要素组成。 1数据结构 数据结构是所研究的对象类型的集合。这些对象是数据库的组成成分,它们包括两类:一类是与数据类型、内容、性质有关的对象;一类是与数据之间联系有关的对象。第第6 6章章 数据库技术基础数据库技术基础 数据结构是刻画一个数据模型性质最重要的方面。因此在数据库系统中,通常按照其数据结构的类型来命名数据模型。例如层次结构、网状结构、关系结构的数据模型分别命名为层次模型、网状模型和关系模型。 数据结构是对系统静态特性的描述。第第6 6章章 数据库技术基础数据库技术基础 2数据操作 数据操作是指对数据库中各种对象(型)的实例(值)允许执

24、行的操作的集合,包括操作及有关的操作规则。数据库主要有检索和更新(包括插入、删除、修改)两大类操作。数据模型必须定义这些操作的确切含义、操作符号、操作规则(如优先级)以及实现操作的语言。 数据操作是对系统动态特性的描述。第第6 6章章 数据库技术基础数据库技术基础 3数据的完整性约束 数据的完整性约束是一组完整性规则的集合。完整性规则是给定的数据模型中数据及其联系所具有的制约和储存规则,用以限定符合数据模型的数据库状态以及状态的变化,以保证数据的正确、有效和相容。 数据模型应该反映和规定本数据模型必须遵守的、基本的、通用的完整性约束。例如,在关系模型中,任何关系必须满足实体完整性和参照完整性两

25、个条件(稍后讨论这两个完整性约束)。第第6 6章章 数据库技术基础数据库技术基础 6.2.3 概念模型E-R模型 为了把现实世界中的具体事物抽象、组织为某一DBMS支持的数据模型,人们常常首先将现实世界抽象为信息世界,然后将信息世界转换为机器世界。概念模型用于信息世界的建模,与具体的DBMS无关。概念模型是现实世界到信息世界的第一层抽象,是数据库设计人员进行数据库设计的有力工具,也是数据库设计人员和用户之间进行交流的语言,因此概念模型一方面应该具有较强的语义表达能力,能够方便、直接地表达应用中的各种语义知识,另一方面它还应该简单、清晰、易于用户理解。第第6 6章章 数据库技术基础数据库技术基础

26、 1信息世界中的基本概念 信息世界涉及的概念主要有: 1) 实体(Entity) 客观存在并可相互区别的事物称为实体。实体可以是具体的人、事、物,也可以是抽象的概念或联系。例如,一个职工、一个学生、一门课、一个部门、学生的一次选课、部门的一次定货等都是实体。第第6 6章章 数据库技术基础数据库技术基础 2) 属性(Attribute) 实体所具有的某一特性称为属性。一个实体可以由若干个属性来刻画。例如,学生实体可以由学号、姓名、性别、出生年份、系、入学时间等属性组成,如(20020124,张亮,男,1984,计算机系,2002)表征了一个学生。 3) 码(Key) 惟一标识实体的属性集称为码。

27、例如学号是学生实体的码。第第6 6章章 数据库技术基础数据库技术基础 4) 域(Domain) 属性的取值范围称为该属性的域。例如,性别的域为(男,女),学号的域为8位整数,年龄的域为小于35的整数。 5) 实体型(Entity Type) 具有相同属性的实体必然具有共同的特性和性质。用实体名及其属性名集合来抽象和刻画同类实体,称为实体型。例如,学生(学号,姓名,性别,出生年份,系,入学时间)就是一个实体型。第第6 6章章 数据库技术基础数据库技术基础 6) 实体集(Entity Set) 同型实体的集合称为实体集。例如,全体学生就是一个集合,即实体集。 7) 联系(Relationship)

28、 在现实世界中,事物内部以及事物之间是有联系的,这些联系在信息世界中反映为实体(型)内部的联系和实体(型)之间的联系。实体内部的联系通常是指组成实体的各属性之间的联系。实体之间的联系通常是指不同实体集之间的联系。 第第6 6章章 数据库技术基础数据库技术基础 两个实体型之间的联系可以分为三类: (1) 一对一联系(1 1)。如果对于实体集A中的每一个实体,实体集B中至多有一个(也可以没有)实体与之联系,反之亦然,则称实体集A与实体集B具有一对一联系,记为1 1。例如,学校里面,一个班级只有一个正班长,而一个班长只在一个班中任职,则班级与班长之间具有一对一联系。第第6 6章章 数据库技术基础数据

29、库技术基础 (2) 一对多联系(1 n)。如果对于实体集A中的每一个实体,实体集B中有n个(n0)实体与之联系,反之,对于实体集B中的每一个实体,实体集A中至多有一个实体与之联系,则称实体集A与实体集B具有一对多联系,记为1 n。例如,一个班级中有若干名学生,而每个学生只在一个班级中学习,则班级与学生之间具有一对多联系。第第6 6章章 数据库技术基础数据库技术基础 (3) 多对多联系(m n)。如果对于实体集A中的每一个实体,实体集B中有n个(n0)实体与之联系。反之,对于实体集B中的每一个实体,实体集A中也有m个(m0)实体与之联系,则称实体集A与实体集B具有多对多联系,记为m n。例如,一

30、个课程同时有若干名学生选修,而一个学生可以同时选修多门课程,则课程与学生之间具有多对多联系。 实际上,一对一联系是一对多联系的特例,而一对多联系又是多对多联系的特例。第第6 6章章 数据库技术基础数据库技术基础 实体型之间的这种一对一、一对多、多对多联系不仅存在于两个实体型之间,也存在于两个以上的实体型之间。例如,对于课程、教师与参考书三个实体型,如果一门课程可以有若干个教师讲授,使用若干本参考书,而每一个教师只讲授一门课程,每一本参考书只供一门课程使用,则课程与教师、参考书之间的联系是一对多的。 同一个实体集内的各实体之间也可以存在一对一、一对多、多对多的联系。例如,职工实体集内部具有领导与

31、被领导的联系,即某一职工(干部)“领导”若干名职工,而一个职工仅被另外一个职工直接领导,因此这是一对多的联系。第第6 6章章 数据库技术基础数据库技术基础 2概念模型的表示方法 概念模型是对信息世界建模,所以概念模型应该能够方便、准确地表示出信息世界中的常用概念。概念模型的表示方法很多,其中最为常用的是P.P.S.Chen于1976年提出的实体联系方法(Entity-Relationship Approach)。该方法用ER图来描述现实世界的概念模型,ER方法也称为ER模型。 ER图提供了表示实体型、属性和联系的方法。第第6 6章章 数据库技术基础数据库技术基础 实体型:用矩形表示,矩形框内写

32、明实体名。 属性:用椭圆形表示,并用无向边将其与相应的实体连接起来。 联系:用菱形表示,菱形框内写明联系名,并用无向边分别与有关实体连接起来,同时在无向边旁标上联系的类型(1 1,1 n,m n)。如果一个联系具有属性,则这些属性也要用无向边与该联系连接起来。 现实世界中的任何数据集合,均可用ER图来描述。图6-5和图6-6给出了一些简单的例子。第第6 6章章 数据库技术基础数据库技术基础 图6-5 实体的联系(a) 实体内部的联系;(b) 两个实体之间的联系;(c) 多个实体之间的联系职工领导1n厂长管理工厂11学校领导系1n工人生产产品mn(a)(b)(c)工厂工-产-零1产品零件mn第第

33、6 6章章 数据库技术基础数据库技术基础 图6-6 实体与联系的属性(a) 实体的属性;(b) 联系的属性产品号产品名型号主要性能产品学号姓名性别年龄学生(a)(b)产品使用材料数量mn学生选修课程成绩mn第第6 6章章 数据库技术基础数据库技术基础 ER模型有两个明显的优点:一是接近人的思想,容易理解;二是与计算机无关,用户容易接受。因此,ER模型已经成为数据库概念设计的一种重要方法,它是设计人员和不熟悉计算机的用户之间的共同语言。一般遇到一个实际问题,总是先设计一个ER模型,然后再把ER模型转换成计算机能实现的数据模型。第第6 6章章 数据库技术基础数据库技术基础 6.2.4 常用的数据模

34、型 不同的数据模型具有不同的数据结构形式。目前最常用的数据结构模型有层次模型、网状模型、关系模型和面向对象模型。其中层次模型和网状模型统称为非关系模型。非关系模型的数据库系统在20世纪70年代非常流行,到了20世纪80年代,逐渐被关系模型的数据库系统取代,但在美国等一些国家里,由于历史的原因,目前层次和网状数据库系统仍为某些用户所使用。第第6 6章章 数据库技术基础数据库技术基础 20世纪80年代以来,面向对象的方法和技术在计算机各个领域,包括程序设计语言、软件工程、信息系统设计等各方面都产生了深远的影响,也促进了数据库中面向对象数据模型的研究和发展。 1层次模型(Hierarchical M

35、odel) 层次模型是数据库系统中最早出现的数据模型,层次数据库系统采用层次模型作为数据的组织方式。层次模型是以记录类型为结点的有向树,即树的每一个结点都表示一个记录类型,它有如下特点:第第6 6章章 数据库技术基础数据库技术基础图6-7 层次模型 R1R2R3R4R5第第6 6章章 数据库技术基础数据库技术基础 (1) 有且仅有一个结点没有双亲结点,这个结点称为根结点; (2) 根以外的其它结点有且只有一个双亲结点; (3) 每个结点可以有若干个孩子结点。 凡满足以上条件的数据结构模型称为层次模型。如图6-7所示就是一个层次模型。 层次数据库系统的典型代表是IBM公司的IMS(Informa

36、tion Management Systems)数据库管理系统,这是1968年IBM公司推出的第一个大型商用数据库管理系统,曾经得到广泛的使用,目前,仍然有某些特定用户在使用。第第6 6章章 数据库技术基础数据库技术基础 2网状模型(Network Model) 在现实世界中事物之间的联系更多的是非层次关系,若用层次模型表示很不直接,网状模型则可以克服这一缺点。网状数据库系统采用网状模型作为数据的组织方式,网状模型是以记录类型为结点的有向图。在网状模型中,数据间紧密相连,呈现出一种网状的关系形式,图6-8中的数据模型都是网状模型。它的特征是: (1) 允许一个以上的结点无双亲; (2) 允许一

37、个结点有多于一个的双亲; (3) 任意两个结点之间可以有多于一个以上的联系。第第6 6章章 数据库技术基础数据库技术基础图6-8 网状模型R1R3R2R4R1R2R4R3第第6 6章章 数据库技术基础数据库技术基础 网状数据模型的典型代表是DBTG系统,它是20世纪70年代数据系统语言研究会(Conference On Data System Language)下属的数据库任务组(DBTG,DataBase Task Group)提出的一个系统方案。DBTG系统虽然不是实际的软件系统,但是它提出的基本概念、方法和技术具有普遍意义。它对于网状数据库系统的研制和发展起了重大的影响。后来不少的实际系

38、统都采用了DBTG模型或者简化的DBTG模型。第第6 6章章 数据库技术基础数据库技术基础 3关系模型(Relational Model) 关系模型是目前最常用的一种数据模型。关系数据库系统采用关系模型作为数据的组织方式。1970年美国IBM公司San Jose研究室的研究员E. F. Codd首次提出了数据库系统的关系模型,开创了数据库关系方法和关系数据理论的研究,为数据库技术奠定了理论基础。由于E. F. Codd的杰出贡献,他于1981年获得ACM图灵奖。 第第6 6章章 数据库技术基础数据库技术基础 20世纪80年代以来,计算机厂商新推出的数据库管理系统几乎都支持关系模型,非关系模型的

39、产品也大都加上了关系接口。数据库领域当前的研究工作也大都是以关系方法为基础。 用表格结构表示实体以及实体之间联系的模型称为关系模型。关系模型比较简单,容易被初学者所接受。与以往的模型不同,关系模型是建立在严格的数学概念基础上的一种数据模型,它的数据结构是二维表,即由行和列组成,这个表就叫作关系。表6-1所列的职工情况表就是一个关系。第第6 6章章 数据库技术基础数据库技术基础表6-1 职工情况表 编 号姓 名职 称工 龄工 资出生日期1001王 明工程师101150001/20/701024田 丽助 工5980010/09/752048张 升高 工201450009/28/624006胡中华助

40、 工3870005/28/78第第6 6章章 数据库技术基础数据库技术基础 下面结合表6-1,介绍关系模型中的一些术语。 (1) 关系(Relation):一个关系对应一张二维表,二维表名就是关系名,如表6-1职工情况表。 (2) 元组(Tuple):表中的一行即为一个元组,如表6-1中的(1001,王明,工程师,10,11500,01/20/70)为一个元组。 (3) 属性(Attribute):表中的一列即为一个属性,给每一个属性起一个名字即属性名。如表6-1有六列,对应六个属性,属性名分别为编号、姓名、职称、工龄、工资、出生日期。第第6 6章章 数据库技术基础数据库技术基础 (4) 分量

41、(Component):元组中的一个属性值。 (5) 主码(Key):表中的某个属性组,它可以惟一确定一个元组。如表6-1中的编号,可以惟一确定一个职工,也就成为本关系的主码。 (6) 域(Domain):属性的取值范围,如工资的域是(500.05000.0)。 (7) 关系模式(Relation Schema):对关系的描述称为关系模式,一般表示为:关系名(属性1,属性2,属性n)第第6 6章章 数据库技术基础数据库技术基础 例如表6-1的关系可表示为 职工情况表(编号,姓名,职称,工龄,工资,出生日期) 关系模型与层次、网状模型的最大区别是关系模型用表格的数据而不是通过指针链来表示和实现实

42、体间的联系。关系模型中数据结构单一,只有二维表格,通常可把表格看成一个集合,因此集合论、数理逻辑等知识可引入到关系模型中来。一般认为它是一种比较有前途的模型。第第6 6章章 数据库技术基础数据库技术基础 4面向对象模型(Object-Oriented Model) 由于关系模型比层次、网状模型更为简单灵活,因此,数据处理领域中,关系数据库的使用已相当普遍。但是,现实世界存在着许多含有更复杂数据结构的实际应用领域,例如CAD数据、图形数据等,需要有一种数据模型来表达这类信息,在人工智能研究中也出现了类似的需要,这种数据模型就是面向对象的数据模型。 第第6 6章章 数据库技术基础数据库技术基础 2

43、0世纪80年代中后期,数据库界掀起了面向对象技术与数据库技术相结合的研究热潮,对于什么是面向对象数据库,它应该具有哪些特性,如何去实现它,大家有各自不同的见解,因此研究工作百花齐放,各自按照自己的方法去实现自己的系统。经过十余年的研究与实践,现在归纳起来,面向对象技术与数据库技术相结合的途径主要有以下两种: 一种途径是以面向对象程序设计语言为基础进行扩展,研究持久的程序设计语言,使之具有数据库功能;或者直接将数据库系统的特性与面向对象程序设计语言的特性结合起来,研制面向对象的数据库系统(OODBS)。第第6 6章章 数据库技术基础数据库技术基础 OODBS的商品化现状远不如20世纪80年代中后

44、期开始研究面向对象技术与数据库技术相结合时人们预想的高,其原因是多方面的。首先,OODBS缺乏标准;其次,OODBS产品在安全性、完整性、坚固性、可伸缩性、视图机制、模式演化等许多方面都不如关系数据库系统(RDBS)产品;另外,OODBS系统的应用开发工具很少,对客户/服务器环境的支持也不够。第第6 6章章 数据库技术基础数据库技术基础 另一种途径是以传统的关系数据库和SQL语言为基础,进行扩展的方法。这种方法早期的典型代表是加州大学Berkeley分校研制的扩展关系数据库系统POSTGRES,它以关系数据库系统Ingres为基础,将它的类型系统开放,允许将新的、用户定义的抽象数据类型(ADT

45、)加进来,用户定义新的ADT时需要实现这个类型,即定义它的表示法和编写它的函数。采用扩展关系数据模型的方法建立的数据库系统称做对象关系数据库系统(ORDBS),它建立在关系数据库技术坚实的基础上,并且支持若干重要的面向对象特性,能够满足数据库新应用的需求。第第6 6章章 数据库技术基础数据库技术基础 面向对象数据模型比网状、层次、关系数据模型具有更加丰富的表达能力。但正因为面向对象模型的丰富的表达能力,模型相对复杂,实现起来较困难。第第6 6章章 数据库技术基础数据库技术基础6.3 数据库系统的体系结构数据库系统的体系结构 6.3.1 数据库系统中模式的概念 在数据模型中有“型”(Type)和

46、“值”(Value)的概念。型是指对某一类数据的结构和属性的说明,值是型的一个具体赋值。例如,学生记录定义为(学号,姓名,性别,系别,年龄,籍贯)记录型,而(020301,李辉,男,计算机,19,陕西)则是该记录型的一个记录值。第第6 6章章 数据库技术基础数据库技术基础 模式(Schema)是数据库中全体数据的逻辑结构和特征的描述,它仅仅涉及到型的描述,不涉及到具体的值。模式的一个具体值称为模式的一个实例(Instance)。同一个模式可以有很多实例。模式是相对稳定的,而实例是不断变动的,因为数据库中的数据是在不断更新的。模式反映的是数据的结构及其联系,而实例反映的是数据库某一时刻的状态。

47、虽然实际的DBMS产品种类很多,它们支持不同的数据模型,使用不同的数据库语言,建立在不同的操作系统之上,数据的存储结构也各不相同,但它们在体系结构上通常都具有相同的特性,即采用三级模式结构并提供两级映像功能。第第6 6章章 数据库技术基础数据库技术基础 6.3.2 数据库系统的三级模式结构 数据库系统的三级模式结构分为:外模式、模式和内模式,如图6-9所示。 1模式 模式也称逻辑模式或概念模式,它是数据库中全体数据的逻辑结构和特征的描述,也是所有用户的公共数据视图。它是数据库系统模式结构的中间层,既不涉及数据的物理存储细节和硬件环境,也与具体的应用程序、所使用的开发工具及高级程序设计语言无关。

48、第第6 6章章 数据库技术基础数据库技术基础图6-9 数据库系统的三级模式结构 外模式 / 模式映像应用A应用B外模式1应用C外模式2应用D应用E外模式n模式模式 / 内模式映像数据库内模式第第6 6章章 数据库技术基础数据库技术基础 模式是DBA所看到的数据库。一个数据库只有一个模式。数据库模式以某一种数据类型为基础,统一综合地考虑了所有用户的需求,并将这些需求有机地结合成一个逻辑整体。定义模式时不仅要定义数据的逻辑结构,而且要定义数据之间的联系,定义与数据有关的安全性、完整性要求。 模式使用DBMS提供的模式数据定义语言(模式DDL)来严格定义。第第6 6章章 数据库技术基础数据库技术基础

49、 2外模式 外模式也称子模式(SubSchema)或用户模式,它是数据库用户能够看见和使用的局部数据的逻辑结构和特征的描述,是数据库用户的数据视图,也是与某一应用有关的数据的逻辑表示。 外模式是模式的子集,一个数据库可以有多个外模式。外模式是保证数据安全性的一个有力工具,每个用户只能看见和访问所对应的外模式中的数据,数据库中其余的数据是不可见的。 子模式使用DBMS提供的子模式数据定义语言(子模式DDL)来严格定义。 第第6 6章章 数据库技术基础数据库技术基础 3内模式 内模式又称存储模式,一个数据库只有一个内模式。它描述了数据的物理结构和存储方式,是数据库内部的表示方法。例如,记录的存储方

50、式是顺序存储、按照B树结构存储还是按Hash方法存储;索引按照什么方式组织;数据是否压缩存储,是否加密;数据的存储记录结构有何规定等。 内模式使用DBMS提供的内模式数据定义语言(内模式DDL)来严格定义。 第第6 6章章 数据库技术基础数据库技术基础 DDL是数据描述语言(Data Description Language),它是在建立数据库时用来描述数据库结构的语言,有些文献称之为数据定义语言(Data Definition Language),简称都是DDL。用三种DDL来描述三种不同的模式,有利于实现数据独立性。但实际的DBMS不一定将三种DDL分开,多数DBMS仅提供一种或者两种DDL,同时完成这三种语言的功能。 DDL是类似高级语言的形式化语言

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论