第1部分 基础篇 2
第1章 数据库基础知识 2
1.1 数据库技术概述 3
1.1.1 数据库相关概念 3
1.1.2 数据库技术的产生和发展 4
1.1.3 数据库系统的模式结构 4
1.2 数据模型 5
1.2.1 数据模型的组成要素 5
1.2.2 层次模型 6
1.2.3 网状模型 7
1.2.4 关系模型 7
1.3 数据库设计 8
1.3.1 概述 8
1.3.2 数据库设计步骤 8
1.4 概念模型 10
1.4.1 基本概念 10
1.4.2 概念模型的表示(E-R建模) 11
1.5 数据库技术新发展 12
1.5.1 数据库领域现状 12
1.5.2 数据库新技术 12
1.6 本章小结 13
1.7 思考与练习 13
1.8 实训项目 14
第2章 关系数据库 17
2.1 关系模型的概述 18
2.1.1 关系 18
2.1.2 关系术语 19
2.2 概念模型向关系模型的转换 19
2.2.1 联系 19
2.2.2 模型转换 20
2.3 关系的完整性 21
2.3.1 实体完整性 21
2.3.2 域完整性 21
2.3.3 参照完整性 21
2.3.4 完整性检查 22
2.4 函数依赖与规范化 23
2.4.1 函数依赖 23
2.4.2 规范化设计 24
2.5 本章小结 26
2.6 思考与练习 26
2.7 实训项目 28
第2部分 应用篇 32
第3章 SQL Server系统概述 32
3.1 SQL Server简介 33
3.2 SQL Server基本功能 34
3.2.1 易管理性 34
3.2.2 安全性 35
3.2.3 扩展语言的支持 35
3.2.4 开发工具 36
3.3 SQL Server 2016新增功能 36
3.4 体验SQL Server Management Studio 38
3.4.1 启动SQL Server Management Studio 38
3.4.2 配置SQL Server Management Studio环境 39
3.5 系统数据库和示例数据库 41
3.5.1 系统数据库 41
3.5.2 示例数据库 42
3.5.3 成绩管理数据库CJGL 42
3.6 SQL Server工具简介 42
3.6.1 执行T-SQL语句 42
3.6.2 使用sqlcmd工具 43
3.7 本章小结 44
3.8 思考与练习 44
第4章 创建和管理数据库 45
4.1 创建数据库 45
4.2 管理数据库 48
4.3 备份与恢复 50
4.3.1 数据库备份 50
4.3.2 数据库还原 51
4.4 数据库分离和附加 52
4.4.1 分离数据库 52
4.4.2 附加数据库 52
4.5 本章小结 53
4.6 思考与练习 53
4.7 实训项目 54
第5章 创建和管理表 56
5.1 表 57
5.1.1 表的基本概念 57
5.1.2 数据类型 57
5.1.3 创建表 60
5.1.4 管理表 64
5.2 表数据操作 66
5.2.1 操作表数据 66
5.2.2 数据的导入/导出 70
5.3 表数据完整性的实现 74
5.3.1 约束的概述 74
5.3.2 主键约束(PRIMARY KEY) 75
5.3.3 唯一性约束(UNIQUE) 76
5.3.4 检查约束(CHECK) 76
5.3.5 默认约束(DEFAULT) 78
5.3.6 外键约束(FOREIGN KEY) 79
5.4 用Power Designer建模创建表 81
5.4.1 Power Designer(PD)简介 81
5.4.2 用PD建模创建库表 82
5.5 本章小结 88
5.6 思考与练习 88
5.7 实训项目 89
第6章 数据检索 94
6.1 SQL概述 95
6.2 使用SELECT语句的简单查询 95
6.2.1 SELECT子句 95
6.2.2 FROM子句 99
6.2.3 WHERE子句 100
6.2.4 GROUP BY子句 102
6.2.5 HAVING子句 103
6.2.6 ORDER BY子句 105
6.3 常用的其他关键字 105
6.3.1 LIKE关键字 105
6.3.2 NULL关键字 107
6.3.3 TOP关键字 108
6.3.4 BETWEEN…AND…关键字 109
6.3.5 CASE关键字 110
6.4 高级查询 111
6.4.1 连接查询 111
6.4.2 子查询 116
6.4.3 联合查询 118
6.5 本章小结 120
6.6 思考与练习 120
6.7 实训项目 121
第3部分 提高篇 126
第7章 索引和视图 126
7.1 索引 127
7.1.1 索引基础知识 127
7.1.2 建立索引 128
7.1.3 管理索引 130
7.1.4 索引分析和维护 134
7.2 视图 137
7.2.1 视图基础知识 138
7.2.2 创建视图 138
7.2.3 管理视图 145
7.3 本章小结 152
7.4 思考与练习 153
7.5 实训项目 153
第8章 T-SQL编程基础 155
8.1 T-SQL基础知识 156
8.1.1 用户定义数据类型 156
8.1.2 规则和默认 160
8.1.3 索引基础知识 162
8.2 函数 165
8.2.1 常用系统函数 165
8.2.2 自定义函数 169
8.2.3 常用系统存储过程 171
8.3 批处理和流程控制语句 172
8.3.1 语句注释 172
8.3.2 批处理 173
8.3.3 流程控制语句 173
8.4 本章小结 176
8.5 思考与练习 177
8.6 实训项目 177
第9章 存储过程 179
9.1 存储过程概述 180
9.1.1 存储过程的概念 180
9.1.2 存储过程的优点 180
9.1.3 存储过程的类型 180
9.2 创建和执行存储过程 181
9.2.1 存储过程的创建 181
9.2.2 执行存储过程 184
9.3 存储过程中的参数 186
9.3.1 在存储过程中使用参数 186
9.3.2 带输入参数的存储过程 186
9.3.3 在存储过程中使用默认参数 188
9.3.4 带输出参数的存储过程 188
9.4 存储过程的管理 189
9.4.1 查看存储过程 189
9.4.2 修改存储过程 191
9.4.3 重命名存储过程 192
9.4.4 删除存储过程 193
9.5 系统存储过程和扩展存储过程 193
9.5.1 常用的系统存储过程 194
9.5.2 扩展存储过程 195
9.6 游标 196
9.6.1 游标的概念 196
9.6.2 游标的基本操作 196
9.7 本章小结 199
9.8 思考与练习 199
9.9 实训项目 200
第10章 触发器 202
10.1 触发器 203
10.1.1 为何要使用触发器 203
10.1.2 触发器和外键约束 203
10.1.3 触发器的分类和特点 205
10.1.4 inserted虚表和deleted虚表 211
10.2 管理触发器 215
10.3 本章小结 221
10.4 思考与练习 221
10.5 实训项目 222
第11章 SQL Server安全管理 223
11.1 数据库的安全性 224
11.1.1 安全性概述 224
11.1.2 SQL Server安全机制 224
11.2 用户管理 225
11.2.1 创建登录 225
11.2.2 创建数据库用户 228
11.3 权限管理 229
11.3.1 权限范围 230
11.3.2 授予权限 231
11.3.3 收回权限 232
11.4 本章小结 232
11.5 思考与练习 232
11.6 实训项目 232
第12章 数据库并发控制及实现 234
12.1 事务 235
12.1.1 事务的概念和特性 235
12.1.2 事务操作 235
12.2 并发控制 237
12.2.1 并发操作与数据的不一致性 237
12.2.2 SQL Server中的锁 239
12.3 本章小结 239
12.4 思考与练习 239
12.5 实训项目 240
第13章 微软云计算数据库SQL Azure 241
13.1 SQL Azure架构 242
13.2 SQL Azure的特点及优势 242
13.2.1 使用SQL Azure的理由 242
13.2.2 使用SQL Azure Database的好处 243
13.2.3 使用SQL Azure与SQL Server比较 244
13.3 SQL Azure的关键技术 246
13.4 在应用程序中使用SQL Azure 255
13.5 本章小结 257
13.6 思考与练习 257
13.7 实训项目 257
附录A 安装SQL Server 2012 258
A.1 SQL Server 2012版本 258
A.2 安装SQL Server 2012 259
A.2.1 安装SQL Server 2012的软件和硬件要求 259
A.2.2 SQL Server 2012的安装步骤 259
附录B 学校综合管理数据库系统示例 265
B.1 学校管理数据库系统的需求分析 265
B.2 概念模型设计 266
B.3 逻辑模型 266
B.4 创建College数据库的脚本文件 268
B.5 创建College中表的脚本文件 269
B.6 各表的参考数据 271
附录C 常用函数和系统存储过程 275
C.1 常用函数列表 275
C.1.1 常用聚合函数 275
C.1.2 日期和时间函数 276
C.1.3 数学函数 276
C.1.4 元数据函数 277
C.1.5 行集函数 277
C.1.6 安全函数 278
C.1.7 字符串函数 278
C.1.8 文本和图像函数 279
C.1.9 其他系统函数 279
C.2 系统存储过程 280