发展部件技术分享 http://blog.sciencenet.cn/u/求新 研究方向:数据库、MIS,教育部教指委计算机分委会专家工作组成员

博文

《数据库系统原理与应用》(清华大学出版社)出版前言与目录

已有 3924 次阅读 2014-3-29 08:36 |个人分类:生活点滴|系统分类:博客资讯| 数据库系统, 清华大学出版社, 软部件技术

 

数据库技术是一门发展迅速,在科学与社会各个领域广泛应用的技术,是计算机科学的重要分支,是建设各类信息系统的基础,目前其应用已从信息检索、一般管理扩大到科技计算、计算机辅助设计、人工智能等各个领域。

本书从应用角度去看数据库,力求由浅入深,由具体到抽象,理论与实践紧密相结合,既系统、完整又突出应用,使读者能了解什么是数据库及数据库要达到的目标,掌握数据库的设计方法并了解实际数据库应用系统的组成及利用SQL Server 2008关系数据库及JAVA程序设计语言设计与实现的方法。

本书先对比了应用JAVA语言进行数据处理的方法和SQL Server环境下数据存储与操作方法的不同,通过实验认识什么是数据库,说明数据库理论中一些至关重要的概念。通过对不同数据逻辑结构与物理结构的介绍,让读者更切实地体会要完成数据库系统的目标需要解决的矛盾。

本书以SQL SERVER 2008为例使关于数据库原理的学习与数据库应用实际紧密结合,使更容易地加深对数据库基本理论、基本概念的理解。

本书共分为十二章:

第1章说明了数据处理发展历程,说明数据库理论中的一些基本的概念与方法。包括:  数据数据处理的三个阶段、数据库系统与数据库管理系统。借助为本书研制的程序FileRead.java对数据库数据文件进行剖析,从应用角度分析数据库对数据管理与处理的方法。包括:

l          数据库的基本目标;数据共享;实现数据共享的基本方法;数据独立与数据集成;数据共享可以减少冗余,保证数据的一致性;数据共享必须明确的问题有数据的完整性控制和安全性控制。

l         为实现数据独立,采用三级模式、二级映像的结构,在计算机中具体实现时要求选择合适的存储结构与存取方法。

l          数据库应用系统设计的基本方法是抽象与概括,从实际应用系统获取数据模型,逐渐地求得计算机能够实现的数据结构;

第2章回顾了数据结构中所学的几种重要的基本文件组织,包括顺序文件组织(包括顺序文件与链表组织)和随机文件组织。简单介绍了数据库系统中数据是如何组织和存储的,IMS层次数据库、DBTG网状数据库、关系数据库等的特点与结构。为了有效使用数据,提高查询速度,采用了索引文件。索引文件、索引链接文件、多重链表文件、倒排表、B+树等的原理与结构。包括:

l         基本文件组织。

l         索引的概念及意义。

l         常见的索引结构:索引文件,索引链接文件,多重链表文件,倒排表,B+树。

第3章介绍数据模型,为了设计出满足需要的数据库结构,可以先设计面向语义的数据模型,再转化为经典数据模型,继而求得数据模式。

包括:  

l         数据模型的概念。

l         数据之间联系、E-R

l         层次数据模型、网状数据模型与关系数据模型。

l         从E-R图转化求出关系数据模型的方法。

第4章介绍关系数据库的基本概念、函数依赖及其分类、候选关键字的概念及其分析方法、关系规范化。关系数据库所处理的数据是现实世界实体属性的抽象,彼此间存在联系,在关系中属性之间表现出函数依赖关系。由此理论可引出关系规范化的基本理论与方法。包括:

l         关系的定义及其基本要求。

l         函数依赖的概念及完全函数依赖、部分函数依赖和传递函数依赖。

l         候选关键字与主属性。

l         第一范式、第二范式、第三范式与关系规范化。

l         关系分解的正确性。

l         函数依赖理论与属性集的闭包。

