
本书系统地阐述了数据库系统的基本概念、基本原理,并结合PowerBuilder数据库开发工具和具体的应用实例,详细讲述了数据库系统的开发过程。全书共分8章。第1章主要介绍数据库的基本概念、基本原理;第2章-第4章介绍当前最流行、应用最广泛、理论研究最多的关系数据库,对其基本概念、关系代数理论、查询语言、规范理论、查询优化等作了充分介绍;第5章介绍数据库保护技术;第6章和第7章主要介绍PB和SQL Server数据库应用系统开发与设计;第8章介绍数据库系统的研究与发展。本书理论与应用并重,概念清楚,系统性强,内容丰富,力图反映数据库领域的最新研究成果。本书可作为普通高等教育应用型本科院校计算机各专业数据库的教材和教学参考书,也可供从事数据库系统开发的人员及其他有关人员参考。
序 工程科学技术在推动人类文明的进步中一直起着发动机的作用。随着知识经济时代的到来,科学技术突飞猛进,国际竞争目趋激烈。特别是随着经济全球化发展和我国加入WTO,世界制造业将逐步向我国转移。有人认为,我国将成为世界的“制造中心”。有鉴于此,工程教育的发展面临着新的机遇和挑战。 迄今为止,我国高等工程教育已为经济战线培养了数百万专门人才,为经济的发展作出了巨大的贡献。但据IMD 1998年的调查,我国“人才市场上是否有充足的合格工程师”指标排名世界第36位,与我国科技人员总数排名世界第一形成很大的反差。这说明符合企业需要的工程技术人员特别是工程应用型技术人才市场供给不足。在此形势下,国家教育部近年来批准组建了一批以培养工程应用型本科人才为主的高等院校,并于2001、2002年两次举办了“应用型本科人才培养模式研讨会”,对工程应用型本科教育的办学思想和发展定位作了初步探讨。本系列教材就是在这种形势下组织编写的,以适应经济、社会发展对工程教育的新要求,满足高素质、强能力的工程应用型本科人才培养的需要。 航天工程的先驱、美国加州理工学院的马·卡门教授有句名言:“科学家研究已有的世界,工程师创造未有的世界。”科学在于探索客观世界中存在的客观规律,所以科学强调分析,强调结论的惟一性。工程是人们综合应用科学(包括自然科学、技术科学和社会科学)理论和技术手段去改造客观世界的实践活动,所以它强调综合,强调方案优缺点的比较并做出论证和判断。这就是科学与工程的主要不同之处。这也就要求我们对工程应用型人才的培养和对科学研究型人才的培养应实施不同的培养方案,采用不同的培养模式,采用具有不同特点的教材。然而,我国目前的工程教育没有注意到这一点,而是:①过分侧重工程科学(分析)方面,轻视了工程实际训练方面,重理论,轻实践,没有足够的工程实践训练,工程教育的“学术化”倾向形成了“课题训练”的偏软现象,导致学生动手能力差。②人才培养模式、规格比较单一,课程结构不合理,知识面过窄,导致知识结构单一,所学知识中有一些内容已陈旧,交叉学科、信息学科的内容知之甚少,人文社会科学知识薄弱,学生创新能力不强。③教材单一,注重工程的科学分析,轻视工程实践能力的培养;注重理论知识的传授,轻视学生个性特别是创新精神的培养;注重教材的系统性和完整性,造成课程方面的相互重复、脱节等现象;缺乏工程应用背景,存在内容陈旧的现象。④老师缺乏工程实践经验,自身缺乏“工程训练”。⑤工程教育在实践中与经济、产业的联系不密切。要使我国工程教育适应经济、社会的发展,培养更多优秀的工程技术人才,我们必须努力改革。 组织编写本套系列教材,目的在于改革传统的高等工程教育教材,建设一套富有特色、有利于应用型人才培养的本科教材,满足工程应用型人才培养的要求。 本套系列教材的建设原则是: 1保证基础,确保后劲 科技的发展,要求工程技术人员必须具备终生学习的能力。为此,从内容安排上,保证学生有较厚实的基础,满足本科教学的基本要求,使学生日后具有较强的发展后劲。 2突出特色,强化应用 围绕培养目标,以工程应用为背景,通过理论与工程实际相结合,构建工程应用型本科教育系列教材特色。本套系列教材的内容、结构遵循如下九字方针:知识新、结构新、重应用。教材内容的要求概括为:“精”、“新”、“广”、“用”。“精”指在融会贯通教学内容的基础上,挑选出最基本的内容、方法及典型应用;“新”指在将本学科前沿的新进展和有关的技术进步新成果、新应用等纳入教学内容,以适应科学技术发展的需要。妥善处理好传统内容的继承与现代内容的引进。用现代的思想、观点和方法重新认识基础内容和引入现代科技的新内容,并将这些按新的教学系统重新组织;“广”指在保持本学科基本体系下,处理好与相邻以及交叉学科的关系;“用”指注重理论与实际融会贯通,特别是注入工程意识,包括经济、质量、环境等诸多因素对工程的影响。 3抓住重点,合理配套 工程应用型本科教育系列教材的重点是专业课(专业基础课、专业课)教材的建设,并做好与理论课教材建设同步的实践教材的建设,力争做好与之配套的电子教材的建设。 4精选编者,确保质量 遴选一批既具有丰富的工程实践经验,又具有丰富的教学实践经验的教师担任编写任务,以确保教材质量。 我们相信,本套系列教材的出版,对我国工程应用型人才培养质量的提高,必将产生积极作用,会为我国经济建设和社会发展作出一定的贡献。 机械工业出版社颇具魄力和眼光,高瞻远瞩,及时提出并组织编写这套系列教材,他们为编好这套系列教材做了认真细致的工作,并为该套系列教材的出版提供了许多有利的条件,在此深表衷心感谢! 编委会主任 湖南工程学院院长刘国荣教授 前言 数据库技术自20世纪60年代后期出现以后,一直活跃在数据处理领域。二十多年来,数据库技术得到了迅速发展,已经成为计算机科学的一个重要分支。由于数据库技术已经成为开发各种信息系统的重要工具,它的推广使用,使得计算机应用深入到工农业生产、商业管理、办公自动化、科学研究和工程技术的各个领域。随着社会各个领域的迫切要求和广泛应用,人们对数据库技术重要性的认识越来越明确,对它的应用和学习要求也越来越迫切。 本书是编者在多年从事数据库系统教学和科研的基础上编写而成的。在编写过程中,本着由易到难、循序渐进、理论与实践并重、突出特色的原则,力求做到概念清楚、深入浅出、理论联系实际和面向应用。全书结构合理,选材精练,重点突出应用最广泛的关系数据库的设计,对它的概念、原理进行了较为深入的讨论。为了突出实际应用,结合PowerBuilder 数据库开发工具和具体的应用实例,详细讲述了数据库系统的开发过程,以使学生在学习过程中能更好地把理论与实际结合起来,从而达到更好的学习效果。另外,在内容选材上,我们还注意尽量反映这一领域的新方法、新技术,以使学生能对数据库领域的前沿动态能有初步的了解。 全书共分8章。第1章主要介绍数据库的基本概念、基本原理;第2章至第4章介绍当前最流行、应用最广泛、理论研究最多的关系数据库,对其基本概念、关系代数理论、查询语言、规范化理论、查询优化等作了充分介绍;第5章介绍数据库保护技术;第6章和第7章介绍PB和SQL Server数据库应用系统开发与设计;第8章介绍数据库系统的研究与新发展,力图反映数据库领域的最新研究成果。 本书由靳敏任主编,由夏素霞、张益星任副主编。第1、2、7章由靳敏编写,第3、6章由夏素霞编写,第4、5、8章由张益星编写,周屹参与编写了第7章部分内容。全书由靳敏统稿和定稿。 本书由李斌主审。在本书的编审过程中,得到了许多同行的大力支持,提出了许多宝贵意见,在此表示深深的谢意。 由于时间仓促及作者水平有限,错误和不当之处在所难免,敬请广大读者批评指正。 编者 2003年10月
目录
序
前言第1章数据库系统导论1
11引言1
111数据与数据处理1
112数据管理技术的发展过程2
113数据库的概念3
114数据库系统的主要特征6
12现实世界的数据描述9
121现实世界9
122信息世界10
123计算机世界10
124常用术语的说明10
13数据模型11
131层次模型11
132网状模型12
133关系模型13
134对传统数据模型的评价14
135E-R数据模型17
14数据库系统结构20
141数据库系统结构的一些概念20
142数据库系统的组成22
143数据库管理系统24
144数据库语言26
145数据库管理员29
146数据字典30
147数据库系统的工作流程32
习题33
第2章关系数据库及查询优化34
21关系模型的基本概念34
211笛卡儿积与关系定义34
212关系的一些基本概念35
22关系模型及其描述36
221关系模型概述36
222关系模式37
223关系模型的完整性规则39
23关系代数39
231传统的集合运算39
232专门的关系运算40
24关系演算语言44
241元组关系演算语言ALPHA45
242域关系演算语言QBE48
25查询优化概述及一般策略50
251查询优化概述50
252查询优化的一般策略51
26SQL Server数据库52
261SQL Server特点52
262SQL Server的数据库管理52
263数据完整性61
习题63
第3章关系数据库标准
语言——SQL6431SQL语言概述64
311SQL的特点64
312基本概念65
313SQL语言的主要组成65
32Transact—SQL的附加语言元素66
321Transact—SQL基本元素简介66
322Transact—SQL的几个常用
语句70
323Transact—SQL的执行环境71
33Transcat—SQL语言的数据定义
功能73
331数据库的创建73
332基本表的创建78
333索引的建立和撤消84
34SQL语言数据操纵功能89
341SQL数据查询90
342SQL数据插入、删除和修改98
35视图102
351理解视图102
352视图的定义和删除103
353视图的查询与更新105
36存储过程技术106
361存储过程的概念106
362存储过程的分类107
363存储过程的创建108
364删除存储过程110
37触发器111
371触发器的概念111
372创建和删除触发器111
373使用触发器的一点建议115
38数据库的完整性115
381完整性的概念115
382完整性控制的实现方式116
39数据库的安全性120
391安全性的概念120
392数据库的安全性措施120
310嵌入式SQL122
3101嵌入式SQL语句与主语言
之间的通信123
3102不用游标的SQL语句123
3103使用游标的SQL语句125
3104动态SQL语句127
习题129
第4章关系数据库理论131
41基本概念131
411函数依赖131
412平凡函数依赖和非平凡
函数依赖132
413完全函数依赖与部分
函数依赖132
414传递函数依赖132
415码132
42关系模式的规范化133
421规范化理论的主要内容133
422范式133
423多值依赖与第四范式(4NF)137
424关系模式的规范化139
43模式分解140
431函数依赖集的投影140
432模式分解140
433保持函数依赖性的分解141
434无损连接分解141
44数据库设计142
441数据库设计的任务、内容
和特点142
442数据库设计的步骤143
443需求分析144
444概念结构设计148
445逻辑结构设计156
446数据库物理设计157
447数据库实施160
448数据库运行和维护162
习题163
第5章数据库的并发控制与恢复164
51数据库的并发控制164
511事务及并发控制的基本概念164
512并发操作与数据的不一致性165
513封锁及封锁协议167
514死锁和活锁170
515并发调度的可串行性172
516两段锁协议173
517基于时间标志的并发控制173
52SQL Server的并发控制策略175
53数据库的恢复177
531故障的种类178
532数据恢复的实现技术178
533数据库恢复策略180
534具有检查点的数据恢复技术182
54SQL Server的恢复策略183
541SQL Server的备份类型183
542SQL Server备份的操作方式184
543SQL Server的数据备份或
恢复策略184
习题185
第6章Power Builder 80 基础186
61Power Script语言186
611Power Script语言基础186
612数据类型187
613变量、常量和表达式188
614过程控制语句189
62Power Builder 80应用程序
设计入门190
63菜单和MDI的应用程序的设计191
64常用控件的使用195
65数据库的建立与应用199
66游标的使用203
67用嵌入式SQL操作数据库204
68多表更新205
69数据更新及自动配置ODBC
的方法207
610通用查询程序209
习题214
第7章PB数据库应用系统设计实例
——超市仓库管理系统21571用户需求215
711超市仓库管理系统及POS
机的简介215
712超市仓库管理系统及POS机的
用户需求215
72超市仓库管理系统及POS机的
分析和设计216
721超市仓库管理系统及POS机的
分析和概要设计216
722超市仓库管理系统及POS机
数据库设计216
73超市仓库管理系统及POS机的
具体实现220
731后台数据库的设计220
732系统模块的具体实现220
733收银机的设计232
734系统的实现234
74主要原码清单235
741仓库管理系统235
742收银机246
第8章数据库系统的研究与
新进展25481分布式数据库系统254
811分布式数据库系统概述254
812分布式数据库系统的
体系结构255
813分布透明性257
814分布式数据库系统(DDBS)
的组成258
815分布式数据库的应用258
82面向对象的数据库系统258
821面向对象的数据模型259
822类和类层次261
823面向对象的数据库语言263
824对象关系数据库管理系统263
83其他新型数据库系统264
831演绎数据库系统264
832模糊数据库系统266
833并行数据库267
834主动数据库269
835多媒体数据库270
836工程数据库270
习题271
参考文献272