
1.2 数据库系统概述
数据库系统是指在计算机系统中引入数据库后的系统,通常由计算机硬件、软件、数据库和数据用户组成。
1.2.1 数据库系统的构成
数据库系统(Database System,DBS)由以下几个主要部分组成。
(1)硬件系统(Hardware System,HWS)。数据库系统的硬件平台具有满足数据库需求的存储、计算、通信和服务的能力,为数据库的持续发展提供保障。大型数据库系统的环境一般是由超级数据服务器系统为核心的海量数据存储、处理和服务搭建的。
(2)操作系统(Operating System,OS)。数据库系统的一个关键因素是正确选择操作系统,即根据数据库系统的硬件平台、数据库的处理和安全需求选择相适应的操作系统。当前在数据库系统中比较流行和较为常用的操作系统有Windows、UNIX和Linux等。
(3)数据库(Database,DB)。数据库是指长期保存在计算机的存储设备上,按照某种模型组织起来的、可以被各种用户或应用共享的数据集合。在本章第1.2.2小节中将介绍数据库的体系结构。
(4)数据库管理系统(Database Management System,DBMS)。数据库管理系统是一种操作和管理数据库的大型软件,用于建立、使用和维护数据库,对数据库进行统一的管理和控制,以保证数据库的安全性和完整性。用户通过DBMS访问数据库中的数据,数据库管理员也通过DBMS进行数据库的维护工作。在本章第1.2.3小节中将进一步介绍数据库管理系统的功能与产品。
(5)数据库应用系统的开发工具(Development Tools)及数据库接口(Database Interface,DBI)。一般不采用某些数据库管理系统自含的语言开发应用系统,而是使用其他程序设计语言及数据库接口配套开发数据库系统的应用程序,为用户提供友好和快捷的操作界面。当前常用来开发数据库应用系统的开发工具有VB.NET、C#、PowerBuilder、Java和Delphi等,数据库接口有ADO.NET、JDBC或ODBC等,使开发人员可以用程序设计语言编写完整的数据库应用程序。
(6)数据库应用系统(Database Application System,DBAS)。数据库应用系统通常提供可视化操作界面供终端用户使用,进行日常数据处理工作。例如,企事业单位的财务管理系统、学校的教务管理系统、图书馆的图书管理系统和企业的ERP等。
(7)数据库用户(Database User)。数据库系统中通常包括四种类型的用户,分别是数据库管理员、数据库分析师、应用程序员和终端用户,这些用户均是我们将来可能面向的职业岗位。其中,数据库分析师和应用程序员是软件公司数据库开发岗位上的工作人员,数据库管理员和终端用户是企事业单位信息管理部门和各应用部门岗位上的工作人员。
- 数据库管理员(Database Administrator,DBA):负责整个数据库系统的建立、管理、运行、维护和监控等系统性工作,以及用户登记、存取数据的权限分配等服务性工作,必须具有计算机及数据库方面的专业知识,还要对整个计算机软硬件系统的构成,以及所采用的数据库管理系统比较熟悉。通常数据库管理员由经验丰富的计算机专业人员担任。
- 数据库分析师(Database Designer/Analyst,DBD):根据数据库在某一方面的应用,同相关业务人员一起进行需求分析,建立概念数据模型和逻辑数据模型,搜集和整理数据,利用计算机中的数据库管理系统和数据库定义语言或操作界面建立相应的数据库。
- 应用程序员(Application Programmer):根据已有的数据库和用户的功能需求,利用VB.NET、C#、PowerBuilder、Java或Delphi等数据库应用系统开发工具编制出功能丰富、操作简便、满足用户需求的应用系统,供终端用户使用。应用程序员既要熟悉数据库方面的知识,又要熟悉至少一种数据库开发工具软件,同时还要了解数据库所属部门的业务知识。
- 终端用户(End User):使用数据库的最广泛群体,是数据库为之服务的对象。如学校学籍管理员、银行出纳员、窗口售票员、企业销售员、仓库管理员和住宿登记员等都是相应数据库系统的终端用户。他们无需编写程序,只要通过含有菜单、按钮和图标等各种控件的可视化窗口,就能够方便自如地使用数据库,开展业务工作。终端用户通常是仅熟悉本身业务工作的非计算机专业的人员。
1.2.2 数据库的体系结构
数据库在计算机系统中是由DBMS这个专用软件管理的,为了使数据库具有数据独立性,不因数据库逻辑结构和存储结构的改变而影响应用程序,从而给应用程序员带来负担,为了降低系统维护的代价和提高系统的可靠性,通常DBMS把数据库体系结构建立为三级模式结构和二级存储映像。数据库的体系结构、数据库对象和SQL数据定义语言的关系如图1-3所示。

