第1章数据库系统引论1
1.1数据库系统概述1
1.1.1几个重要概念3
1.1.2数据管理技术的发展5
1.1.3数据库系统的特点7
1.2数据模型8
1.2.1数据模型的概念8
1.2.2概念模型9
1.2.3层次模型12
1.2.4网状模型12
1.2.5关系模型13
1.3数据库体系结构14
1.3.1数据库系统模式的概念15
1.3.2数据库系统的三级模式和两级映像16
1.3.3数据库系统的组成17
1.3.4数据库管理系统(DBMS)的功能18
1.4数据库技术的发展19
1.4.1数据库发展特点19
1.4.2分布式数据库系统20
1.4.3XML数据库20
习题122
第2章关系数据库25
2.1关系模型的基本术语及形式化定义25
2.1.1基本术语26
2.1.2关系的概念及性质28
2.1.3关系模式28
2.1.4关系数据库292.2关系的完整性30
2.2.1实体完整性31
2.2.2参照完整性31
2.2.3用户定义的完整性32
2.3关系代数33
2.3.1传统的集合运算33
2.3.2专门的关系运算34
习题241
第3章关系数据库标准语言——SQL44
3.1SQL概述44
3.1.1SQL的产生与发展44
3.1.2SQL的特点44
3.2数据的定义45
3.2.1模式的定义与删除45
3.2.2基本表的定义、删除与修改46
3.2.3索引的定义与删除49
3.3数据查询50
3.3.1单表查询51
3.3.2联接查询55
3.3.3嵌套查询56
3.3.4集合查询60
3.3.5SELECT语句的书写规范61
3.4数据的更新62
3.4.1数据的插入62
3.4.2数据的修改63
3.4.3数据的删除64
3.5视图64
3.5.1视图的定义65
3.5.2视图的查询66
3.5.3视图的更新66
3.5.4视图的作用66
3.6存储过程67
3.6.1存储过程的概念、优点与分类67
3.6.2创建存储过程68
3.6.3查看存储过程68
3.6.4重新命名存储过程69
3.6.5删除存储过程69
3.6.6执行存储过程69
3.6.7修改存储过程70
习题371
第4章数据库的安全性74
4.1数据库安全性概述74
4.2数据库安全性控制75
4.2.1用户标识与鉴别75
4.2.2存取控制76
4.2.3授权与回收76
4.2.4数据库角色79
4.2.5自主存取控制与强制存取控制79
4.3视图机制80
4.4审计81
4.5数据加密82
4.5.1加密的原理和方法83
4.5.2数据加密标准85
4.5.3公钥加密85
4.5.4常用的数据库加密方法85
4.6统计数据库安全性87
习题488
第5章数据库的完整性89
5.1实体完整性90
5.1.1实体完整性定义90
5.1.2实体完整性检查和违约处理91
5.2参照完整性92
5.2.1参照完整性定义92
5.2.2参照完整性检查和违约处理93
5.3用户定义的完整性95
5.3.1限制属性取值的约束条件的定义95
5.3.2元组上约束条件的定义96
5.3.3约束条件的检查和违约处理97
5.4完整性约束命名子句97
5.5触发器98
5.5.1触发器的概念及作用98
5.5.2SQL Server 2005触发器概述99
5.5.3DML触发器的创建和应用 100
5.5.4DDL触发器的创建和应用104
5.5.5查看、修改和删除触发器107
5.6小结109
习题5109
第6章关系数据库的规范化112
6.1为什么要规范化112
6.1.1规范化理论相关的基本概念112
6.1.2异常问题113
6.2函数依赖116
6.2.1函数依赖的定义116
6.2.2函数依赖的逻辑蕴涵119
6.2.3关系的码120
6.3范式121
6.3.1什么是范式121
6.3.2第一范式(1NF)122
6.3.3第二范式(2NF)123
6.3.4第三范式(3NF)124
6.3.5BC范式(BCNF)124
6.3.6多值依赖128
6.3.7第四范式(4NF)131
6.3.8规范化小结132
6.4关系模式的分解133
6.4.1模式分解的三条准则133
6.4.2无损连接分解135
6.4.3无损分解的测试算法136
6.4.4保持函数依赖的分解138
习题6139
第7章数据库设计144
7.1数据库设计概述144
7.1.1数据库和信息系统144
7.1.2数据库设计的特点与方法145
7.1.3数据库设计的基本步骤147
7.2需求分析149
7.2.1需求分析的任务150
7.2.2需求分析的步骤和方法151
7.2.3数据字典152
7.2.4编制需求说明书154
7.2.5数据库设计的案例分析——“BS论坛”的需求分析155
7.3概念结构设计156
7.3.1概念结构设计的必要性和特点156
7.3.2概念结构设计的方法与步骤156
7.3.3数据抽象与局部ER模型设计158
7.3.4视图的集成166
7.4逻辑结构设计172
7.4.1ER图向关系模型的转换172
7.4.2向特定DBMS规定的模型进行转换176
7.4.3数据模型的优化176
7.4.4设计用户子模式178
7.5数据库的物理设计179
7.5.1数据库的物理设计的内容和方法179
7.5.2关系模式存取方法选择179
7.5.3确定数据库的存储结构181
7.5.4评价物理结构182
7.6数据库的实施182
7.6.1定义数据库结构182
7.6.2数据装载183
7.6.3编制与调试应用程序184
7.6.4数据库试运行184
7.7数据库运行与维护185
7.8小结186
习题7186
第8章数据库恢复技术191
8.1数据库恢复概述191
8.1.1事务的概念和特性193
8.1.2故障的种类195
8.2恢复的实现技术与策略196
8.2.1数据转储196
8.2.2登记日志文件198
8.2.3恢复策略199
8.3具有检查点的恢复技术200
8.4数据库镜像202
习题8203
第9章并发控制205
9.1并发控制概述205
9.2封锁207
9.2.1封锁的概念207
9.2.2活锁207
9.2.3死锁208
9.3并发调度的可串行性210
9.3.1可串行化调度210
9.3.2冲突可串行化调度210
9.4两段锁协议211
9.5封锁的粒度211
9.5.1多粒度封锁211
9.5.2意向锁212
习题9212
第10章数据库应用程序的开发系统案例分析213
10.1需求分析213
10.1.1案例的应用背景213
10.1.2系统可行性分析214
10.1.3系统的设计目标214
10.1.4具体系统的业务过程及功能要求214
10.1.5数据流图215
10.2数据库设计220
10.2.1概念结构设计220
10.2.2逻辑结构设计222
10.2.3物理设计223
10.3案例的应用程序设计224
10.3.1总体设计224
10.3.2初始用户界面设计225
10.3.3系统功能模块设计226
10.4系统实现228
10.4.1各用户界面的实现228
10.4.2C#访问数据库的方式228
10.4.3与SQL Server数据库的连接229
10.4.4主要程序代码的实现230
10.5数据库与应用系统的实施、运行维护241
10.5.1系统运行维护241
10.5.2数据库备份243
10.5.3系统测试及出现的问题243
10.5.4系统的优、缺点分析245
10.6用户系统使用说明书246
第11章“数据库应用程序课程设计”实验指导247
11.1课程设计的目的和要求247
11.2课程设计的实验内容247
11.2.1需求分析247
11.2.2总体模块设计248
11.2.3详细设计249
11.2.4编码、测试250
11.2.5调试、评价总结251
11.2.6课程设计参考课题252
第12章“数据库系统原理”实验253
12.1实验教学大纲253
12.1.1熟悉SQL Server 2005环境及数据库文件管理255
12.1.2表和表数据的操作262
12.1.3关系、索引和视图267
12.1.4约束、默认和规则269
12.1.5TSQL程序设计271
12.1.6存储过程和触发器273
12.1.7数据库备份、恢复、安全管理275
12.2“数据库系统原理”实验课程教案277
12.2.1教案1277
12.2.2教案2279
12.2.3教案3281
12.2.4教案4283
12.2.5教案5286
12.2.6教案6288
12.2.7教案7289
12.2.8教案8293
第13章习题答案297
习题1297
习题2299
习题3300
习题4303
习题5304
习题6310
习题7316
习题8320
习题9321
参考文献323