考点精讲
4.1 数据库系统的基本概念
【考点1】数据、数据库、数据库管理系统
(1)数据
①定义:数据是描述事物的符号记录。
②分类
a.临时性数据
b.持久性数据
③数据的结构
a.类型
b.值
(2)数据库
数据库是数据的集合,具有统一的结构形式并存放在统一的存储介质,是多种应用数据的集成,并可被各个应用程序所共享。
(3)数据库管理系统
①定义
数据库管理系统是数据库的机构,它是一种系统软件,负责数据库中的数据组织、数据操纵、数据维护、控制及保护和数据服务等。
②数据库管理系统的功能
数据库管理系统是数据库系统的核心,它主要有如下几方面的具体功能:
a.数据模式定义
负责为数据库构建模式,即为数据库构建其数据框架。
b.数据存取的物理构建
负责为数据模式的物理存取及构建提供有效的存取方法与手段。
③数据操纵
提供查询、插入、修改以及删除数据的功能。还具有做简单运算及统计的能力,可以与某些过程性语言结合,使其具有强大的过程性操作能力。
④数据的完整性、安全性定义与检查
数据的完整性是保证数据库中数据正确的必要条件,数据共享可能引发数据的非法使用,必须在数据使用时作必要检查,完整性和安全性的维护是数据库系统的基本功能。
⑤数据库的并发控制与故障恢复
数据库能为多个应用程序服务,存在应用程序对数据库的并发操作。
⑥数据的服务
数据库管理系统提供对数据库中数据的多种服务功能,如数据拷贝、转存、重组、性能监测、分析等。
⑦数据库管理系统提供的数据语言:
a.数据定义语言
负责数据的模式定义与数据的物理存取构建。
b.数据操纵语言
语言负责数据的操纵,包括查询及增、删、改等操作。
c.数据控制语言
负责数据完整性、安全性的定义与检查以及并发控制、故障恢复等功能,包括系统初启程序、文件读写与维护程序、存取路径管理程序、缓冲区管理程序、安全性控制程序、完整性检查程序、并发控制程序、事务管理程序、运行日志管理程序、数据库恢复程序等。
⑧数据语言的两种结构形式:
a.交互式命令语言
语言简单,能在终端上即时操作,又称为自含型或自主型语言。
b.宿主型语言
一般可嵌入某些宿主语言(Host Language)中,如C/C++、Java和COBOL等高级过程性语言中。
⑨SQL(结构化查询语言)是一种介于关系代数和关系演算之间的非过程性操作语言,不仅具有丰富的查询功能,还兼具数据定义和数据控制功能。此外,数据库管理系统还有为用户提供服务的服务性(Utility)程序,包括数据初始装入程序、数据转存程序、性能监测程序、数据库再组织程序、数据转换程序、通信程序等。
(4)数据库管理员(DBA)
①数据库管理员是对数据库的规划、设计、维护、监视等进行专业管理的人员。
②数据库管理员的主要工作:
a.数据库设计
b.数据库维护
c.改善系统性能,提高系统效率
(5)数据库系统
数据库系统由数据库、数据库管理系统、数据库管理员、硬件平台、软件平台构成一个以数据库为核心的完整的运行实体。
①硬件平台
a.计算机
b.网络
②软件平台
a.操作系统
b.数据库系统开发工具
为开发数据库应用程序所提供的工具,包括过程性程序设计语言如C/C++、Java等,也包括可视化开发工具VB、PB、Delphi等,它还包括与Internet Web有关的HTML及XML等以及一些专用开发工具。
c.接口软件
在网络环境下数据库系统中数据库与应用程序,数据库与网络间存在着多种接口,这些接口软件包括ODBC、JDBC、OLEDB、CORBA、COM、DCOM等。
(6)数据库应用系统
数据库应用系统由:数据库、数据库管理系统、数据库管理员、硬件平台、软件平台、应用软件、应用界面组成。应用软件是由数据库系统所提供的数据库管理系统(软件)及数据库系统开发工具所书写而成,而应用界面大多由相关的可视化工具开发而成。数据库应用系统的结构如图4-1所示。
图4-1 数据库系统的软硬件层次结构图
【真题演练】
1在数据库管理系统提供的数据语言中,负责数据模式定义的是( )。[2014年3月真题]
A.数据定义语言
B.数据管理语言
C.数据操纵语言
D.数据控制语言
【答案】A
【解析】数据库管理系统提供的数据语言包括:①数据定义语言(DDL),该语言负责数据的模式定义与数据的物理存取构建;②数据操纵语言(DML),该语言负责数据的操纵,包括查询及增、删、改等操作;③数据控制语言(DCL),该语言负责数据完整性、安全性的定义与检查以及并发控制、故障恢复等功能。答案选择A选项。
2数据库管理系统是( )。[2014年9月真题]
A.操作系统的一部分
B.在操作系统支持下的系统软件
C.一种编译系统
D.一种操作系统
【答案】B
【解析】系统软件主要包括:①操作系统软件;②各种语言的解释程序和编译程序;③各种服务性程序;④各种数据库管理系统。数据库管理系统是一种系统软件,负责数据库中的数据组织、数组操纵、数据维护、控制和保护以及数据服务等。答案选择B选项。
【考点2】数据库系统的发展
(1)文件系统阶段
数据库系统发展的初级阶段,提供了简单的数据共享和数据管理能力,无法提供完整的、统一的、管理和数据共享的能力。附属于操作系统而不成为独立的软件,不是真正的数据库系统。
(2)层次数据库与网状数据库系统阶段
为统一管理与共享数据提供了有力支撑,这两种系统存在的主要不足是它们完全脱胎于文件系统,受文件的物理影响很大,对数据库使用带来诸多不便,且数据库模式构造繁琐,不宜于推广使用。
(3)关系数据库系统阶段
结构简单,使用方便,逻辑性强物理性少,由于该系统源于商业应用,适合事物处理领域而对非事务处理领域应用受到限制。
关于数据管理三个阶段中的软硬件背景及处理特点如表4-1所示。
表4-1 数据管理三个阶段的比较
(4)数据库诸多新技术中比较重要的三个方面
①面向对象数据库系统
用面向对象方法构筑面向对象数据模型,使其具有比关系数据库系统更通用的能力。
②知识库系统
用人工智能中的方法,特别是用谓词逻辑知识表示方法构筑数据模型,使其模型具有特别通用的能力。
③关系数据库系统的扩充
利用关系数据库作进一步扩展,使其在模型的表达能力与功能上有进一步的加强。
【真题演练】
1在数据管理技术发展的三个阶段中,数据共享最好的是( )。[2013年9月真题]
A.人工管理阶段
B.文件系统阶段
C.数据库系统阶段
D.3个阶段相同
【答案】C
【解析】在人工管理阶段,数据不保存,没有对数据进行管理的软件,数据不能共享;文件系统是数据库系统发展的初级阶段,提供了简单的数据共享与数据管理能力,但它不能提供完整的、统一的、管理和数据共享的能力;数据库系统阶段实现了数据共享,具有数据的集成性,这使得数据可为多个应用所共享,数据的共享自身又可极大地减少数据冗余性。答案选择C选项。
2数据库的基本特点是( )。[2015年3月真题]
A.数据可以共享,数据冗余大,数据独立性高,统一管理和控制
B.数据可以共享,数据冗余小,数据独立性高,统一管理和控制
C.数据可以共享,数据冗余小,数据独立性低,统一管理和控制
D.数据可以共享,数据冗余大,数据独立性低,统一管理和控制
【答案】B
【解析】数据库的基本特点是数据可以共享、数据独立性高、数据冗余小,易移植、统一管理和控制。答案选择B选项。
【考点3】数据库系统的基本特点
(1)数据的集成性
数据库系统的数据集成性主要表现在如下几个方面:
①采用统一的数据结构方式;
②按照多个应用的需要组织全局的统一的数据结构(即数据模式),数据模式可建立全局的数据结构,还可以建立数据间的语义联系,从而构成一个内在紧密联系的数据整体;
③数据模式是多个应用共同的、全局的数据结构,而每个应用的数据则是全局结构中的一部分,称为局部结构,这种全局与局部的结构模式构成了数据库系统数据集成性的主要特征。
(2)数据的高共享性与低冗余性
由于数据的集成性使得数据可为多个应用所共享,数据的共享自身又可极大地减少数据冗余性,不仅减少了不必要的存储空间,更为重要的是可以避免数据的不一致性。
数据的一致性是指在系统中同一数据的不同出现应保持相同的值;数据的不一致性指的是同一数据在系统的不同拷贝处有不同的值。因此,减少冗余性以避免数据的不同出现是保证系统一致性的基础。
(3)数据独立性
数据库中的数据独立于应用程序,数据的逻辑结构、存储结构与存取方式不会影响应用程序,数据独立性分为物理独立性和逻辑独立性。
①物理独立性。数据物理结构的改变不至于引起应用程序的变化。
②逻辑独立性。数据库总体逻辑结构的改变,不需要相应修改应用程序。
(4)数据统一管理与控制
数据库系统不仅为数据提供高度集成环境,同时它还为数据提供统一管理的手段,这主要包含以下三个方面:
①数据的完整性检查:检查数据库中数据的正确性以保证数据的正确。
②数据的安全性保护:检查数据库访问者以防止非法访问。
③并发控制:控制多个应用的并发访问所产生的相互干扰以保证其正确性。
【真题演练】
当数据库中数据总体逻辑结构发生变化,而应用程序不受影响,称为数据的( )。[2014年9月真题]
A.逻辑独立性
B.物理独立性
C.应用独立性
D.空间独立性
【答案】A
【解析】数据独立性是指数据独立于程序,包括:①物理独立性,指数据的物理结构改变,应用程序不用改变;②逻辑独立性,指数据的逻辑结构改变,应用程序不用改变。答案选择A选项。
【考点4】数据库系统的内部结构体系
(1)数据库系统的三级模式
数据模式是数据库系统中数据结构的一种表示形式,它具有不同的层次与结构方式。
①概念模式
概念模式是数据库系统中全局数据逻辑结构的描述,是全体用户公共数据视图。是一种抽象的描述,它不涉及具体的硬件环境与平台,也与具体的软件环境无关。主要描述数据的概念记录类型以及它们间的关系,它还包括一些数据间的语义约束,对它的描述可用DBMS中的DDL语言定义。
②外模式(子模式或用户模式)
它是用户的数据视图,也是用户所见到的数据模式,由概念模式推导而出。概念模式给出了系统全局的数据描述而外模式则给出每个用户的局部数据描述。一个概念模式可以有若干个外模式,每个用户只关心与它有关的模式,这样不仅可以屏蔽大量无关信息而且有利于数据保护。在一般的DBMS中都提供有相关的外模式描述语言(外模式DDL)。
③内模式(物理模式)
它给出了数据库物理存储结构与物理存取方法,内模式的物理性主要体现在操作系统及文件级上,它还未深入到设备级上。对一般用户是透明的,但它的设计直接影响数据库的性能。一般提供相关的内模式描述语言(内模式DDL)。
【说明】
a.以概念模式为框架所组成的数据库叫概念数据库,以外模式为框架所组成的数据库叫用户数据库,以内模式为框架所组成的数据库叫物理数据库。只有物理数据库真实存在于计算机外存中,其他两个数据库不是真实存在于计算机中,而是通过两种映射由物理数据库映射而成。
b.内模式处于最底层,它反映了数据在计算机物理结构中的实际存储形式,概念模式处于中层,它反映了设计者的数据全局逻辑要求,而外模式处于最外层,它反映了用户对数据的要求。
(2)数据库系统的两级映射
①概念模式到内模式的映射
该映射给出概念模式中数据的全局逻辑结构到数据的物理存储结构间的对应关系,此种映射一般由DBMS实现。
②外模式到概念模式的映射
概念模式是一个全局模式而外模式是用户的局部模式。一个概念模式中可以定义多个外模式,而每个外模式是概念模式的一个基本视图。外模式到概念模式的映射给出了外模式与概念模式的对应关系,这种映射一般也是由DBMS来实现的。
【真题演练】
在下列模式中,能够给出数据库物理存储结构与物理存取方法的是( )。[2015年3月真题]
A.外模式
B.内模式
C.概念模式
D.逻辑模式
【答案】B
【解析】数据库管理系统的三级模式包括:①外模式,也称子模式、用户模式,是指数据库用户所看到的数据结构,是用户看到的数据视图;②模式,也称逻辑模式,是数据库中对全体数据的逻辑结构和特性的描述,是所有用户所见到的数据视图的总和;③内模式,也称存储模式、物理模式,是指数据在数据库系统内的存储介质上的表示,是对数据的物理结构和存取方式的描述。答案选择B选项。