图1-3 数据库的体系结构
1. 数据库的三级模式结构
(1)内模式。内模式也被称为物理结构、存储模式或物理模式,是对数据的物理结构和存储方式的描述。它是数据库中全体数据的内部表示或底层描述,是三级模式结构的最底层。内模式对应着实际存储在外存储介质上的数据库,通常以文件形式存在。内模式反映数据库的存储观。
DBMS提供描述内模式的定义语言。例如,CREATE DATABASE。
(2)模式。模式也被称为整体逻辑结构、逻辑模式或全局模式,是对数据的全体数据逻辑结构和特征的描述。它是现实世界某应用环境(企事业单位)的所有信息内容集合的表示,是三级模式结构的中间层,是由数据库设计者综合所有用户的数据,按照统一的观点构造的全局逻辑结构,是所有用户的公共数据视图。通常通过建立数据模型的方法来抽象、表示和处理现实世界中的数据和信息。模式反映数据库的整体观。
DBMS提供描述模式的定义语言。例如,CREATE TABLE。
(3)外模式。外模式也被称为局部逻辑结构、用户模式或子模式,是对数据库用户看到并允许使用的局部数据的逻辑结构和特征的描述,是三级结构的最外层。外模式是从模式导出的一个子集,包含模式中允许特定用户使用的那部分数据,是数据库用户的数据视图,是保护数据库安全的一个有力措施。外模式反映数据库的用户观。
DBMS提供描述子模式的定义语言。例如,CREATE VIEW。
2. 数据库的二级存储映像
数据库系统的三级模式是对数据的三个抽象层次,它把数据的具体组织留给DBMS管理,使用户能逻辑、抽象地处理数据,而不必关心数据在计算机中的具体表示方式与存储方式。为了能够在内部实现这三个抽象层次的联系和转换,数据库管理系统在这三级模式之间提供了两层映像。
(1)外模式/模式映像。当数据库的整体逻辑结构发生变化时,通过调整外模式和模式之间的映像,使得外模式中的局部数据及其结构(定义)不变,程序不用修改,从而确保了数据的逻辑独立性。
(2)模式/内模式。当数据库的存储结构发生变化时,通过调整模式和内模式之间的映像,使得整体模式不变,当然外模式及应用程序也不用改变,从而实现了数据的物理独立性。
1.2.3 数据库管理系统简介
1. 数据库管理系统的功能
DBMS提供多种功能,可使多个应用程序和用户用不同的方法定义和操作数据,维护数据的完整性和安全性,以及进行多用户下的并发控制和恢复数据库等,主要有以下几个方面。
(1)数据定义功能。DBMS提供数据定义语言(Data Definition Language,DDL)实现对数据库三级结构的描述,包括定义数据的完整性约束、保密限制等约束。
(2)数据操作功能。DBMS提供数据操作语言(Data Manipulation Language,DML)实现对数据的操作。基本的数据操作有两类:检索(查询)和修改(包括插入或删除数据行和更新数据)。
(3)数据控制功能。DBMS提供数据控制语言(Data Control Language,DCL)实现对数据库的运行控制。对数据库的保护主要通过以下五个方面实现。
- 数据完整性的控制。保证数据库中数据及语义的正确性和有效性,防止任何造成数据错误的操作。
- 数据安全性的控制。防止未经授权的用户存取数据库中的数据,以避免数据的泄露、更改或破坏。
- 数据库的恢复。在数据库一旦被破坏或数据不正确时,系统有能力把数据库恢复到正确的状态。
- 数据库的维护。包括数据库的数据载入、转换、转储以及数据库的改组和性能监控等功能。
- 数据库的并发控制。在多个用户同时对同一个数据进行操作时,系统应能加以控制,防止破坏数据库中的数据。
(4)数据字典。DBMS自动建立和维护数据字典(Data Dictionary,DD),用于存放有关数据的数据(元数据),供DBMS和用户使用。数据库三级模式结构的定义均自动保存在数据字典中,如表、视图和索引的定义以及用户的权限等。此外,数据字典还自动存放来自系统的状态和数据库的统计信息,如数据库和磁盘的映射关系以及数据使用频率的统计等。
以上是DBMS所具备的基本功能。通常用于大型信息管理用途的DBMS服务功能较强、较全,所支持的用户数较多;用于中小信息管理用途的DBMS服务功能较弱,所支持的用户数较少,它们之间的价格差异也很大。
2. 数据库管理系统的产品
基于关系模型的数据库管理系统已日臻完善,同时作为商品化软件已经广泛应用于各行各业,可在客户机/服务器结构的分布式多用户环境中应用,使数据库系统的应用进一步得到扩展。
当前较为流行和常用的数据库管理系统产品有Oracle、SQL Server、IBM DB2、MySQL、Informix、Sybase和Access等,这些产品本身也随着技术的进步不断更新版本。
SQL Server 2008 R2是微软2010年发布的一个功能强大且可靠的数据库管理系统,它不仅功能丰富,还能更好地保护数据,并且还可改善嵌入式应用程序、轻型网站和应用程序以及本地数据存储区的性能。本教材将以SQL Server 2008 R2为平台介绍数据库的开发与维护,读者可以参考第4章的内容下载并安装SQL Server 2008 R2评估版,初步使用其管理平台进行简单操作。
随着新型数据模型及数据管理实现技术的推进,可以预期各种DBMS产品的性能还将不断更新和完善,应用领域也将得到进一步拓宽。