图书目录

第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数据抽象与局部ER模型设计158

7.3.4视图的集成166

7.4逻辑结构设计172

7.4.1ER图向关系模型的转换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.5TSQL程序设计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