第1章 数据库系统认知

1.1 数据管理技术的产生和发展

1.1.1 数据处理的基本概念

在讨论数据管理技术之前,先简单介绍一下数据和数据处理的概念。
(1)数据(Data)。数据是对客观事物及其活动的抽象符号表示,是存储在某一种媒体上可以鉴别的符号资料。数据的形式可以是数字、文字、图形、图像、声音,以及学生档案、图书管理和员工的情况等。
例如:两名学生的考试成绩分别为85分和59分,这里85和59就是数据。
(2)信息(Information)。信息是指数据经过加工处理后所获取的有用知识,是以某种数据形式表现的。数据和信息是两个相互联系但又相互区别的概念,数据是信息的具体表现形式,信息是数据所表现的意义。也有人说信息是事物及其属性标识的集合。
例如:某学生看到自己的考试成绩是85分或59分,通过思考判断成绩及格或不及格,这里及格或不及格就是通过对数据85或59处理获取的信息。
(3)数据处理(Data Processing)。数据处理是指对数据进行加工的过程,即将数据转换成信息的过程,是对各种数据进行收集、存储、加工和传播的一系列活动的总和。 例如:编写一个C语言程序,对所输入的学生成绩进行分析判断并输出是否及格。 C源程序:

图像说明文字

运行该程序,当输入数据85或59时,通过if语句的判断处理将得到及格或不及格的信息。 我们经常应用的Word文字处理、Excel表格处理和Photoshop图像处理等都是对各种数据进行收集、存储、加工的过程,即计算机数据处理。

1.1.2 数据管理技术的发展

数据管理是指对各种数据进行分类、组织、编码、存储、检索和维护。数据管理技术经历了人工管理、文件系统和数据库系统三个阶段,正在向着网络化、智能化和集成化的方向发展。

1.人工管理阶段
20世纪50年代中期以前,计算机主要用于科学计算。那时硬件没有现在这样的磁盘,软件没有专门管理数据的软件,数据由计算或处理它的程序自行携带,程序设计依赖于数据表示。
人工管理阶段的特点如下。
● 数据不能长期保存。
● 应用程序本身管理数据。
● 数据不共享。
● 数据不具有独立性。

2.文件系统阶段
20世纪50年代后期到60年代中期,计算机不仅用于科学计算,还大量用于管理。硬件出现了磁鼓和磁盘,软件出现了高级语言和操作系统。程序和数据有了一定的独立性,并且有了程序文件和数据文件。但此时期的数据文件是为某一特定的应用服务的,修改了数据的逻辑结构就要修改相应的程序,反之亦然。程序设计仍然依赖于数据表示。
文件系统阶段的特点如下。
● 数据可以长期保存。
● 由文件系统管理数据。
● 数据冗余大,共享性差。
● 数据独立性差。
例如:编写一个C语言程序,建立10名学生的数据文件,已知每个学生的数据包括学号、课程名和成绩。
要求:用键盘输入10名学生的数据,把学生数据写入sdata.dat磁盘文件中。
C源程序:

图像说明文字

执行此程序,用键盘输入10名学生的学号、课程名和成绩,即可得到以下数据文件。

图像说明文字

对于这个程序,虽然学生的数据能够长期保存,但如果学生的数据结构发生变化,那么程序的相应部分也要进行修改。如果另一个程序也要使用学生的数据,则此程序的设计也必须充分考虑到学生数据文件(sdata.dat)的逻辑结构和物理结构。由于数据文件依赖相应程序,不能完全独立,所以不能为各种应用程序所共享,每个程序使用自己的数据文件必将造成数据冗余和随之带来的数据更新异常,同时依赖于程序的数据文件也不易于反映各数据文件之间的联系。

3.数据库系统阶段
从20世纪60年代后期开始,计算机应用于管理的规模越来越大,随着网络的发展,数据共享的需求也日益增加,计算机软硬件功能越来越强,从而发展了数据库技术。特别是关系型数据库技术已经非常成熟并且广泛地应用于企事业各部门的信息管理中,如事务处理系统、地理信息系统(GIS)、联机分析系统、决策支持系统、企业资源计划(ERP)、客户关系管理(CRM)、数据仓库和数据挖掘系统等都是以数据库技术作为重要支撑的。数据库系统阶段的主要特点如下。