第5章介绍关系数据库理论基础:关系代数与关系演算,传统的集合运算与专门的关系运算、关系演算等。关系代数和关系演算是包括关系查询在内的数据操作的基础。

包括:

l         四种传统的关系运算:并、交、差、积。

l         四种专门的关系运算:投影、选择、连接和除法。

l         关系演算。

第6章介绍国际标准化组织ISO批准的关系数据库标准语言SQL,包括定义类语句、查询类语句、操纵类语句和控制类语句。它们是目前所有关系数据库系统对数据操作的核心内容。包括:

l         SQL关于表、视图、索引的定义语句及结构修改、删除语句。

l         SQL查询语句,对单表的查询,对多表的查询,条件查询,嵌套查询,统计查询及前述八种关系运算的SQL语句实现。

l         录入、修改、删除等SQL数据维护语句

l         数据安全性控制的实现,SQL系统权限授予与文件权限授予及撤消语句。

l         语法树与查询优化概念与方法。

第7章介绍SQL SERVER 2008数据库管理系统的基本操作方法。包括:

l         SQL SERVER 2008系统管理工具与基本操作方法。

l         关于库、表、视图、索引等的概念与可视化操作方法。

l         涉及库、表、视图、索引等操作的基本命令:建立数据库的命令、对表结构定义与维护命令,对数据维护命令,排序与索引命令,查询命令,统计命令及其他命令。

l         数据完整性、安全性的概念与实现。

l         SQL SERVER 2008SQL语言的扩展。

第8章介绍T-SQL 语言及其基本的语法、句法与程序设计方法。涉及常量、变量、表达式、基本函数、基本命令语句、程序设计方法与工具。包括:

l         常量、变量、表达式的构成,数据类型与存储方法。

l         赋值语句,输入输出语句,程序控制语句,过程的概念与结构。

l         常用函数、系统函数、自定义函数。

l         游标的概念及应用。

l         存储过程与触发器的概念及设计方法。

第9章介绍了数据库应用系统设计方法,包括需求分析、概念结构设计、逻辑结构设计、物理设计。数据库应用系统的结构特点与设计要求。

l         需求分析、概念结构设计、逻辑结构设计与物理设计中主要问题与解决方法。

l         应用系统模块设计。

l           数据维护程序、查询程序、统计分析程序、导入导出程序等程序模块的任务与特点。

第10章介绍利用软部件设计数据库应用系统的方法与技术。包括:部件概念及设计方法、应用部件技术设计数据库应用系统的方法。

l         软部件基本概念,应用软部件设计应用系统的方法。

l         为本书设计的软部件库组成,接口参数的概念与内容,生成系统菜单的方法。

l         数据维护、数据查询、统计分析、导入导出、打印报表等部件功能与使用方法。

l         典型代码。

第11章介绍数据库管理的基本技术。包括:

l         事务。事务的原子性,永久性,串行性和隔离性。

l         并发控制的概念,加锁技术,常用的共享锁(S锁)和排它锁(X锁),死锁的概念,防止死锁的几种措施。

l         数据备份的概念,备份的方法。

l         数据恢复的概念,恢复的三种方式。

第12章介绍数据库理论与应用正在发展的技术与方法。包括:

l         数据整合的概念及方法。

l         数据仓库与数据挖掘的概念及应用。

l         面向对象的数据库设计方法,Rose的使用方法。

l         分布式数据库系统的概念与特点,目前网络环境下数据库分布的情况与需求。

