第1章 数据库基础 1
1.1 数据库系统简介 1
1.1.1 数据库系统基本概念 1
1.1.2 数据库技术的发展阶段 2
1.1.3 数据库系统的组成 4
1.1.4 数据库系统的特征 5
1.1.5 数据库系统结构 5
1.2 数据模型 8
1.2.1 现实世界 9
1.2.2 信息世界 9
1.2.3 机器世界 11
1.3 关系模型 12
1.3.1 关系数据结构 12
1.3.2 关系操作 13
1.3.3 关系的完整性约束 14
1.3.4 对关系的限制 15
1.4 关系运算 15
1.5 概念模型与关系模式设计 20
1.5.1 一对一联系 21
1.5.2 一对多联系 21
1.5.3 多对多联系 21
1.5.4 常规实体与弱实体 22
1.5.5 超类与子类 22
1.5.6 数据库设计要点 23
1.6 范式与非范式化 25
1.6.1 范式 25
1.6.2 非范式化 30
1.7 数据库系统设计 31
1.7.1 需求分析阶段 31
1.7.2 概念结构设计阶段 32
1.7.3 逻辑结构设计阶段 33
1.7.4 物理结构设计阶段 33
1.7.5 数据库实施阶段 34
1.7.6 数据库运行和维护阶段 34
实验一 数据库基础 36
第2章 SQL SERVER安装与简介 44
2.1 SQL SERVER的发展 44
2.2 SQL SERVER 2012简介 44
2.3 SQL SERVER 2012安装 45
2.4 SQL SERVER Management Studio简介 52
2.5 SQL SERVER系统数据库 53
2.6 SQL SERVER系统表 54
实验二 安装SQL SERVER 2012 55
第3章 数据库管理 56
3.1 Transact-SQL简介 56
3.2 标识符 57
3.3 数据库的组成 58
3.3.1 文件 58
3.3.2 文件组 58
3.3.3 数据库中文件与文件组关系图 58
3.4 创建数据库 59
3.4.1 使用企业管理器创建数据库 59
3.4.2 使用CREATE DATABASE语句创建数据库 59
3.4.3 查看数据库 62
3.5 修改数据库 63
3.5.1 企业管理器修改数据库 63
3.5.2 使用ALTER DATABASE语句修改数据库 63
3.6 删除数据库 66
3.6.1 企业管理器删除数据库 66
3.6.2 使用DROP DATABASE语句修改数据库 66
3.7 分离和附加数据库 67
3.7.1 分离数据库 67
3.7.2 附加数据库 68
3.8 备份和恢复数据库 70
3.8.1 备份数据库 70
3.8.2 恢复数据库 73
实验三 数据库管理 76
第4章 表的管理 78
4.1 SQL SERVER的数据类型 78
4.2 表的创建及约束规则 82
4.2.1 表的创建 83
4.2.2 完整性约束 84
4.2.3 修改表 90
4.3 表的维护 91
4.3.1 插入数据 91
4.3.2 修改数据 93
4.3.3 删除数据 94
4.4 单表查询 96
4.4.1 SELECT子句 96
4.4.2 SELECT子句中的函数 98
4.4.3 WHERE子句 104
4.4.4 ORDER BY子句 105
4.4.5 GROUP BY子句 106
4.4.6 HAVING子句 107
4.4.7 COMPUTE与COMPUTE BY 108
4.5 连接查询 109
4.5.1 内连接 110
4.5.2 外连接 111
4.5.3 交叉连接 112
4.6 子查询 112
4.6.1 使用比较运算符连接子查询 113
4.6.2 使用IN关键字连接子查询 114
4.6.3 使用ANY、ALL关键字连接子查询 114
4.6.4 使用EXISTS关键字连接子查询 115
4.6.5 相关子查询 117
4.7 集合查询 117
4.8 保存查询结果 118
实验四 表的管理 120
第5章 索引与视图 125
5.1 索引 125
5.1.1 索引概述 125
5.1.2 创建索引 128
5.1.3 维护索引 129
5.2 视图 130
5.2.1 视图概述 131
5.2.2 创建视图 131
5.2.3 使用视图更新数据 132
5.2.4 维护视图 132
实验五 索引与视图 134
第6章 表达式与流程控制 136
6.1 常量 136
6.2 变量 137
6.2.1 局部变量 137
6.2.2 全局变量 138
6.3 运算符与表达式 138
6.4 流程控制 140
6.4.1 BEGIN…END语句 140
6.4.2 IF…ELSE语句 141
6.4.3 CASE语句 142
6.4.4 WHILE语句 143
6.4.5 WHILE…CONTINUE…BREAK语句 144
6.4.6 RETURN语句 145
6.4.7 GOTO语句 145
6.4.8 WAITFOR语句 146
6.5 注释语句 146
实验六 表达式与流程控制 147
第7章 存储过程 149
7.1 存储过程概述 150
7.1.1 存储过程定义 150
7.1.2 存储过程分类 150
7.1.3 存储过程优点 151
7.2 不带参数的存储过程 151
7.2.1 一个场景 152
7.2.2 示例 153
7.3 带有输入参数的存储过程 153
7.3.1 一个场景 154
7.3.2 示例 155
7.4 TRY-CATCH结构 156
7.4.1 语法 156
7.4.2 错误函数 157
7.5 IF EXISTS语句 158
7.6 存储过程的返回值 159
7.6.1 一个场景 159
7.6.2 示例 160
7.7 存储过程的输出参数 161
7.7.1 一个场景 162
7.7.2 示例 163
7.8 存储过程调用存储过程 164
7.9 修改与删除存储过程 165
实验七 存储过程 166
第8章 事务 171
8.1 事务的概念 172
8.2 事务的操作 173
8.3 包含事务的存储过程 173
8.3.1 一个场景 173
8.3.2 示例 174
8.4 设置事务的保存点 177
8.4.1 保存点的概念及语法 177
8.4.2 示例 177
8.5 事务的并发控制 178
8.5.1 并发的概念 179
8.5.2 锁机制 180
8.5.3 设置事务隔离级别 184
实验八 事务 188
第9章 触发器 190
9.1 触发器的概念 190
9.2 DML触发器的分类及幻表 192
9.3 触发器的创建及应用 193
9.3.1 触发器的创建 193
9.3.2 应用 194
9.3.3 修改和删除触发器 199
实验九 触发器 201
第10章 游标 203
10.1 游标的概念 204
10.2 游标的分类 204
10.3 创建游标的步骤 205
10.3.1 声明游标 205
10.3.2 打开游标 206
10.3.3 读取游标数据 206
10.3.4 游标函数 208
10.3.5 关闭游标 208
10.3.6 释放游标 209
10.4 使用游标读取数据到变量中 209
10.5 游标嵌套游标 210
实验十 游标 212
第11章 SQL SERVER安全管理 214
11.1 SQLSERVER登录 214
11.1.1 身份验证模式 215
11.1.2 创建登录名 215
11.1.3 修改和删除登录名 218
11.2 数据库用户 220
11.2.1 创建数据库用户 220
11.2.2 修改和删除数据库用户 222
11.3 角色 223
11.3.1 角色分类 223
11.3.2 创建用户自定义的数据库角色 223
11.3.3 管理角色 225
11.4 权限管理 227
11.4.1 权限的分类 227
11.4.2 设置权限 228
实验十一 SQL SERVER安全管理 234
第12章 综合案例 237
12.1 需求分析 237
12.2 数据库设计 238
12.2.1 概念设计 238
12.2.2 关系模式设计 238
12.2.3 表的创建 241
12.3 T-SQL程序设计 243
12.4 调式与执行 252
第13章 ADO.NET访问数据库 254
13.1 ADO.NET简介 254
13.1.1 ADO.NET的作用 254
13.1.2 ADO.NET的体系结构 255
13.1.3 ADO.NET访问数据库的两种模式 256
13.2 连接模式访问数据库 256
13.2.1 SqlConnection类 256
13.2.2 SqlCommand类 259
13.2.3 SqlDataReader类 261
13.2.4 连接模式访问数据库应用 263
13.3 非连接模式访问数据库 265
13.3.1 SqlDataAdapter类 265
13.3.2 DataSet类 267
13.3.3 非连接模式访问数据库应用 268
附录 SchoolInfo数据库相关表结构 271
参考文献 274