任务1 设计数据库 1
1.1 子任务:理解数据库 2
1.1.1 数据库的概念 3
1.1.2 数据库系统的组成和结构 4
1.1.3 数据库管理系统及其功能 7
1.2 子任务:学习数据模型和关系运算 8
1.2.1 数据模型 9
1.2.2 实体关系模型 10
1.2.3 关系模型 12
1.2.4 关系运算 14
1.3 子任务:数据库设计 18
1.3.1 收集数据 19
1.3.2 创建E-R模型 20
1.3.3 创建数据库模型 23
1.3.4 规范化数据 25
1.3.5 设计表 28
1.4 实现项目的子任务——设计数据库 30
实验1:设计数据库 36
阅读材料:数据库技术的发展 37
小结 41
习题 43
任务2 创建数据库 45
2.1 子任务:学习结构化查询语言 46
2.1.1 T-SQL的组成 46
2.1.2 T-SQL语法约定 47
2.2 子任务:理解数据库存储结构 49
2.2.1 系统数据库 49
2.2.2 数据库文件和文件组 50
2.3 子任务:创建数据库 51
2.3.1 使用SSMS创建数据库 52
2.3.2 使用查询编辑器创建数据库 54
2.4 子任务:查看和修改数据库 58
2.4.1 查看数据库信息 59
2.4.2 修改数据库 60
2.4.3 删除数据库 62
2.5 实现项目的子任务——创建数据库 63
实验2:创建和修改数据库 66
阅读材料:SSMS概览 67
小结 71
习题 72
任务3 创建表 73
3.1 子任务:熟悉数据类型 74
3.1.1 系统数据类型 74
3.1.2 用户自定义数据类型 75
3.2 子任务:创建表 77
3.2.1 使用SSMS创建表 77
3.2.2 使用查询编辑器创建表 80
3.2.3 使用模板创建表 81
3.3 子任务:实现数据完整性 85
3.3.1 理解数据完整性 86
3.3.2 使用约束 88
3.3.3 使用规则 90
3.3.4 使用默认 92
3.4 子任务:查看和修改表 93
3.4.1 查看表信息 94
3.4.2 修改表定义 95
3.4.3 删除表 96
3.5 实现项目的子任务——创建表 97
实验3:创建和修改表 101
阅读材料:规划表 104
小结 105
习题 106
任务4 查询数据 108
4.1 子任务:单表数据查询 109
4.1.1 简单查询 110
4.1.2 WHERE子句 111
4.1.3 ORDER BY子句 113
4.1.4 函数和表达式 114
4.1.5 数据汇总 121
4.2 子任务:使用连接和联合 125
4.2.1 连接查询 125
4.2.2 联合查询 129
4.3 子任务:使用子查询 131
4.3.1 嵌套子查询 131
4.3.2 相关子查询 133
4.3.3 测试存在性的子查询 134
4.4 子任务:使用索引查询数据 135
4.4.1 理解索引 136
4.4.2 创建和维护索引 139
4.5 子任务:使用视图查询数据 146
4.5.1 理解视图 147
4.5.2 创建和修改视图 148
4.5.3 为视图创建索引 152
4.5.4 删除视图 153
4.6 实现项目的子任务——创建索引和视图 155
实验4:实现索引和视图 159
阅读材料:优化查询 160
小结 162
习题 163
任务5 管理和维护数据 166
5.1 子任务:插入数据 167
5.1.1 基本INSERT语句 167
5.1.2 插入多条记录 170
5.2 子任务:更新数据 171
5.2.1 UPDATE语句 172
5.2.2 使用子查询 173
5.2.3 使用视图更新数据 173
5.3 子任务:删除数据 175
5.3.1 DELETE语句 176
5.3.2 截断表 176
5.3.3 使用子查询 177
5.4 子任务:使用事务维护数据 177
5.4.1 理解事务 178
5.4.2 使用事务更新数据 180
5.5 实现项目的子任务——管理和维护数据 182
实验5:操作数据 191
阅读材料:安装SQL Server 2005数据库 194
小结 198
习题 199
任务6 数据库安全管理 201
6.1 子任务:登录管理 202
6.1.1 理解SQL Server安全 202
6.1.2 Windows身份验证 203
6.1.3 SQ LServer身份验证 207
6.2 子任务:用户管理 208
6.2.1 使用T-SQL代码管理用户 208
6.2.2 使用SSMS管理用户 211
6.3 子任务:角色管理 213
6.3.1 理解角色 214
6.3.2 管理角色 216
6.4 实现项目的子任务——保证数据安全 219
实验6:实现数据库安全 222
阅读材料:规划SQL Server的安全性 224
小结 226
习题 226
任务7 数据备份与转换 228
7.1 子任务:备份和还原数据库 229
7.1.1 理解备份 229
7.1.2 备份数据库 230
7.1.3 还原数据库 232
7.2 子任务:分离和附加数据库 234
7.2.1 分离数据库 235
7.2.2 附加数据库 235
7.3 子任务:导出和导入数据 236
7.3.1 导出数据 237
7.3.2 导入数据 239
7.4 实现项目的子任务——备份数据库 240
实验7:数据备份和还原 242
阅读材料:数据复制 243
小结 246
习题 246
任务8 学习T-SQL编程知识 248
8.1 子任务:T-SQL编程基础 249
8.1.1 T-SQL批处理 249
8.1.2 格式化T-SQL代码 250
8.1.3 使用变量 251
8.1.4 流程控制 253
8.2 子任务:T-SQL错误处理 255
8.2.1 使用变量@@Error和@@RowCount 256
8.2.2 使用Raiserror语句 256
8.2.3 使用TRY...CATCH结构 258
8.2.4 错误的严重级别 258
8.3 实现项目的子任务——T-SQL批处理 259
实验8:T-SQL编程 261
阅读材料:使用XML数据 262
小结 268
习题 269
任务9 开发存储过程 270
9.1 子任务:理解存储过程 271
9.1.1 什么是存储过程 271
9.1.2 存储过程的优势 273
9.2 子任务:创建和执行存储过程 274
9.2.1 创建和执行不带参数的存储过程 274
9.2.2 创建和执行带输入参数的存储过程 276
9.2.3 创建和执行带输出参数的存储过程 277
9.2.4 嵌套存储过程 278
9.3 子任务:管理存储过程 279
9.3.1 修改存储过程 279
9.3.2 查看存储过程信息 280
9.3.3 重新编译存储过程 281
9.3.4 删除存储过程 281
9.4 实现项目的子任务——使用存储过程 281
实验9:实现存储过程 285
阅读材料:批处理、视图和存储过程 286
小结 287
习题 287
任务10 实现触发器 290
10.1 子任务:触发器简介 291
10.1.1 理解触发器 291
10.1.2 触发器原理 292
10.2 子任务:创建触发器 294
10.2.1 INSERT触发器 295
10.2.2 DELETE触发器 296
10.2.3 UPDATE触发器 297
10.2.4 INSTEAD OF触发器 298
10.2.5 用触发器实现数据完整性 300
10.3 子任务:管理触发器 302
10.3.1 修改触发器 303
10.3.2 删除触发器 303
10.3.3 禁用触发器 304
10.3.4 查看触发器信息 304
10.4 实现项目的子任务——使用触发器 305
实验10:实现触发器 307
阅读材料:约束和触发器 308
小结 308
习题 309
任务11 实现用户定义函数 311
11.1 子任务:用户定义函数 312
11.1.1 理解用户定义函数 312
11.1.2 用户定义函数的类型 313
11.2 子任务:设计和实现用户定义函数 314
11.2.1 创建和调用标量函数 314
11.2.2 创建和调用内联表值函数 316
11.2.3 创建和调用多语句表值函数 316
11.2.4 将存储过程重写为函数 318
11.2.5 将函数重写为视图或存储过程 319
11.3 子任务:管理用户定义函数 319
11.3.1 修改用户定义函数 320
11.3.2 删除用户定义函数 321
11.3.3 查看用户定义函数 321
11.4 实现项目的子任务——创建用户定义函数 322
实验11:实现用户定义函数 324
阅读材料:视图、存储过程和用户定义函数 326
小结 326
习题 327
参考文献 329