● 数据结构化:用特定的数据模型来表示事物及事物之间的联系。
● 数据共享性高:减少数据冗余,减少更新异常。
● 数据独立性强:程序和数据相对独立。
● 数据粒度小:粒度单位是记录中的数据项,粒度越小处理速度就越快、越方便。
● 统一的管理和控制:数据定义、操作和控制由数据库管理系统(Database Management System,DBMS)统一管理和控制。例如,Access、Oracle和SQL Server等数据库管理系统软件。
● 独立的数据操作界面:DBMS提供管理平台,通过命令或界面(菜单、工具栏、对话框)对数据库进行访问和处理。

例如:在教务管理数据库“EDUC”中有一个选课表“SC”,在各种高级语言的程序中可以嵌入SQL查询语言进行数据查询。 表:SC

图像说明文字

执行下面的SQL查询语句,完成成绩在90分以上的学生情况的检索:

图像说明文字

查询结果如下:

图像说明文字

执行下面的SQL查询语句,完成成绩不及格的学生情况的检索:

图像说明文字

查询结果如下:

图像说明文字

从以上结果可以看出,查询语句与数据有很好的独立性。

4.数据管理技术的发展
数据、计算机硬件和数据库应用,这三者推动着数据库技术与系统进入数据结构多元化、存储异构化的时代。数据库要管理的数据的复杂度和数据量都在迅速增长;计算机硬件平台的发展仍然实践着摩尔定律,尤其是互联网的出现,极大地改变了数据库的应用环境,向数据库领域提出了前所未有的技术挑战。这些因素的变化推动着数据库技术的进步,出现了一批新的数据库技术,如Web数据库技术、并行数据库技术、数据仓库与联机分析技术、数据挖掘与商务智能技术、内容管理技术、海量数据管理技术和云计算技术等。限于篇幅,本书不可能逐一展开阐述这些方面的进展,读者可以通过继续学习和实践来体会新技术为数据管理带来的益处。

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.数据库的三级模式结构
(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产品的性能还将不断更新和完善,应用领域也将得到进一步拓宽。

1.3 数据模型

数据模型(Data Model)是现实世界数据特征的抽象,是站在计算机的角度,用模型的方式来描述数据、组织数据、处理数据的一种思想或一种方法。前述数据库体系结构中提到的模式就是将客观事物转换为数据模型的结果。

1.3.1 数据模型的基本概念

数据模型用来抽象、表现和处理现实世界中的数据和信息,是现实世界的模拟。为了把现实世界中的具体事物抽象、组织为某种DBMS支持的数据模型,人们常常首先把现实世界转换为信息世界,然后将信息世界转换为某一个DBMS支持的数据模型,如图1-4所示。

图像说明文字

1.现实世界
现实世界是由客观存在的事物及其联系构成的。
例如:学校里学生和课程均为客观事物,学生选课存在学生和课程之间的联系,如图1-4中的①所示。

2.信息世界(概念模型)
信息世界是对现实世界的认识和抽象描述,按用户的观点对数据和信息进行建模,不考虑在计算机和DBMS上的具体实现,所以被人们称之为概念数据模型,简称概念模型。
例如:学校教务管理系统中“学生”实体(Entity,E)和课程“实体”(Entity,E),以及实体之间的“选课”联系(Relationship,R),并派生出成绩“属性”(Attribute,A),构成的ER概念模型如图1-4中的②所示。

3.机器世界(数据模型)
机器世界是建立在计算机上的逻辑数据模型,简称数据模型。按计算机系统的观点,根据概念模型进行某种数据模型的转换,用于DBMS的实现。 例如:学校教务管理系统中采用关系型数据模型,其学生选修课程的数据模型为“Student(学生)”、“Course(课程)”和“SC(学生选课)”关系,如图1-4中的③所示。

1.3.2 数据模型的组成要素

数据模型是严格定义的一组概念的结合。这些概念精确地描述了系统的静态特性、动态特性和完整性约束条件。因此,数据模型通常由数据结构、数据操作和完整性约束三部分组成。

1.数据结构
数据结构是所研究的对象类型的集合。这些对象是数据模型的组成成分,它们包括两类,一类是与数据类型、内容、性质有关的对象,另一类是与数据之间的联系有关的对象。在数据库系统中,人们通常按照其数据结构的类型来命名数据模型。例如,层次模型、网状模型和关系模型。
数据结构用于描述系统的静态特征。DBMS的DDL实现数据库的数据结构定义功能。例如,用SQL Server的T-SQL定义一个学生表的语句如下:

图像说明文字

2.数据操作
数据操作是指对数据模型中各种数据对象允许执行的操作的集合,包括操作及有关的操作规则。其主要有检索和修改(包括插入、删除、更新)两大类操作。数据模型必须定义这些操作的确切含义、操作符号、操作规则以及实现操作的语言。
数据操作用于描述系统的动态特性。DBMS的DML实现数据库的数据操作功能。例如,用SQL Server的T-SQL对以上“学生”表插入一行数据的语句如下:

图像说明文字

3.数据完整性
数据完整性是为了保证数据模型中数据的正确性、一致性和可靠性,对数据模型提出的一系列约束或规则。数据完整性是为了防止数据库中存在不符合语义规定的数据和防止因错误信息的输入输出造成无效操作或错误信息而提出来的。
DBMS的DDL和DCL提供多种方法保证数据完整性。例如,用SQL Server的T-SQL在创建“学生”表的同时进行完整性约束定义的语句如下:

图像说明文字

对于这样定义的“学生”表,用户在输入学生的学号“SID”时,如果发生重复学号或者为空的时候系统将提示错误信息并要求纠正错误。当用户输入性别“Sex”时,也将只能输入“男”或“女”。当用户输入出生日期“Birthdate”时,只能输入合法的日期数据,从而保证了数据的正确性。

1.3.3 数据模型的结构分类

按照数据结构分类,数据库领域中的数据模型有以下四种。

1.层次模型
层次模型(Hierarchical Model)用树形结构来表示各类实体以及实体之间的联系,如图1-5所示。现实世界中许多实体之间的联系本来就呈现出一种自然的层次关系,但由于这种数据结构常用链接指针来表示,在需要动态访问数据时效率不高。对于某些应用系统要求很高的情况,数据的插入与删除等操作也有许多限制,现在已经很少采用了。

图像说明文字

2.网状模型
网状模型(Network Model)用图形结构来表示各类实体以及实体之间的联系,如图1-6所示。网状模型是对层次模型的扩展,是现实世界中许多实体之间的联系本来就呈现出的一种自然的图形关系。网状模型的缺点是结构复杂,用户不易掌握,扩充和维护都比较复杂。与层次模型的数据结构相同,数据的插入与删除等操作限制更多,现在也很少采用。

图像说明文字

3.关系模型
关系模型(Relational Model)用二维表结构来表示各类实体以及实体之间的联系,如表1-1所示。关系模型建立在严格的关系数学和集合论的基础上,是目前最重要的一种数据模型。

图像说明文字

1970年,美国IBM公司Sun Jose研究室的研究员E.F.Codd首次提出了数据库系统的关系模型,开创了数据库关系方法和关系数据理论的研究,为数据库技术奠定了理论基础。由于E.F.Codd的杰出工作,他于1981年获得ACM图灵奖。
20世纪80年代以来,计算机厂商新推出的数据库管理系统几乎都支持关系模型,非关系系统的产品也大多加上了关系接口。数据库领域当前的研究工作也都是以关系方法为基础的。
我们要学习的SQL Server 2008 R2就是一种支持关系模型的数据库管理系统。

4.面向对象模型 面向对象模型(Object Oriented Model)是用面向对象观点来描述现实世界实体(对象)的逻辑组织、对象间限制和联系等的模型。一系列面向对象核心概念构成了OO(Object Oriented)的模型基础,是有发展潜力的数据模型。由于其复杂性,目前还是一个发展方向,属于第二代数据库系统。

1.4 数据库设计基础

数据库技术是信息资源管理最有效的手段。数据库设计是指对于一个给定的应用环境,构造最优的数据库模式,建立数据库及其应用系统,有效存储数据,满足用户信息要求和处理要求。

1.4.1 数据库的设计方法

由于信息结构复杂性和应用环境的多样化,在相当长的一段时期内,数据库设计主要采用手工试凑法,缺乏科学理论依据和工程方法的支持,依赖于设计人员的经验和水平,从而难以保证工程的质量,增加了系统维护的代价。设计人员经过十余年的努力探索,提出了各种数据库设计方法,这些方法运用软件工程的思想总结出了各种设计准则和规程,这些都属于规范设计法。
在规范设计法中,著名的有新奥尔良(New Orleans)方法,它将数据库设计分为四个阶段:系统需求分析(分析用户需求)、概念设计(信息分析和定义)、逻辑设计(设计实现)和物理设计(物理数据库设计)。后来,S.B.Yao等又将数据库设计分为5个步骤。I.R.Palmer主张将数据库设计当成一步一步的过程并采用一些辅助手段实现每一过程。
基于ER或IDEF1X等方法的数据库概念设计方法、基于3NF(第三范式)的数据库逻辑设计方法和基于抽象语法规范的设计方法,都是在数据库设计的不同阶段上支持实现的具体技术和方法。
规范设计法从本质上看仍然属于手工设计方法,其基本思想是过程迭代和逐步求精。
目前常用的实用化和产品化的数据库设计工具软件有Oracle公司推出的Designer 2000、Sybase 公司的PowerDesigner和Microsoft公司的Office Visio等,数据库设计软件能自动或辅助设计人员完成数据库设计过程中的很多任务,但使用起来还有一定的难度和复杂度。本书将在第2章介绍如何使用Microsoft Office Visio的“数据库模型图”工具建立数据库的概念模型。

1.4.2 数据库的设计步骤

按照规范设计法,考虑数据库及其应用系统的开发全过程,将数据库设计分为以下六个阶段。

1.需求分析阶段
系统需求分析是管理信息系统开发中设计数据库的起点,其结果是否准确反映了客户的实际要求是否能够得到满足,将直接影响到后续各个阶段的设计,并影响设计结果是否合理和实用。
进行数据库设计首先要了解与分析用户的应用需求(数据与处理),收集资料并对资料进行分析整理,依据用户的组织结构画出数据流程图(Data Flow Diagram,DFD),进一步描述数据处理的功能需求,然后建立数据字典(Data Dictionary,DD),并把数据字典图集和数据字典的内容返回客户,进行用户确认,最后形成文档资料。系统需求分析的基本方法将在第2章中简单介绍。

2.概念设计阶段
根据系统需求分析的结果,使用ER或IDEF1X建模方法,建立实体及其属性、实体间的联系以及对信息的制约条件等抽象的概念数据模型。所建立的模型是以一种抽象的形式表示出来的,模型独立于计算机、独立于各种DBMS产品。数据库概念设计的基本方法将在第2章中较为具体地介绍。

3.逻辑设计阶段
将概念设计ER或IDEF1X概念模型转换成具体DBMS产品支持的数据模型,如关系模型(基本表),形成数据库的模式,并对数据进行优化处理。然后根据用户处理的要求,在基本表(Table)的基础上建立必要的视图(View),形成数据库的外模式。数据库逻辑设计的基本方法将在第3章中介绍。

4.物理设计阶段
在物理设计阶段,根据DBMS特点和处理的需要,对逻辑设计的关系模型进行物理存储安排并设计索引,形成数据库(Database)内模式。数据库物理设计的基本方法将在第5章和第6章中详细介绍。

5.开发实施阶段
运用DBMS提供的数据语言、工具及宿主语言,根据逻辑设计和物理设计的结果建立数据库,编制与调试应用程序,组织数据入库,并进行试运行。数据库应用与编程的基本方法将在第7章到第10章中重点介绍。

6.运行维护阶段
数据库应用系统经过试运行后即可投入正式运行。在数据库系统运行过程中必须不断地对其进行评价、调整与修改。数据库经常性的维护工作主要由数据库管理员来完成,包括数据库的转储和恢复,数据库的安全性、完整性控制,数据库性能监视、分析和改造,以及数据库的重构。数据库的安全性管理与数据库的恢复与传输将在第11章和第12章中介绍。
在实际开发过程中,软件开发并不是按顺序从第一步进行到最后一步的,而是在任何阶段,以及在进入下一阶段前一般都有一步或几步的回溯。在测试过程中出现的问题可能要求修改设计,用户还可能会提出一些需要来修改需求说明书等。
本章介绍了数据处理的发展阶段(人工管理、文件系统、数据库)。了解了数据库系统(DBS)的组成(计算机硬件、操作系统、数据库(DB)、数据库管理系统(DBMS)、应用系统开发工具、应用系统、数据库用户),其中重点学习了数据库(DB)的三级模式结构和数据库管理系统(DBMS)的主要功能。还学习了数据库设计的基本方法和步骤,设计数据库所需的数据模型的基本概念(信息世界、概念世界、机器世界)、组成要素(数据结构、数据操作、数据完整性)以及模型分类(层次、网状、关系)。通过学习读者可以全面了解数据库开发与维护的主要技术方面,为后续的学习打下良好的基础。

目录

推荐用户

同系列书

人邮微信
本地服务
教师服务
教师服务
读者服务
读者服务
返回顶部
返回顶部