数据库基础:Access
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.3 数据库管理系统和数据库系统

计算机科学与技术的发展,计算机应用的深入与拓展,使得数据库在计算机应用中的地位与作用日益重要;它在商业中、事务处理中占有主导地位,近年来在统计领域、多媒体领域以及智能化应用领域中的地位与作用也变得十分重要;随着网络的普及,它在网络中的应用也日趋重要。因此,数据库已成为构成一个计算机应用系统的重要支持。这里着重介绍数据库管理系统和数据库系统的体系结构。

1.3.1 数据库管理系统

数据库管理系统(DataBase Management System,简称DBMS)是位于用户与操作系统之间的一层数据管理软件。数据库在建立、运用和维护时由数据库管理系统统一管理、统一控制。数据库管理系统使用户能方便地定义数据和操作数据,并能够保证数据的安全性、完整性,发生故障后能将系统恢复。

DBMS有很多,目前流行的软件有Oracle,Sybase,SQL Server,Access和Visual FoxPro等。

数据库管理系统(DBMS)作为数据库系统的核心软件,其主要目标是使数据成为用户使用的资源,易于为各种用户所共享,并增强数据的安全性、完整性和可用性。

不同的DBMS对硬件资源、软件环境的适应性各不相同,因而其功能也有差异。但一般来说,DBMS应该具有以下几方面的功能。

1.数据库定义功能

数据库定义也称为数据库描述,包括定义构成数据库系统的模式、存储模式和外模式,定义外模式与模式之间、模式与存储模式之间的映像,以及定义有关的约束条件,如为保证数据库中数据具有正确语义而定义的完整性规则,为保证数据库安全而定义的用户口令和存取权限等。

2.数据库操纵功能

数据库操纵是DBMS面向用户的功能。DBMS接受、分析和执行用户对数据库提出的各种操作要求,完成数据库数据的检索、插入、删除和更新等各种数据处理任务。

3.数据库运行控制功能

DBMS的核心工作是对数据库的运行进行管理,包括执行访问数据库时的安全性检查、完整性约束条件的检查和执行、数据共享的并发控制以及数据库的内部维护(如索引,数据字典的自动维护)等。所有访问数据库的操作都要在这些控制程序的统一管理下进行,其目的是保证数据库的可用性和可靠性。DBMS提供以下4 个方面的数据控制功能。

(1)数据安全性控制功能。这是对数据库的一种保护措施,目的是防止因非授权用户存取数据而造成数据泄密或破坏。例如,设置口令,确定用户的访问级别和数据存取的权限,经系统审核通过后才可执行所允许的操作。

(2)数据完整性控制功能。这是DBMS对数据库提供保护的另一方面。完整性是数据的准确性和一致性的测度。在将数据添加到数据库时,对数据的合法性和一致性的检验将会提高数据的完整性。这种检验不一定要由DBMS来完成,但大多数DBMS都有保证合法性和一致性的限制,并可在存储和修改数据时实施特定的检验。

(3)并发控制功能。数据库是提供给多个用户共享的,所以用户对数据的存取可能是并发的,即多个用户可能同时使用同一数据库,因此DBMS应能对多用户的并发操作加以控制、协调。例如,当一个用户正在修改某些数据项时,如果其他用户也要同时存取这些数据项,就可能导致错误。DBMS应对要修改的记录采取一定的措施,例如,可以加锁,暂时拒绝其他用户的访问,当修改完成并存盘后再开锁,允许其他用户访问。

(4)数据库恢复功能。在数据库运行过程中,可能会出现各种故障,如停电、软件或硬件错误、操作错误、人为破坏等,因此系统应提供恢复数据库的功能,如定时转储、恢复备份等,使系统有能力将数据库恢复到损坏之前的某个状态。

4.数据字典

数据字典(Data Dictionary,简称DD)中存放着对实际数据库各级模式所做的定义,即对数据库结构的描述。对数据库的使用和操作都要通过查阅数据字典来进行。在有些系统中,将数据字典单独抽出自成系统,使之成为一个软件工具,能够提供一个比DBMS更高级的用户和数据库之间的接口。

1.3.2 数据库系统

数据库系统(Data Base System,简称DBS)是指采用了数据库技术的计算机系统。因此,数据库系统是一种可实际运行的,按照数据库方式存储、维护和向应用系统提供数据或信息支持的系统,是存储介质、处理对象和管理系统的集合体。首先来看一下数据库系统的组成。

