书籍详情
数据库系统原理与应用(第二版)
作者:王六平,张楚才,刘先锋 著
出版社:华中科技大学出版社
出版时间:2019-03-01
ISBN:9787568049184
定价:¥49.80
购买这本书可以去
内容简介
本书从数据库的基本理论知识出发,通过丰富的实例介绍数据库的基本操作、管理、维护、设计过程以及开发应用等。 全书分为五篇。前两篇为基础理论篇、数据库设计理论,主要介绍数据库的基本原理与基础知识,以及数据模型相关理论,数据库的设计优化理论以及数据库的设计与实施过程;第三篇介绍数据库安全保护理论和操作;第四篇为基础应用篇,介绍SQL Server 2012的基本功能及操作。第五篇为高级应用篇,详细介绍了T-SQL的编程知识。每章还配有大量的操作实例和习题,凡是加了底纹的代码,都可以直接在查询窗口运行。附录中还配有十五个实验及一个课程作业,可作为实验课的任务。 本书可作为大中专院校本科生或研究生相关专业“网络数据库”、“数据库应用”、“数据库原理”等课程的教材,可根据专业需要选择部分篇章进行教学,其它的篇章也为学生自学或提高的内容。也可供从事计算机软件开发与应用的科研人员、工程技术人员以及其他有关人员参考。对于非计算机专业的学生,建议先讲解基础应用篇,再选讲前面的理论篇。对于重SQL Server操作的课程,可以只讲基础应用篇和高级应用篇,基本包含了项目开发所需的数据库知识。对于重数据库原理的课程,可以让学生边自学基础应用篇,边讲解前三篇的内容。
作者简介
暂缺《数据库系统原理与应用(第二版)》作者简介
目录
目录
第一篇 基础理论 1
第1章 数据库技术概述 2
1.1 数据库的相关概念 2
1.1.1 数据 2
1.1.2 数据库 2
1.1.3 数据库管理系统 3
1.1.4 数据库系统 4
1.1.5 数据库技术 4
1.2 数据库管理系统概述 5
1.2.1 数据库管理系统的目标 5
1.2.2 数据库管理系统的功能 6
1.2.3 用户访问数据库的过程 7
1.2.4 数据库管理和数据库管理员 8
1.3 数据库系统概述 9
1.3.1 数据库系统的微观结构 10
1.3.2 数据库系统的宏观结构 13
1.4 数据库技术概述 15
1.4.1 数据库技术的发展历史 15
1.4.2 *数据库技术的研究与应用领域和发展方向 18
1.5 习题 22
第2章 数据模型 23
2.1 数据描述 23
2.1.1 数据的三种范畴 23
2.1.2 实体间的联系 25
2.1.3 三种世界的概念转换 26
2.2 数据模型 27
2.2.1 数据模型概述 27
2.2.2 数据模型的三要素 28
2.3 概念模型与E-R表示方法 29
2.3.1 概念模型的基本概念 29
2.3.2 概念模型的E-R表示方法 30
2.3.3 概念数据模型实例 31
2.4 逻辑数据模型 33
2.4.1 层次模型 34
2.4.2 网状模型 35
2.4.3 关系模型 37
2.4.4 面向对象模型 39
2.5 习题 40
第3章 关系数据库理论及查询优化 41
3.1 关系数据库 41
3.1.1 关系模型的组成 41
3.1.2 关系模式的形式化定义 41
3.2 关系代数 42
3.2.1 五种基本运算 43
3.2.2 关系代数的其他操作 45
3.3 *关系查询优化 47
3.3.1 关系系统及其查询优化 47
3.3.2 查询优化的一般准则 49
3.3.3 关系代数等价变换规则 50
3.3.4 关系代数表达式的优化算法 51
3.4 习题 53
第二篇 设计理论 54
第4章 关系模式的规范化 55
4.1 问题的提出 55
4.1.1 关系模式 55
4.1.2 关系 55
4.1.3 插入、删除、更新异常 57
4.2 关系模式的函数依赖 57
4.2.1 函数依赖 58
4.2.2 键(Key) 59
4.2.3 函数依赖的逻辑蕴含 60
4.3 关系模式的规范化 66
4.3.1 第一范式(1NF) 66
4.3.2 第二范式(2NF) 67
4.3.3 第三范式(3NF) 68
4.3.4 BCNF范式(BCNF) 69
4.3.5 多值依赖与第四范式 70
4.3.6 各范式之间的关系 72
4.4 *关系模式的分解特性 73
4.4.1 关系模式的分解 73
4.4.2 分解的无损连接性 74
4.4.3 关系模式分解算法 79
4.5 *关系模式的优化 83
4.5.1 水平分解 84
4.5.2 垂直分解 84
4.6 习题 85
第5章 数据库的设计与实施 87
5.1 数据库设计概述 87
5.1.1 数据库设计的特点 87
5.1.2 数据库设计方法 88
5.1.3 数据库设计的步骤 89
5.2 数据库规划 90
5.3 需求分析 91
5.3.1 需求分析的任务 91
5.3.2 需求分析的方法 91
5.3.3 需求分析的步骤 92
5.4 概念结构设计 95
5.4.1 设计各局部应用的E-R模型 96
5.4.2 全局E-R模型的设计 97
5.5 逻辑结构设计 98
5.5.1 E-R图向关系模型的转换 99
5.5.2 关系模型向特定的RDBMS的转换 100
5.5.3 逻辑模式的优化 100
5.5.4 外模式的设计 102
5.6 物理结构设计 103
5.6.1 关系模式存取方法选择 104
5.6.2 确定系统的存储结构 107
5.7 数据库实施 108
5.8 数据库运行和维护 109
5.9 数据库设计实例 ——图书管理系统数据库设计 110
5.10 习题 112
第三篇 安全与保护理论 113
第6章 数据库的安全性控制 114
6.1 数据库安全性控制概述 114
6.2 SQL Sever的安全性措施概述 115
6.3 SQL Server身份验证 116
6.3.1 身份验证概述 116
6.3.2 身份验证方式设置 117
6.3.3 登录名管理 119
6.4 SQL Server数据库身份验证 122
6.5 SQL Server数据库对象安全验证 123
6.5.1 角色 124
6.5.2 授权的主体 126
6.5.3 架构 127
6.5.4 授权的安全对象 128
6.5.5 权限操作 129
6.5.6 命令行方式进行权限管理 131
6.6 习题 133
第7章 数据完整性 134
7.1 完整性约束条件 134
7.2 完整性控制 136
7.3 SQL Sever的完整性的实现 139
7.4 习题 143
第8章 事务 144
8.1 事务的概念 144
8.2 事务调度 146
8.3 事务隔离级别 148
8.4 SQL Server 中的事务定义 151
8.5 习题 153
第9章 并发控制 154
9.1 封锁技术 154
9.2 事务隔离级别与封锁规则 155
9.3 封锁的粒度 156
9.4 *封锁带来的问题 158
9.5 *两段锁协议 159
9.6 *乐观并发控制与悲观并发控制 160
9.7 *SQL Server的并发控制 160
9.8 习题 162
第10章 数据库的恢复 163
10.1 数据库恢复技术 163
10.1.1 故障的种类 163
10.1.2 恢复的实现技术 164
10.1.3 SQL Server基于日志的恢复策略 166
10.1.4 SQL Server检查点 168
10.2 SQL Server的备份与恢复 169
10.3 习题 174
第四篇 基础应用 175
第11章 SQL SERVER 2012基本知识 176
11.1 SQL Server 2012发展简介 176
11.2 SQL Server 2012组件和管理工具 177
11.2.1 服务器组件 177
11.2.2 管理工具 178
11.2.3 文档 178
11.3 SQL Server 2012服务器的管理 179
11.3.1 启动停止服务器 179
11.3.2 配置管理器 180
11.3.3 服务器的注册 180
11.4 习题 181
第12章 数据库操作 182
12.1 SQL Server实例 182
12.2 数据库基本概念 182
12.2.1 物理数据库 182
12.2.2 逻辑数据库 184
12.2.3 系统数据库和用户数据库 186
12.3 创建数据库 187
12.3.1 管理工具交互方式创建数据库 187
12.3.2 命令行方式创建数据库 189
12.4 修改数据库 190
12.4.1 管理工具交互方式修改数据库 190
12.4.2 命令行方式修改数据库 191
12.5 删除数据库 192
12.5.1 交互方式删除数据库 192
12.5.2 命令行方式删除数据库 192
12.6 数据库的分离和附加 192
12.6.1 分离数据库 193
12.6.2 附加数据库 193
12.7 数据库的快速备份与恢复 194
12.8 *数据库的收缩 195
12.8.1 手动收缩 195
12.8.2 自动收缩 196
12.9 * 移动数据库 196
12.10 *数据库快照 197
12.10.1 数据库快照的优点 197
12.10.2 数据库快照的操作 198
12.11 习题 198
第13章 表和表数据操作 200
13.1 表概念 200
13.1.1 表结构 200
13.1.2 表类型 200
13.2 创建表 202
13.2.1 列的数据类型 202
13.2.2 列的其他属性 206
13.2.3 交互方式创建表 206
13.2.4 命令行方式创建表 207
13.3 修改表 208
13.3.1 交互方式修改表 208
13.3.2 命令行方式修改表 210
13.4 删除表 211
13.5 表数据操作 211
13.5.1 交互方式操作表数据 211
13.5.2 命令行方式操作表数据 212
13.6 习题 214
第14章 数据查询 215
14.1 数据查询语句 215
14.1.1 投影列 216
14.1.2 选择行 217
14.1.3 连接 219
14.2 排序 221
14.3 简单统计 222
14.4 分组统计 223
14.5 子查询 224
14.5.1 无关子查询 224
14.5.2 相关子查询 225
14.5.3 子查询作数据项 226
14.6 集合操作 227
14.7 存储查询结果 228
14.8 习题 229
第15章 视 图 230
15.1 视图概述 230
15.2 视图的类型 230
15.3 创建视图 231
15.4 查询视图 233
15.5 可更新视图 233
15.6 修改视图定义 234
15.7 删除视图 235
15.8 视图小结 236
15.8.1 创建视图准则 236
15.8.2 视图的优点和作用 236
15.9 习题 237
第16章 数据完整性和索引 238
16.1 数据完整性 238
16.1.1 PRIMARY KEY主键约束 238
16.1.2 UNIQUE唯一性约束 240
16.1.3 FOREIGN KEY引用完整性约束 241
16.1.4 CHECK检查约束 242
16.2 索引 244
16.2.1 索引的分类 244
16.2.2 创建索引 245
16.2.3 查看索引 246
16.2.4 修改索引 247
16.2.5 删除索引 247
16.2.6 其他类型索引 247
16.2.7 优化索引 249
16.3 数据库关系图 251
16.4 习题 253
第五篇 高级应用 254
第17章 T-SQL语言 255
17.1 SQL语言基本元素 255
17.1.1 T-SQL语言简介 255
17.1.2 TSQL语言的语法约定 255
17.1.3 标识符 256
17.1.4 常量和变量 256
17.1.5 注释 258
17.1.6 运算符 258
17.1.7 函数 259
17.1.8 表达式 262
17.2 流程控制语句 264
17.2.1 SET语句 264
17.2.2 BEGIN END语句 265
17.2.3 IF-ELSE语句 266
17.2.4 WHILE、BREAK、CONTINUE语句 266
17.2.5 RETURN语句 267
17.2.6 WAITFOR语句 267
17.2.7 GOTO语句 267
17.2.8 TRY CATCH语句 267
17.2.9 GO语句 268
17.2.10 EXECUTE语句 268
17.2.11 T-SQL语句的解析、编译和执行 268
17.3 数据定义、操纵及控制语言 269
17.3.1 数据定义语言 269
17.3.2 数据操纵语言 270
17.3.3 数据控制语言 272
17.4 习题 274
第18章 存储过程、自定义函数、触发器和游标 275
18.1 存储过程 275
18.1.1 存储过程概述 275
18.1.2 创建存储过程 275
18.1.3 调用存储过程 276
18.1.4 获取存储过程信息 277
18.1.5 修改和重命名存储过程 277
18.1.6 重新编译存储过程 278
18.1.7 删除存储过程 278
18.2 用户定义函数 279
18.2.1 标量值函数 279
18.2.2 内嵌表值函数 279
18.2.3 多语句表值函数 280
18.2.4 修改和重命名用户定义函数 280
18.2.5 删除用户定义函数 281
18.3 触发器 281
18.3.1 触发器概述 281
18.3.2 触发器的类型 282
18.3.3 触发器的设计规则 283
18.3.4 使用触发器 285
18.3.5 启用、禁用和删除触发器 286
18.3.6 触发器的用途 287
18.4 游标 288
18.4.1 游标概述 288
18.4.2 游标的类型 288
18.4.3 游标的使用 290
18.5 习题 293
附录 295
1. 本书中示例数据库的结构及数据 295
2. 上机实验题 298
3. 课程设计要求 305
参考文献 307
第一篇 基础理论 1
第1章 数据库技术概述 2
1.1 数据库的相关概念 2
1.1.1 数据 2
1.1.2 数据库 2
1.1.3 数据库管理系统 3
1.1.4 数据库系统 4
1.1.5 数据库技术 4
1.2 数据库管理系统概述 5
1.2.1 数据库管理系统的目标 5
1.2.2 数据库管理系统的功能 6
1.2.3 用户访问数据库的过程 7
1.2.4 数据库管理和数据库管理员 8
1.3 数据库系统概述 9
1.3.1 数据库系统的微观结构 10
1.3.2 数据库系统的宏观结构 13
1.4 数据库技术概述 15
1.4.1 数据库技术的发展历史 15
1.4.2 *数据库技术的研究与应用领域和发展方向 18
1.5 习题 22
第2章 数据模型 23
2.1 数据描述 23
2.1.1 数据的三种范畴 23
2.1.2 实体间的联系 25
2.1.3 三种世界的概念转换 26
2.2 数据模型 27
2.2.1 数据模型概述 27
2.2.2 数据模型的三要素 28
2.3 概念模型与E-R表示方法 29
2.3.1 概念模型的基本概念 29
2.3.2 概念模型的E-R表示方法 30
2.3.3 概念数据模型实例 31
2.4 逻辑数据模型 33
2.4.1 层次模型 34
2.4.2 网状模型 35
2.4.3 关系模型 37
2.4.4 面向对象模型 39
2.5 习题 40
第3章 关系数据库理论及查询优化 41
3.1 关系数据库 41
3.1.1 关系模型的组成 41
3.1.2 关系模式的形式化定义 41
3.2 关系代数 42
3.2.1 五种基本运算 43
3.2.2 关系代数的其他操作 45
3.3 *关系查询优化 47
3.3.1 关系系统及其查询优化 47
3.3.2 查询优化的一般准则 49
3.3.3 关系代数等价变换规则 50
3.3.4 关系代数表达式的优化算法 51
3.4 习题 53
第二篇 设计理论 54
第4章 关系模式的规范化 55
4.1 问题的提出 55
4.1.1 关系模式 55
4.1.2 关系 55
4.1.3 插入、删除、更新异常 57
4.2 关系模式的函数依赖 57
4.2.1 函数依赖 58
4.2.2 键(Key) 59
4.2.3 函数依赖的逻辑蕴含 60
4.3 关系模式的规范化 66
4.3.1 第一范式(1NF) 66
4.3.2 第二范式(2NF) 67
4.3.3 第三范式(3NF) 68
4.3.4 BCNF范式(BCNF) 69
4.3.5 多值依赖与第四范式 70
4.3.6 各范式之间的关系 72
4.4 *关系模式的分解特性 73
4.4.1 关系模式的分解 73
4.4.2 分解的无损连接性 74
4.4.3 关系模式分解算法 79
4.5 *关系模式的优化 83
4.5.1 水平分解 84
4.5.2 垂直分解 84
4.6 习题 85
第5章 数据库的设计与实施 87
5.1 数据库设计概述 87
5.1.1 数据库设计的特点 87
5.1.2 数据库设计方法 88
5.1.3 数据库设计的步骤 89
5.2 数据库规划 90
5.3 需求分析 91
5.3.1 需求分析的任务 91
5.3.2 需求分析的方法 91
5.3.3 需求分析的步骤 92
5.4 概念结构设计 95
5.4.1 设计各局部应用的E-R模型 96
5.4.2 全局E-R模型的设计 97
5.5 逻辑结构设计 98
5.5.1 E-R图向关系模型的转换 99
5.5.2 关系模型向特定的RDBMS的转换 100
5.5.3 逻辑模式的优化 100
5.5.4 外模式的设计 102
5.6 物理结构设计 103
5.6.1 关系模式存取方法选择 104
5.6.2 确定系统的存储结构 107
5.7 数据库实施 108
5.8 数据库运行和维护 109
5.9 数据库设计实例 ——图书管理系统数据库设计 110
5.10 习题 112
第三篇 安全与保护理论 113
第6章 数据库的安全性控制 114
6.1 数据库安全性控制概述 114
6.2 SQL Sever的安全性措施概述 115
6.3 SQL Server身份验证 116
6.3.1 身份验证概述 116
6.3.2 身份验证方式设置 117
6.3.3 登录名管理 119
6.4 SQL Server数据库身份验证 122
6.5 SQL Server数据库对象安全验证 123
6.5.1 角色 124
6.5.2 授权的主体 126
6.5.3 架构 127
6.5.4 授权的安全对象 128
6.5.5 权限操作 129
6.5.6 命令行方式进行权限管理 131
6.6 习题 133
第7章 数据完整性 134
7.1 完整性约束条件 134
7.2 完整性控制 136
7.3 SQL Sever的完整性的实现 139
7.4 习题 143
第8章 事务 144
8.1 事务的概念 144
8.2 事务调度 146
8.3 事务隔离级别 148
8.4 SQL Server 中的事务定义 151
8.5 习题 153
第9章 并发控制 154
9.1 封锁技术 154
9.2 事务隔离级别与封锁规则 155
9.3 封锁的粒度 156
9.4 *封锁带来的问题 158
9.5 *两段锁协议 159
9.6 *乐观并发控制与悲观并发控制 160
9.7 *SQL Server的并发控制 160
9.8 习题 162
第10章 数据库的恢复 163
10.1 数据库恢复技术 163
10.1.1 故障的种类 163
10.1.2 恢复的实现技术 164
10.1.3 SQL Server基于日志的恢复策略 166
10.1.4 SQL Server检查点 168
10.2 SQL Server的备份与恢复 169
10.3 习题 174
第四篇 基础应用 175
第11章 SQL SERVER 2012基本知识 176
11.1 SQL Server 2012发展简介 176
11.2 SQL Server 2012组件和管理工具 177
11.2.1 服务器组件 177
11.2.2 管理工具 178
11.2.3 文档 178
11.3 SQL Server 2012服务器的管理 179
11.3.1 启动停止服务器 179
11.3.2 配置管理器 180
11.3.3 服务器的注册 180
11.4 习题 181
第12章 数据库操作 182
12.1 SQL Server实例 182
12.2 数据库基本概念 182
12.2.1 物理数据库 182
12.2.2 逻辑数据库 184
12.2.3 系统数据库和用户数据库 186
12.3 创建数据库 187
12.3.1 管理工具交互方式创建数据库 187
12.3.2 命令行方式创建数据库 189
12.4 修改数据库 190
12.4.1 管理工具交互方式修改数据库 190
12.4.2 命令行方式修改数据库 191
12.5 删除数据库 192
12.5.1 交互方式删除数据库 192
12.5.2 命令行方式删除数据库 192
12.6 数据库的分离和附加 192
12.6.1 分离数据库 193
12.6.2 附加数据库 193
12.7 数据库的快速备份与恢复 194
12.8 *数据库的收缩 195
12.8.1 手动收缩 195
12.8.2 自动收缩 196
12.9 * 移动数据库 196
12.10 *数据库快照 197
12.10.1 数据库快照的优点 197
12.10.2 数据库快照的操作 198
12.11 习题 198
第13章 表和表数据操作 200
13.1 表概念 200
13.1.1 表结构 200
13.1.2 表类型 200
13.2 创建表 202
13.2.1 列的数据类型 202
13.2.2 列的其他属性 206
13.2.3 交互方式创建表 206
13.2.4 命令行方式创建表 207
13.3 修改表 208
13.3.1 交互方式修改表 208
13.3.2 命令行方式修改表 210
13.4 删除表 211
13.5 表数据操作 211
13.5.1 交互方式操作表数据 211
13.5.2 命令行方式操作表数据 212
13.6 习题 214
第14章 数据查询 215
14.1 数据查询语句 215
14.1.1 投影列 216
14.1.2 选择行 217
14.1.3 连接 219
14.2 排序 221
14.3 简单统计 222
14.4 分组统计 223
14.5 子查询 224
14.5.1 无关子查询 224
14.5.2 相关子查询 225
14.5.3 子查询作数据项 226
14.6 集合操作 227
14.7 存储查询结果 228
14.8 习题 229
第15章 视 图 230
15.1 视图概述 230
15.2 视图的类型 230
15.3 创建视图 231
15.4 查询视图 233
15.5 可更新视图 233
15.6 修改视图定义 234
15.7 删除视图 235
15.8 视图小结 236
15.8.1 创建视图准则 236
15.8.2 视图的优点和作用 236
15.9 习题 237
第16章 数据完整性和索引 238
16.1 数据完整性 238
16.1.1 PRIMARY KEY主键约束 238
16.1.2 UNIQUE唯一性约束 240
16.1.3 FOREIGN KEY引用完整性约束 241
16.1.4 CHECK检查约束 242
16.2 索引 244
16.2.1 索引的分类 244
16.2.2 创建索引 245
16.2.3 查看索引 246
16.2.4 修改索引 247
16.2.5 删除索引 247
16.2.6 其他类型索引 247
16.2.7 优化索引 249
16.3 数据库关系图 251
16.4 习题 253
第五篇 高级应用 254
第17章 T-SQL语言 255
17.1 SQL语言基本元素 255
17.1.1 T-SQL语言简介 255
17.1.2 TSQL语言的语法约定 255
17.1.3 标识符 256
17.1.4 常量和变量 256
17.1.5 注释 258
17.1.6 运算符 258
17.1.7 函数 259
17.1.8 表达式 262
17.2 流程控制语句 264
17.2.1 SET语句 264
17.2.2 BEGIN END语句 265
17.2.3 IF-ELSE语句 266
17.2.4 WHILE、BREAK、CONTINUE语句 266
17.2.5 RETURN语句 267
17.2.6 WAITFOR语句 267
17.2.7 GOTO语句 267
17.2.8 TRY CATCH语句 267
17.2.9 GO语句 268
17.2.10 EXECUTE语句 268
17.2.11 T-SQL语句的解析、编译和执行 268
17.3 数据定义、操纵及控制语言 269
17.3.1 数据定义语言 269
17.3.2 数据操纵语言 270
17.3.3 数据控制语言 272
17.4 习题 274
第18章 存储过程、自定义函数、触发器和游标 275
18.1 存储过程 275
18.1.1 存储过程概述 275
18.1.2 创建存储过程 275
18.1.3 调用存储过程 276
18.1.4 获取存储过程信息 277
18.1.5 修改和重命名存储过程 277
18.1.6 重新编译存储过程 278
18.1.7 删除存储过程 278
18.2 用户定义函数 279
18.2.1 标量值函数 279
18.2.2 内嵌表值函数 279
18.2.3 多语句表值函数 280
18.2.4 修改和重命名用户定义函数 280
18.2.5 删除用户定义函数 281
18.3 触发器 281
18.3.1 触发器概述 281
18.3.2 触发器的类型 282
18.3.3 触发器的设计规则 283
18.3.4 使用触发器 285
18.3.5 启用、禁用和删除触发器 286
18.3.6 触发器的用途 287
18.4 游标 288
18.4.1 游标概述 288
18.4.2 游标的类型 288
18.4.3 游标的使用 290
18.5 习题 293
附录 295
1. 本书中示例数据库的结构及数据 295
2. 上机实验题 298
3. 课程设计要求 305
参考文献 307
猜您喜欢