随本书已公开发布“管理信息系统软部件库(JAVA学习版)”全部源代码及“部件库最小系统(VFP4.0版和网络版)”全部源代码。“管理信息系统软部件”不以具体的应用系统为目标,而是根据对任意的“数据库”的基本操作进行设计,从实际应用角度表现数据库的理论与方法,将界面设计与功能设计有机结合到一起,围绕数据管理、数据定义、数据操作展开。它就如同电子产品中的智能插件、机械产品中的通用部件一样,只需设定初始参数、拨定若干开关就能用于新的场合。以之为实验工具可以帮助更深入地理解数据库的基本理论与基本概念。“管理信息系统软部件库(JAVA学习版)”介绍了软部件的设计方法,每一个部件都可以用于实际应用系统的设计,读者可以从中学习利用JAVA语言设计数据库应用系统的基本方法。“JAVA学习版”要求突出管理信息系统一般程序模块的界面要求与设计方法,目标是提高系统易维护性与易扩展性,让一般应用人员也能很容易地学习与使用,降低系统维护费用。强调其在不同应用系统中的通用性,不刻意地强调模块内部的软件复用。要求每一个部件只由一到二个程序文件构成,尽量少用公用的程序库,内部允许用中文词汇作变量名、方法名与对象名,使非计算机专业读者也能比较容易地读懂甚至进行维护操作,它们将让读者感觉到学习java与应用系统的设计并不那么难。

“VFP”是桌面数据库系统,对环境要求简单,操作快捷,应用“部件库最小系统(VFP4.0版或网络版)”作为实验或课堂演示工具,也可帮助加深对数据库及其应用系统的了解。为让大家深入研究部件技术,本次将全部发布它们的原代码,但在教材中并不涉及。教师可以选择“JAVA学习版”或“VFP4.0版”或“VFP网络版”其中一种作为实验工具。这些系统中的“软部件”是范例、又是工具且具有实用价值。选择合适的“软部件”程序拷贝并用到您的系统中,可让初学者在几个小时内就能用JAVA语言或VFP语音设计出简单的数据库应用系统。通过这样的实践真正了解数据库系统的设计方法、了解应用系统一般模块构成及各种功能模块的需求与结构,理解这些模块的设计目标、设计方法与设计技巧,使能熟练掌握数据库应用系统的设计。

应用软部件设计应用系统,只需正确设计数据库结构,运行本系统提供的cover.java程序定义封面的属性,再运行HDDMenuCreate.java定义菜单结构,之后进行封装,应用系统就建立完成了。原来需要三个月才能完成的毕业设计,现在在完成需求分析与总体设计后两个小时就能优质超量地完成了。读者将不只是学习少数几个假定应用系统的设计方法,而是要实地设计并建立一到多个真实的数据库应用系统,实战式的学习数据库系统设计与实现的方法。对于完整、全面地学习数据库的理论与设计数据库应用系统的方法进而提高动手能力更具有意义。希望通过本书的学习,读者不只停留在数据库的概念、原理和理论上,而是要实际应用这些理论知识于实践。  

本书软部件采用JAVA语言设计,但读者可以先不管源代码,重点玩转数据库,有条件的回过头再深研程序设计方法,将有更大收获。

 “部件库(JAVA学习版)”是为学习数据库原理而研制的,只是示意性软件,离商业应用还有比较大的距离,希望对读者学习数据库原理与应用有所帮助。欢迎读者不吝指教,多予批评。

本书由程学先教授主编,曾玲、程传慧、陈永辉、杨晓艳、张慧萍等参加编写并完成课件、试题库与实验手册的制作。其中,程传慧具体负责第1、2、3章编写;曾玲负责4、5章编写;杨晓艳负责第6、9章编写;张慧萍负责第7章编写;陈永辉负责第8章编写;程学先负责其他章节编写。

