《数据库系统教程》是2010年人民邮电出版社出版的图书,作者是何玉洁、李宝安。该书详细介绍了数据库理论及技术实践等知识。
本书对数据库理论知识与数据库技术实践内容的介绍两者并重。全书由5篇组成,第Ⅰ篇介绍数据库基础知识,主要包括数据管理的发展及数据库系统的组成结构、关系代数及关系数据库、SQL语言基础及数据定义功能、数据操作语句、视图和索引等;第Ⅱ篇介绍与数据库设计相关的内容,主要包括关系规范化理论,实体-联系模型和数据库设计;第Ⅲ篇介绍数据库管理系统内部提供的一些功能,主要包括事务与并发控制、数据库恢复技术以及查询优化技术;第Ⅳ篇介绍了数据库的发展以及数据库技术应用的发展;第Ⅴ篇侧重于数据库实践内容的介绍,该部分以SQL Server 2005为实践平台,介绍了数据库技术的具体实现。
本书可作为高等院校计算机专业以及信息管理专业本科生的数据库教材,也可供相关人员学习数据库的参考书。
目录
- 第Ⅰ篇 基础篇
- 第1章 数据库概述 3
- 1.1 概述 3
- 1.2 一些基本概念 3
- 1.3 数据管理技术的发展 5
- 1.3.1 文件管理 5
- 1.3.2 数据库管理 8
- 1.4 数据独立性 11
- 1.5 数据库系统的组成 12
- 小结 13
- 习题 13
- 第2章 数据模型与数据库结构 15
- 2.1 数据和数据模型 15
- 2.1.1 数据与信息 15
- 2.1.2 数据模型 16
- 2.2 概念层数据模型 17
- 2.2.1 基本概念 17
- 2.2.2 实体-联系模型 18
- 2.3 组织层数据模型 20
- 2.3.1 层次数据模型 21
- 2.3.2 网状数据模型 22
- 2.3.3 关系数据模型 23
- 2.4 面向对象数据模型 25
- 2.5 数据库结构 25
- 2.5.1 模式的基本概念 26
- 2.5.2 三级模式结构 26
- 2.5.3 模式映像与数据独立性 28
- 小结 29
- 习题 30
- 第3章 关系数据库 31
- 3.1 关系数据模型 31
- 3.1.1 数据结构 31
- 3.1.2 数据操作 32
- 3.1.3 数据完整性约束 33
- 3.2 关系模型的基本术语与形式化定义 34
- 3.2.1 基本术语 34
- 3.2.2 形式化定义 36
- 3.3 完整性约束 38
- 3.3.1 实体完整性 38
- 3.3.2 参照完整性 40
- 3.3.3 用户定义的完整性 41
- 3.4 关系代数 41
- 3.4.1 传统的集合运算 43
- 3.4.2 专门的关系运算 44
- 3.4.3 关系代数操作小结 53
- 3.5* 关系演算 54
- 3.5.1 元组关系演算 54
- 3.5.2 元组关系演算语言Alpha 56
- 3.5.3 域关系演算 59
- 3.5.4 域关系演算语言QBE 59
- 小结 61
- 习题 61
- 第4章 SQL语言基础及数据定义功能 63
- 4.1 SQL语言概述 63
- 4.1.1 SQL语言的发展 63
- 4.1.2 SQL语言特点 64
- 4.1.3 SQL语言功能概述 64
- 4.2 SQL语言支持的数据类型 65
- 4.2.1 数值型 65
- 4.2.2 字符串型 66
- 4.2.3 日期时间类型 67
- 4.2.4 货币类型 67
- 4.3 数据定义功能 68
- 4.3.1 架构的定义与删除 68
- 4.3.2 基本表 70
- 小结 73
- 习题 73
- 第5章 数据操作语句 75
- 5.1 数据查询语句 75
- 5.1.1 查询语句的基本结构 76
- 5.1.2 单表查询 77
- 5.1.3 多表连接查询 100
- 5.1.4 使用TOP限制结果集行数 111
- 5.1.5 子查询 113
- 5.2 数据更改功能 122
- 5.2.1 插入数据 123
- 5.2.2 更新数据 123
- 5.2.3 删除数据 124
- 小结 126
- 习题 127
- 第6章 高级查询 128
- 6.1 CASE函数 128
- 6.1.1 CASE函数介绍 128
- 6.1.2 CASE 函数应用示例 130
- 6.2 将查询结果保存到新表 133
- 6.3 子查询 137
- 6.3.1 ANY、SOME和ALL谓词 137
- 6.3.2 带EXISTS谓词的子查询 140
- 6.4 查询结果的并、交、差运算 145
- 6.4.1 并运算 145
- 6.4.2 交运算 148
- 6.4.3 差运算 150
- 小结 151
- 习题 152
- 第7章 索引和视图 154
- 7.1 索引 154
- 7.1.1 索引基本概念 154
- 7.1.2 索引的存储结构及分类 155
- 7.1.3 创建和删除索引 160
- 7.2 视图 161
- 7.2.1 基本概念 161
- 7.2.2 定义视图 162
- 7.2.3 通过视图查询数据 164
- 7.2.4 修改和删除视图 167
- 7.2.5 视图的作用 167
- 7.3 物化视图 168
- 小结 169
- 习题 169
- 第8章 数据完整性约束 171
- 8.1 数据完整性的概念 171
- 8.1.1 完整性约束条件的作用对象 171
- 8.1.2 实现数据完整性的方法 172
- 8.2 实现数据完整性 172
- 8.2.1 实体完整性约束 173
- 8.2.2 唯一值约束 173
- 8.2.3 参照完整性 175
- 8.2.4 默认值约束 176
- 8.2.5 列取值范围约束 176
- 8.3 系统对完整性约束的检查 178
- 8.4 删除约束 179
- 8.5 触发器 180
- 8.5.1 创建触发器 180
- 8.5.2 后触发型触发器 181
- 8.5.3 前触发型触发器 182
- 8.5.4 删除触发器 182
- 小结 182
- 习题 183
- 第Ⅱ篇 设计篇
- 第9章 关系规范化理论 186
- 9.1 函数依赖 186
- 9.1.1 基本概念 186
- 9.1.2 一些术语和符号 187
- 9.1.3 为什么讨论函数依赖 188
- 9.1.4 函数依赖的推理规则 189
- 9.1.5 最小函数依赖集 190
- 9.2 关系规范化中的一些基本概念 191
- 9.2.1 关系模式中的键 191
- 9.2.2 候选键 191
- 9.2.3 外键 192
- 9.3 范式 192
- 9.3.1 第一范式 192
- 9.3.2 第二范式 194
- 9.3.3 第三范式 196
- 9.3.4 Boyce-Codd范式 196
- 9.3.5 多值依赖与第四范式 199
- 9.3.6 连接依赖与第五范式 201
- 9.3.7 规范化小结 205
- 9.4 关系模式的分解准则 206
- 小结 208
- 习题 209
- 第10章 实体-联系(E-R)模型 211
- 10.1 E-R模型的基本概念 211
- 10.1.1 实体 211
- 10.1.2 联系 212
- 10.1.3 属性 215
- 10.1.4 约束 217
- 10.2 E-R模型存在的问题 218
- 10.2.1 扇形陷阱 218
- 10.2.2 深坑陷阱 219
- 10.3 E-R图符号 221
- 小结 222
- 习题 222
- 第11章 数据库设计 225
- 11.1 数据库设计概述 225
- 11.1.1 数据库设计的特点 226
- 11.1.2 数据库设计方法概述 226
- 11.1.3 数据库设计的基本步骤 227
- 11.2 数据库需求分析 228
- 11.2.1 需求分析的任务 228
- 11.2.2 需求分析的方法 229
- 11.3 数据库结构设计 230
- 11.3.1 概念结构设计 230
- 11.3.2 逻辑结构设计 233
- 11.3.3 物理结构设计 238
- 11.4 数据库行为设计 240
- 11.4.1 功能分析 240
- 11.4.2 功能设计 241
- 11.4.3 事务设计 241
- 11.5 数据库实施 242
- 11.6 数据库的运行和维护 243
- 小结 243
- 习题 244
- 第Ⅲ篇 系统篇
- 第12章 事务与并发控制 246
- 12.1 事务 246
- 12.1.1 事务的基本概念 246
- 12.1.2 事务执行和问题 247
- 12.1.3 事务的特性 248
- 12.1.4 事务处理模型 249
- 12.1.5 事务日志 250
- 12.2 并发控制 251
- 12.2.1 并发控制概述 252
- 12.2.2 一致性的级别 254
- 12.2.3 可交换的活动 254
- 12.2.4 调度 255
- 12.2.5 可串行化调度 255
- 12.3 并发控制中的加锁方法 256
- 12.3.1 锁的粒度 257
- 12.3.2 封锁协议 258
- 12.3.3 活锁和死锁 260
- 12.3.4 两阶段锁 262
- 12.4 并发控制中的时间戳方法 264
- 12.4.1 粒度时间戳 264
- 12.4.2 时间戳排序 265
- 12.4.3 解决时间戳中的冲突 265
- 12.4.4 时间戳的缺点 265
- 12.5 乐观的并发控制方法 266
- 12.5.1 乐观并发控制方法中的3个阶段 266
- 12.5.2 乐观的并发控制方法的优缺点 266
- 小结 267
- 习题 267
- 第13章 数据库恢复技术 269
- 13.1 恢复的基本概念 269
- 13.2 数据库故障的种类 270
- 13.3 数据库恢复的类型 271
- 13.3.1 向前恢复(或重做) 271
- 13.3.2 向后恢复(或撤销) 272
- 13.3.3 介质故障恢复 275
- 13.4 恢复技术 275
- 13.4.1 延迟更新技术 275
- 13.4.2 立即更新技术 277
- 13.4.3 镜像页技术 279
- 13.4.4 检查点技术 280
- 13.5 缓冲区管理 281
- 小结 282
- 习题 282
- 第14章 查询处理与优化 284
- 14.1 概述 284
- 14.2 关系数据库的查询处理 284
- 14.2.1 查询处理步骤 285
- 14.2.2 优化的一个简单示例 285
- 14.3 代数优化 287
- 14.3.1 转换规则 287
- 14.3.2 启发式规则 289
- 14.4 物理优化 292
- 14.4.1 选择操作的实现和优化 292
- 14.4.2 连接操作的实现和优化 293
- 14.4.3 投影操作的实现 296
- 14.4.4 集合操作的实现 297
- 14.4.5 组合操作 297
- 小结 298
- 习题 298
- 第Ⅳ篇 发展篇
- 第15章 数据库技术的发展 300
- 15.1 数据库技术的发展 300
- 15.1.1 传统数据库技术的发展历程 300
- 15.1.2 新一代数据库管理系统 302
- 15.2 面向对象技术与数据库技术的结合 302
- 15.2.1 新的数据库应用和新的数据类型 302
- 15.2.2 面向对象数据模型 303
- 15.2.3 面向对象数据库的优点 306
- 15.2.4 对象关系数据库与对象数据库 307
- 15.3 数据库技术面临的挑战 307
- 15.4 数据库技术的研究方向 309
- 15.4.1 分布式数据库系统 309
- 15.4.2 面向对象的数据库管理系统 310
- 15.4.3 多媒体数据库 310
- 15.4.4 数据库中的知识发现 310
- 15.4.5 专用数据库系统 311
- 小结 311
- 第16章 数据仓库与数据挖掘 312
- 16.1 数据仓库技术 312
- 16.1.1 数据仓库的概念及特点 313
- 16.1.2 数据仓库体系结构 314
- 16.1.3 数据仓库的分类 315
- 16.1.4 数据仓库的开发 315
- 16.1.5 数据仓库的数据模式 316
- 16.2 联机分析处理 317
- 16.3 数据挖掘 321
- 16.3.1 数据挖掘过程 321
- 16.3.2 数据挖掘知识发现 322
- 16.3.3 数据挖掘的常用技术和目标 324
- 16.3.4 数据挖掘工具 324
- 16.3.5 数据挖掘应用 325
- 16.3.6 数据挖掘的前景 326
- 小结 328
- 第Ⅴ篇 应用篇
- 第17章 SQL Server 2005基础 330
- 17.1 SQL Server 2005平台构成 330
- 17.2 安装SQL Server 2005 331
- 17.2.1 SQL Server 2005的版本 331
- 17.2.2 安装SQL Server 2005所需要的软硬件环境 333
- 17.2.3 实例 334
- 17.2.4 安装及安装选项 335
- 17.3 配置SQL Server 2005 345
- 17.4 SQL Server Management Studio工具 348
- 17.4.1 连接到数据库服务器 348
- 17.4.2 查询编辑器 350
- 小结 351
- 习题 352
- 上机练习 352
- 第18章 数据库及对象的创建与管理 354
- 18.1 SQL Server数据库概述 354
- 18.1.1 系统数据库 354
- 18.1.2 SQL Server数据库的组成 355
- 18.1.3 数据文件和日志文件 356
- 18.1.4 数据库文件的属性 356
- 18.2 创建数据库 357
- 18.2.1 用图形化方法创建数据库 357
- 18.2.2 用T-SQL语句创建数据库 360
- 18.3 基本表的创建与管理 364
- 18.3.1 创建表 364
- 18.3.2 定义完整性约束 366
- 18.3.3 修改表 374
- 18.3.4 删除表 374
- 18.4 索引的创建与管理 376
- 18.4.1 创建索引 376
- 18.4.2 查看和删除索引 377
- 18.5 视图的创建与管理 378
- 18.5.1 创建视图 378
- 18.5.2 查看和修改视图 382
- 小结 382
- 习题 383
- 上机练习 383
- 第19章 存储过程和游标 386
- 19.1 存储过程 386
- 19.1.1 存储过程概念 386
- 19.1.2 创建和执行存储过程 387
- 19.1.3 查看和修改存储过程 391
- 19.2 游标 392
- 19.2.1 游标概念 392
- 19.2.2 使用游标 393
- 19.2.3 游标示例 396
- 小结 399
- 习题 400
- 上机练习 400
- 第20章 安全管理 401
- 20.1 安全控制概述 401
- 20.1.1 数据库安全控制的目标 401
- 20.1.2 数据库安全的威胁 402
- 20.1.3 数据库完全问题的类型 402
- 20.1.4 安全控制模型 402
- 20.1.5 授权和认证 403
- 20.2 存取控制 404
- 20.2.1 自主存取控制 404
- 20.2.2 强制存取控制 406
- 20.3 审计跟踪 408
- 20.4 防火墙 408
- 20.5 统计数据库的安全性 409
- 20.6 数据加密 410
- 20.7 SQL Server安全控制过程 411
- 20.8 登录名 411
- 20.8.1 身份验证模式 411
- 20.8.2 建立登录名 413
- 20.8.3 删除登录名 417
- 20.9 数据库用户 418
- 20.9.1 建立数据库用户 418
- 20.9.2 删除数据库用户 420
- 20.10 权限管理 421
- 小结 430
- 习题 430
- 上机练习 431
- 第21章 数据库设计工具——PowerDesigner 433
- 21.1 建立概念数据模型 433
- 21.1.1 概述 433
- 21.1.2 创建CDM文件 433
- 21.1.3 创建实体 435
- 21.1.4 指定实体的属性 436
- 21.1.5 建立实体间的联系 439
- 21.1.6 建立实体间的关联 442
- 21.2 建立物理数据模型 444
- 21.2.1 概述 444
- 21.2.2 由CDM生成PDM 446
- 21.2.3 生成SQL脚本 447
- 小结 449
- 习题 450
- 上机练习 450