数据库系统通常由数据库、硬件、软件和数据库管理员(Data Base Administrator,简称DBA)组成。

1.数据库

数据库是与一个特定组织的各项应用相关的全部数据的汇集。它通常由两大部分组成:一是有关应用所需要的业务数据的集合,称为物理数据库,它是数据库的主体;二是关于各级数据结构的描述数据,称为描述数据库,通常由一个数据字典系统管理。

2.计算机设备

运行数据库系统的计算机要有足够大的内存储器、大容量的磁盘等联机直接存取设备和较高的传输数据的硬件设备,以支持对外存储器的频繁访问,还需要有足够数量的脱机存储介质,如软盘、移动硬盘、磁带、可擦写式光盘等,以存放数据库备份。

3.软件支持系统

数据库系统的核心组成部分是DBMS。DBMS是在操作系统支持下工作的庞大软件。利用DBMS提供一系列命令,用户可以建立数据库文件、定义数据以及对数据库进行各种操作,如增加、删除、更新、查找、输出等。

数据库系统的支持软件还包括操作系统和各种实用程序。另外,在开发操纵数据库的应用系统时,不仅可以使用数据库管理系统自含的程序设计语言,也可以使用其他软件开发工具,如PowerBuilder,Delphi,VB和VC等。在这种情况下,支持软件还应包括相应的宿主语言(软件开发工具)及其编译系统。

4.数据库管理员

管理、开发和使用数据库系统的人员主要有数据库管理员、系统分析员、程序员和用户。对于较大规模的数据库系统来说,必须有人全面负责建立、维护和管理数据库系统,承担这种任务的人员称为数据库管理员。数据库管理员负责保护和控制数据,使数据能被任何有权使用的人有效使用。数据库管理员的职责包括:定义并存储数据库的内容,监督和控制数据库的使用,负责数据库的日常维护,必要时重新组织和改进数据库。

1.3.3 数据库系统的体系结构

目前世界上大多数数据库系统,尽管种类不同,但它们的结构基本上是与下面介绍的3级结构相一致的,因此可以认为如图1.19所示是数据库系统的一般结构。

图1.19 数据库系统结构

数据库系统结构的3个抽象描述级,定义了数据库的3个层次,反映了看待数据库的3种不同角度。

整个数据库系统分为3层:外层、概念层、内层。用户只能看到外层,其他两层是看不到的。子模式有多个,而概念模式只有一个。内模式是整个数据库的最低层。用数据描述语言精确地定义数据模型的程序称为模式。

1.子模式

定义用户视图的模式叫子模式,又叫外模式,用子模式的数据描述语言来定义。具有相同数据视图的用户共享一个子模式,一个子模式可以为多个用户所使用。从逻辑关系来看,子模式是模式的一个逻辑子集,从一个模式可以推导出许多不同的子模式。

2.模式

定义概念模型的模式叫概念模式,简称为模式,用模式数据描述语言来定义。它是数据库的整个逻辑描述,并说明了一个数据库所采用的数据模型。同时它还给出了实体和属性的名字,并说明了它们之间的关系,是一个可以放进数据项值的框架。

目前模式中通常还包括寻址方式、存取控制、保密定义、安全性和完整性等方面的内容。

3.内模式

内模式也叫物理模式,是用设备介质描述语言来定义的。它规定数据项、记录、数据集、索引和存取路径在内的一切物理组织方式,以及优化性能、响应时间和存储空间需求。它还规定记录的位置、块的大小与溢出区等。

这里必须强调指出,对一个数据库系统来说,只有物理数据库才是真正的存在,它是存放在外存上的实际数据,而其他两个数据库在外存上是不存在的。概念数据库只不过是物理数据库的一种抽象(逻辑)的描述,用户数据库则是用户需要使用的数据库子集的逻辑描述,是用户与数据库的接口。用户根据子模式进行操作,通过子模式/模式的映像与概念数据库联系起来,又通过模式/物理模式映像与物理数据库联系起来。所谓映像是一种对应规则,指出映像双方如何进行转换。数据库的三级结构就是靠映像来连接的。数据库管理系统的一项重要工作就是完成三级数据库之间的映像,将用户对数据库的操作转化成对物理数据库的操作。

注意:用户数据库是概念数据库的部分抽取;概念数据库是物理数据库的抽象表示;物理数据库是概念数据库的具体实现。

设计数据库时,设计者应主要考虑整个数据库的轮廓框架。使用数据库时,用户关心的是数据库的内容。数据库的框架是相对稳定的,而数据库的内容是经常变化的。