管理信息系统软部件程序由程学先、龚晓明、王富强、程传庆、齐赛、王玉明、陈义、王嘉、顾梦霞、贺红艳、齐赛、王玉民、聂志恒等设计,参加其他电子文稿设计与制作的还有刘伟、陈永辉、程传慧、杨晓艳、张慧萍等,在此一并表示感谢。

  本书课件、实验手册、试题库可在清华大学出版社网站下载,此外,部件库(JAVA学习版)全部源代码、“部件库最小系统(VFP4.0版和网络版)”全部源代码、连同本书课件、实验手册、试题库还可在湖北工业大学工程技术学院精品课程网站(地址:http://125.220.245.18/sjk)和软部件技术应用网站(地址:http://bujianku.com)中免费下载。

 

 

目录

1   数据库基本概念.... 14

1.1 数据处理... 14

1.1.1 人工管理阶段(20世纪50年代中期以前)... 14

1.1.2 文件系统阶段(20世纪50年代后期至60年代)... 15

1.1.3 数据库系统阶段(20世纪60年代后期)... 18

1.2 数据库系统... 23

1.3 数据库管理系统... 27

1.4 小结... 29

2数据库的存储结构.... 30

2.1 基本文件组织... 30

2.1.1 顺序文件组织... 30

2.1.2 链表结构文件组织... 31

2.1.3 随机存取文件组织(Hash文件组织)... 32

2.2 数据库的数据结构及存储结构... 34

2.2.1 IMS层次数据库结构概述... 34

2.2.2 DBTG网状数据库结构概述... 35

2.2.3 关系数据库结构概述... 35

2.3 索引文件组织... 39

2.3.1 索引文件... 39

2.3.2 非关键字索引文件... 41

2.4 B+树文件... 43

2.4.1 B+树结构... 43

2.4.2 插入算法... 43

2.4.3 查找算法... 44

2.4.4 删除算法... 45

2.5        ... 47

3   数据模型.... 49

3.1 数据模型... 49

3.2 E-R数据模型... 50

3.2.1 数据之间的联系... 50

3.2.2 实体联系模型(E-R图)... 52

3.3 关系数据模型... 54

3.3.1 关系数据模型基本概念... 54

3.3.2 E-R数据模型到关系数据模型... 56

3.4 其他数据模型... 57

3.4.1 网状数据模型... 57

3.4.2 层次数据模型... 59

3.5     ... 61

4关系数据库基本概念.... 62

4.1 基本概念... 62

4.2 函数依赖... 63

4.2.1 函数依赖概念... 63

4.2.2 部分函数依赖... 64

4.2.3 完全函数依赖... 64

4.2.4 传递函数依赖... 65

4.3 候选关键字与主属性... 65

4.3.1 候选关键字... 65

4.3.2 主属性... 66

4.4 关系规范化... 66

4.4.1 问题的提出... 66

4.4.2 范式... 69

4.4.3 关系模式分解的正确性... 73

4.5 函数依赖理论... 74

4.5.1 推理规则... 74

4.5.2  属性集的闭包... 75

4.6     ... 76

5关系数据库理论基础.... 78

5.1关系代数... 78

5.1.1 传统的集合运算... 78

5.1.2 专门的关系运算... 82

5.2 关系演算... 85

5.3  ... 86

6  SQL语言.... 88

6.1 SQL语言概貌... 88

6.2 SQL数据定义功能... 89

6.2.1 基本表的定义和修改... 89

6.2.2 索引的建立和删除... 90

6.3 SQL数据查询语句... 91

6.3.1 语句格式... 91

6.3.2 对单一表查询语句... 92

6.3.3 对两个以上表的连接查询... 93

6.3.4 嵌套查询... 94

6.3.5 关系除法... 95

6.4   ... 96

6.5 SQL数据更新语句... 98

6.5.1 修改(UPDATE)语句... 98

6.5.2删除(DELETE)语句... 98

6.5.3 插入 (INSERT )语句... 98

6.5.4 视图的更新... 99

6.6 SQL数据控制功能... 99

6.7 嵌入式SQL. 100

6.8 查询优化... 102

6.9     ... 104

7 SQL SERVER 2008基础.... 107

7.1 SQL SERVER管理工具... 107

7.2 建立数据库、表、索引的操作... 111

7.2.1 建立数据库... 111

7.2.2 建立数据表... 112

7.2.3 修改表结构与数据维护... 116

7.2.4 建立索引... 117

7.2.5 数据维护操作... 120

7.3 建立视图的操作... 121

7.3.1 建立视图... 121

7.3.2 使用视图... 122

7.4 数据完整性保护... 123

7.4.1.实体完整性保护的实现... 123

7.4.2 参照完整性保护的实现... 124

7.5 数据库安全性管理... 128

7.5.1 主体与安全对象... 128

7.5.2 身份验证模式... 129

7.5.4 创建架构... 131

7.5.5 针对具体数据库创建用户名... 132

7.5.6 服务器角色... 133

7.5.7 数据库角色... 136

7.5.8 权限管理... 137

7.6 SQL Server 中扩展的SQL语言... 138

7.6.1 SQL SERVER 2008的数据定义语句(DDL... 139

7.6.2 数据操纵语言(DML... 149

7.6.3 SQL查询语句... 150

7.7  ... 157

8 T-SQL 语言.... 158

8.1 常量、变量、表达式、函数... 158

8.1.1 T-SQL语言初步... 158

8.1.2 常量、字段变量、内存变量... 160

8.1.3 表达式... 161

8.1.4 常用系统函数... 165

8.1.5 自定义函数... 169

8.2 流程控制语句... 173

8.2.1 BEGIN…END语句... 173

8.2.2 IF…ELSE语句... 173

8.2.3 CASE语句... 176

8.2.4 WHILE…CONTINUE…BREAK语句... 179

8.2.5 GOTO语句... 180

8.2.6 WAITFOR语句... 180

8.2.7 RETURN语句... 180

8.2.8 错误捕捉语句... 181

8.2.9 游标... 181

8.3 SQL Server中的存储过程... 183

8.3.1 存储过程的概念... 183

8.3.2 存储过程的优点... 184

8.3.3 使用Transaction-SQL 命令创建存储过程... 185

8.3.4 使用管理工作平台创建存储过程... 187

8.3.5 重新命名存储过程... 189

8.3.6 删除存储过程... 189

8.3.7 执行存储过程... 189

8.3.8 系统存储过程... 189

8.4 SQL Server中的触发器... 190

8.4.1 触发器的概念及作用... 190

8.4.2 触发器的种类... 191

8.4.3 创建触发器... 191

8.4.4 触发器的原理... 195

8.4.5 INSTEAD OF 触发器... 196

8.4.6 触发器的应用... 198

8.5 SQL Server中的数据导入和导出... 200

8.5.1 使用T-SQL进行数据导入、导出... 200

8.5.2 使用命令行bcp导入、导出数据... 201

8.5.3 使用数据转换服务(DTS)导入、导出数据... 202

8.5.4 如何选择具体的数据导入、导出方法... 204

8.6 SQL SERVER应用系统开发环境... 204

8.6.1 SQL Server应用系统二种系统结构... 204

8.6.2 ODBCOpen Database Connectivity... 205

8.6.3 ADO.. 211

8.6.4 JDBC.. 212

8.7  ... 218

9数据库应用系统设计.... 221

9.1 概述... 221

9.2 数据库结构设计... 222

9.2.1 数据库结构设计步骤... 222

9.2.2 需求分析... 222

9.2.3 概念结构设计... 228

9.2.4 逻辑结构设计... 231

9.2.5.数据库物理设计... 232

9.3 数据库应用系统设计... 234

9.3.1 系统模块结构设计... 234

9.3.2 主程序结构设计... 236

9.3.3 数据维护类程序设计... 237

9.3.4 数据查询与统计类程序结构... 239

9.3.5 导入导出类程序构成... 243

9.4 系统调试与运行... 249

9.5     ... 249

10利用软部件构建数据库应用系统.... 251

10.1 软部件技术概述... 251

10.1.1 软部件主要特征... 251

10.1.2 构建应用系统的主程序结构... 253

10.1.3 水平下拉菜单生成程序设计... 255

10.2 表格式数据维护部件设计... 262

10.2.1 表格式数据维护部件概述... 263

10.2.2 通用表格式数据浏览部件1(tableTenance1.java). 264

10.2.3 通用表格式数据浏览部件2(tableTenance2.java). 268

10.2.4 表格式数据维护部件5(tableTenance5.java). 269

10.2.5 表格式数据维护部件7(tableTenance7.java). 274

10.2.6 表格式数据维护部件11(tableTenance11.java). 281

10.3 单数据表单记录数据维护部件... 287

10.3.1 单记录数据维护部件概述... 287

10.3.2 单记录数据维护部件控件布局... 288

10.3.3 单记录数据维护部件1“dataTenance1.java”. 292

10.3.4 单记录数据维护部件2(dataTenance2.java)... 296

10.4 查询类部件设计... 306

10.4.1 查询类部件概述... 306

10.4.2 通用数据单查询部件3(dataQuery3.java). 307

10.4.3 复杂组合查询部件... 314

10.5 数据处理类部件设计... 317

10.5.1 数据处理类部件概述... 317

10.5.2 全表统计部件dataStatistic1.java... 319

10.5.3 分组统计部件(dataStatistic2.java... 320

10.5.4 横向数据处理部件(dataStatistic3.java... 320

10.5.5 单数据表交叉表(dataStatistic10.java... 322

10.6 数据通信类部件设计... 325

10.6.1 数据通信类部件概述... 325

10.6.2 覆盖式导出到Office文件(dataTransfer4.java... 329

10.6.3 Office文件导入部件(dataTransfer10.java... 331

10.7 打印报表部件设计... 333

10.7.1 打印报表部件概述... 333

10.7.2 简单表格式报表格式生成部件(printFormat1.java... 334

10.7.3 其他报表格式生成部件... 335

10.7.4 统计图形显示程序... 336

10.7.5 打印预览部件(dataPreview.java... 337

10.7.6 打印报表部件(dataPrint.java... 339

10.8 系统工具类部件... 340

10.9    ... 342

11数据库的管理.... 343

11.1 事务处理... 343

11.1.1 事务的基本概念... 343

11.1.2 事务处理过程分析... 344

11.1.3 SQL的事务管理... 345

11.2 并发控制... 346

11.2.1 并发处理产生的三种不一致性... 346

11.2.2 封锁... 348

11.3 备份与恢复... 351

11.3.1 故障的类型... 351

11.3.2 事务日志... 351

11.3.3 恢复的概念... 352

11.3.4 数据的转储... 353

11.3.5 创建备份设备... 354

11.3.6 备份数据库... 355

11.3.7 恢复... 356

11.4  ... 357

12其他数据库技术概述.... 359

12.1 面向对象数据模型... 359

12.1.1  UML定义的类图... 360

12.1.2 利用Rose建模操作... 364

12.1.3 从建模到建库与建表的自动化操作... 365

12.2 数据仓库... 367

12.2.1 数据仓库(DM)的概念... 368

12.2.2 数据仓库和数据集市... 369

12.2.3 数据仓库的处理... 370

12.2.4 联机分析(OLAP)技术概述... 371

12.2.5 SQL Server中的数据仓库组件... 373

12.3 数据挖掘... 374

12.3.1 数据挖掘技术概述... 374

12.3.2 数据挖掘的定义... 375

12.3.3 数据挖掘的过程模型及常用技术... 376

12.3.4 目前数据挖掘的主要应用... 376

12.4 分布式数据库... 377

12.4.1 分布式数据库系统概述... 378

12.4.2 分布式数据存储... 379

12.4.3 分布式数据的查询处理... 380

12.4.4 分布式数据库系统中的事务处理... 380

12.4.5 数据对象的命名方式与目录表的管理... 384

12.4.6 更新传播... 386

12.5    ... 386

 

 



https://blog.sciencenet.cn/blog-2551-780131.html

上一篇:2013蓝桥杯全国软件人才软件设计与创业大赛决赛获奖分析分
下一篇:第5届蓝桥杯软件大赛预赛湖北赛区成绩分析
收藏 IP: 183.94.47.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...
扫一扫,分享此博文

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-5-14 20:13

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部