2.2 数据库系统的组成
1.数据库系统
数据库系统(Database System,DBS)是合理组织和动态存储有联系的各种数据,并对其进行统一调度、控制和使用的计算机软件和硬件的总和。要在计算机中加工处理数据,仅仅有数据库这些“原始材料”是远远不够的,还必须有一些支持对象来完成对数据库的操作。数据库与这些支持对象一起构成了数据库系统。数据库系统由6个部分组成(DB):数据库、硬件平台、软件平台、数据库管理系统(DBMS)、数据库应用系统(DBAS)、用户(包括数据库管理员用户和终端用户),这6个部分的层次关系如图2-1所示。
图2-1 数据库系统的层次结构图
2.数据库
数据库(Database,DB)是按照一定的组织结构存储在存储介质上,并且相互关联的数据的集合。数据库中的数据不是简单地堆积在一起,它们具有统一的结构形式,相互之间有一定的关系,并且可被各个应用程序所共享。
数据库中的数据具有集成性和共享性,即数据库集中了各种应用数据,进行统一的构造与存储,使它们可以更加方便地访问和处理。
数据库是数据处理的基础,数据库技术中的其他相关构件均是围绕数据库而展开的。
3.数据库管理系统
数据库管理系统(Database Management System,DBMS)是专门用来创建、操纵、管理、维护和监控数据库的系统软件,它对数据库提供安全访问机制和操纵管理机制,它是数据库系统的核心或基石。DBMS直接与操作系统打交道,负责对数据库进行统一管理与控制。用户或应用程序对数据库操作的各种命令都要通过数据库管理系统来解释与执行,数据库管理系统还承担着数据库的维护工作,并保证数据库中数据的安全性、可靠性、完整性、一致性及高度独立性。具体来说,数据库管理系统具备以下功能:
①定义功能。DBMS向用户提供数据定义语言(Data Definition Language,DDL),用于定义数据库的逻辑结构和数据库的存储结构、数据库中数据之间的联系,以及数据的完整性约束条件和保证完整性的触发机制等。
②操纵功能。DBMS还提供数据操纵语言(Data Manipulation Language,DML),用户通过DML可以完成对数据库中数据的操纵,可以添加、删除、修改数据,可以重新组织数据库的存储结构,可以完成数据库的备份和恢复等操作。
③查询功能。DML还为用户提供各种灵活的查询功能,使用户可以方便地使用数据库中的数据。
④控制功能。DBMS还承担对数据库的安全控制、完整性控制、多用户并发控制等各方面的控制。
⑤通信功能。在分布式环境下或网络数据库系统中,DBMS为不同的数据库之间提供通信功能。
目前常见的数据库管理系统有SQL Server、Oracle、DB2、Sybase、FoxPro、Access等,它们各有特点,适合于不同级别的应用系统。
4.数据库应用系统
以数据库管理系统(Database Application System,DBAS)为基础,运用数据库开发工具,针对某个特定的应用需要而设计与实现的逻辑程序、可视化界面等的总和,它属于应用软件的范畴,如教学管理系统、汽车销售系统、图书管理系统、人事管理系统、财务管理系统等等。无论是面向内部业务和管理的管理信息系统,还是面向外部提供信息服务的开放式信息系统,都是以数据库为基础和核心的计算机应用系统。
5.硬件平台
硬件平台是指数据库系统所依赖的硬件设施,主要有计算机硬件环境和网络环境。过去的数据库一般建在单机上,现在较多的数据是建在网络环境中。从发展趋势来看,数据库系统今后将以网络应用为主,其结构形式又以客户机/服务器(C/S)方式和浏览器/服务器(B/S)方式为主。
6.软件平台
软件平台包括操作系统、数据库系统开发工具、接口软件等。操作系统是所有应用软件的平台,目前常用的是Windows、UNIX(Linux)等;数据库系统开发工具包括过程程序设计语言(C,C++)、可视化开发工具(VB、PB、Delphi)以及与Internet有关的HTML和XML等;在网络环境下的数据库系统中,数据库与应用程序、数据库与网络间存在多种接口,它们需要用接口软件进行连接,否则数据库系统整体就无法运作,这些接口软件包括ODBC、JDBC、CORBA、COM、DCOM等。
7.用户
用户包括终端用户和数据库管理员用户。终端用户通过联机工作站与数据库系统交互,他们通过命令按钮及菜单等交互方式使用数据库中的数据,是数据库应用系统的使用者。数据库管理员需要根据应用的实际,制定数据库建设与维护的策略,并对这些策略的执行提供技术支持。数据库管理员负责技术层的全局控制。具体地来看,数据管理员有以下3方面的具体工作:
①数据库设计。由于数据库的集成性和共享性,必须有专人对多个应用的数据需求做全面的规划、设计和集成,这是数据管理员的基本任务。
②数据库维护。数据库管理员必须对数据库中的数据安全性、完整性、并发控制及系统恢复进行实施与维护。
③改善系统性能和提高系统效率。数据库管理员必须随时监视数据库的运行状态,不断调整内部结构,保持系统的最佳状态与最高效率。
作为Access的学习者,要求其扮演的角色应该是数据库管理员,而不是终端用户。