1.2 数据库系统概述
数据库技术是数据处理发展过程中形成的一种新技术,用来研究如何科学地组织和存储数据,如何高效地获取和处理数据。数据库系统(DataBase System,简称DBS)实质上是指引进了数据库技术后的计算机系统,它除了能实现有组织地、动态地存储大量相关数据外,还提供了数据处理和信息资源共享的便利手段。
1.2.1 数据库系统的组成
数据库系统由五部分组成:计算机系统、数据库、数据库管理系统、数据库应用系统和相关人员。
(1) 计算机系统
计算机系统指用于进行数据管理的计算机硬件资源和软件资源。硬件除了要求快速的CPU、大容量的内存外,还要求有足够的外部存储空间及一些必要的外围设备,如光驱、打印机等。软件资源主要是指操作系统。
(2) 数据库
数据库(DataBase,简称DB)是指按一定的组织形式,集中存储于计算机外部存储器上的相关数据集合。数据库不仅反映数据本身的内容,而且还反映数据间的联系。
数据库系统中的数据库不再只面向某一项特定应用,而是面向多种应用,可以被多个用户、多个应用程序共享。例如,一个学校中的学生管理数据库,可以包含学生注册、学生成绩、课程设置、任课教师等数据,这些数据不仅可以供学校管理使用,还可以提供给教师、学生进行查询。
(3) 数据库管理系统
数据库管理系统(DataBase Management System,简称DBMS)是数据库系统的核心软件,是位于用户与操作系统之间的系统软件。它提供数据定义、数据操作、数据库控制和管理等功能,帮助用户在计算机上建立和维护数据库,开发使用数据的应用程序系统等。
数据库管理系统的主要功能如下。
① 数据定义功能:指数据定义语言(Data Definition Language,简称DDL),使用它可以定义数据库的结构,描述数据及数据之间的联系,实现数据完整性和安全保密性的定义。
② 数据操作功能:指数据操纵语言(Data Manipulation Language,简称DML),使用它可以实现对数据库中数据的基本操作,如检索、插入、修改和删除数据等。
③ 数据库控制和管理功能:指数据控制语言(Data Control Language,简称DCL),使用它可以实现对数据库的控制和管理功能,如多用户环境下的并发控制,数据存取的安全性控制及数据库故障恢复控制等。
并发控制——数据库是一个共享资源,可以供多个用户使用。当多个用户并发地存取同一数据时,就有可能发生冲突,读取或存储不正确的数据。使用数据库管理系统提供的并发控制机制可以合理地安排并发事务的并发操作。
安全性控制——数据安全性控制是指防止未被授权者非法访问数据库。主要措施有鉴定身份、设置口令、控制用户存取权限、数据加密等。
故障恢复——数据库运行过程中有可能发生各种故障,包括操作故障、系统故障、介质故障等。数据库管理系统提供数据库恢复机制,使用它可以把数据库从故障状态恢复到故障发生前某一已知的正确状态。数据库恢复主要通过记载事务日志和数据库定期转储来实现。
目前常用的数据库管理系统有很多,根据它们的功能,大致可分为两大类:
① 大中型数据库管理系统,如DB2、Oracle、Sybase、SQL Server等。
② 小型数据库管理系统,如Microsoft Office套装软件中的Access、Visual FoxPro等。
(4) 数据库应用系统
指系统开发人员利用数据库系统资源开发出来的、面向某一类实际应用的应用软件系统。数据库应用系统主要分为两大类。
① 管理信息系统:管理信息系统主要是指面向机构内部业务和管理的数据库应用系统,例如学生管理系统、人事管理系统、财务管理系统、物资管理系统等。
② 开放式信息服务系统:开放式信息服务系统是指面向外部、提供动态信息查询功能,以满足不同信息需求的数据库应用系统。例如,证券实时行情系统、经济信息系统等。
(5)相关人员
数据库系统中的相关人员包括最终用户、数据库应用系统开发人员及数据库管理员。最终用户指通过数据库应用系统的用户界面使用数据库的人员,他们不需要了解太多的数据库专业知识。数据库应用系统开发人员包括系统分析员、系统设计员和程序员,他们分别负责应用系统的分析、应用系统的设计和数据库的设计,以及最后根据设计要求创建数据库和编制程序。数据库管理员是数据管理机构中负责数据库建立、维护和管理工作的人员,他们是保证数据库系统正常运行的工作人员。
在数据库系统中,各种系统和相关人员之间的层次关系如图1.4所示。
图1.4 数据库系统组件间的关系
1.2.2 数据库系统的体系结构
要开发一个数据库应用系统,首先要了解数据库系统的体系结构,以便选择相应的数据库管理系统及开发工具。数据库系统的体系结构大体上分为4种模式:单用户模式、主从式多用户模式、客户机/服务器模式和Web浏览器/服务器模式。
(1) 单用户数据库系统
单用户数据库系统将数据库、数据库管理系统和数据库应用程序安装在同一台计算机上,由一个用户独占系统,如图1.5所示。不同系统之间不能共享数据。这是一种应用最早、最简单的数据库系统。
图1.5 两个相互独立的单用户数据库系统
(2) 主从式多用户数据库系统
主从式多用户数据库系统将数据库、数据库管理系统和数据库应用程序安装在主机上,多个终端用户使用主机上的数据和程序,如图1.6所示。在这种结构中,所有处理任务都由主机完成,用户终端本身没有应用程序和数据。当终端用户数目增加到一定程度时,主机任务会过分繁重,从而形成瓶颈,对用户请求的响应速度变慢。
图1.6 主从式多用户数据库系统
(3) 客户机/服务器数据库系统
随着计算机网络技术的发展,使计算机资源共享成为可能。客户机/服务器(Client/Server,简称C/S)数据库系统不仅可以实现对数据库资源的共享,而且可以提高数据库的安全。在C/S数据库系统中,客户机提供用户操作界面,运行业务处理;数据库服务器专门用于执行数据库管理系统功能,提供数据的存储和管理,如图1.7所示。在C/S结构中,客户端应用程序通过网络向数据库服务器发出操作命令,服务器根据命令进行相应数据操作后,只将结果返回给用户,从而减少了网络上的数据传输量,提高了系统的性能。
图1.7 C/S数据库系统结构
(4) Web浏览器/服务器数据库系统
随着Internet技术的发展,出现了Web数据库。Web数据库的访问采用Web浏览器/服务器(Browser/Server,简称B/S)结构,如图1.8所示。在B/S结构中,客户端采用标准通用的浏览器,服务器端有Web服务器和数据库服务器。用户通过浏览器,按照HTTP协议向Web服务器发出请求,Web服务器对浏览器的请求进行处理,将用户所需信息返回到浏览器。
图1.8 B/S数据库系统结构