上篇 基础知识 1
第1章 数据库与SQL Server 2005 1
简介 1
1.1数据库原理 1
1.1.1数据库基础概念 2
1.1.2关系数据库 4
1.1.3范式理论 5
1.1.4实体-关系模型 7
1.2 SQL Server 2005概述 9
1.2.1 SQL Server 2005特性 9
1.2.2 SQL Server 2005体系结构 10
1.2.3安装SQL Server 2005 12
1.3配置SQL Server 2005 14
1.3.1配置服务 15
1.3.2使用SQL Server 2005管理工具 17
1.3.3通过配置管理器配置SQL Server 20
1.3.4使用SQL Server外围应用配置器 22
1.4扩展练习 25
第2章 管理数据库 29
2.1数据库的组成 29
2.1.1系统数据库 29
2.1.2数据库存储文件 31
2.1.3数据库对象 32
2.1.4数据库快照 34
2.2创建数据库 36
2.2.1向导方式创建 36
2.2.2语句方式创建 39
2.3维护数据库 42
2.3.1修改数据库 43
2.3.2删除数据库 46
2.3.3查看数据库状态 47
2.3.4数据库操作 49
2.3.5复制和移动数据库 52
2.4扩展练习 55
第3章 管理表 59
3.1表的概述 59
3.1.1什么是表 59
3.1.2表的类型 60
3.1.3创建表 61
3.2列数据类型 64
3.2.1精确数字类型 64
3.2.2近似数字类型 66
3.2.3字符数据类型 67
3.2.4 Unicode字符数据类型 67
3.2.5二进制数据类型 68
3.2.6日期和时间数据类型 69
3.2.7其他数据类型 70
3.2.8创建自己的数据类型 73
3.3列的其他属性 76
3.3.1 NULL、NOT NULL和默认值 76
3.3.2 IDENTITY的应用 77
3.4维护数据表 79
3.4.1修改表中的列 79
3.4.2修改表 81
3.5表数据完整性 84
3.5.1表主键 84
3.5.2外键 87
3.5.3 CHECK约束 89
3.5.4表关系 90
3.6表的索引与视图 92
3.6.1表的索引 92
3.6.2表的视图 93
3.7扩展练习 94
第4章 获取数据 95
4.1基本SELECT语句 95
4.1.1简单的SELECT查询 95
4.1.2 WHERE子句 101
4.1.3 ORDER BY子句 107
4.1.4 GROUP BY子句 109
4.1.5 HAVING子句 110
4.2多表查询 112
4.2.1多表查询基础 112
4.2.2内连接 114
4.2.3外连接 115
4.2.4交叉连接 118
4.2.5自连接 119
4.2.6联合查询 120
4.3子查询 121
4.3.1多行子查询 121
4.3.2单值子查询 124
4.3.3嵌套子查询 125
4.4扩展练习 126
第5章 操作查询 128
5.1插入数据 128
5.1.1 INSERT语句的语法 128
5.1.2使用INSERT VALUES语句 131
5.1.3使用INSERT SELECT语句 134
5.1.4使用SELECTINTO语句创建表 136
5.2更新数据 137
5.2.1 UPDATE语句的语法 137
5.2.2根据表中数据更新行 138
5.2.3根据其他表更新行 140
5.3删除数据 141
5.3.1 DELETE语句的语法 141
5.3.2使用DELETE语句 142
5.3.3使用TRUNCATE TABLE语句 144
5.4扩展练习 144
第6章 Transact-SQL语言 146
6.1 Transact-SQL概述 146
6.2 Transact-SQL语言基础 147
6.2.1常量与变量 147
6.2.2运算符 150
6.2.3表达式 153
6.2.4控制语句 154
6.3常用函数 159
6.3.1聚合函数 159
6.3.2数学函数 160
6.3.3字符串函数 161
6.3.4数据类型转换函数 162
6.3.5日期和时间函数 163
6.3.6用户自定义函数 164
6.4高级操作 167
6.4.1事务 167
6.4.2锁 169
6.4.3游标 171
6.5扩展练习 174
第7章 存储过程与触发器 177
7.1什么是存储过程 177
7.1.1.存储过程的类型 177
7.1.2系统存储过程 178
7.2使用存储过程 180
7.2.1创建普通存储过程 180
7.2.2执行存储过程 183
7.2.3使用存储过程参数 185
7.2.4管理存储过程 188
7.3什么是触发器 191
7.3.1触发器概述 191
7.3.2触发器的分类 193
7.4创建触发器 194
7.4.1 DML触发器 194
7.4.2 DDL触发器 198
7.4.3嵌套触发器 199
7.4.4递归触发器 200
7.5管理触发器 201
7.6扩展练习 203
第8章 管理SQL Sevrer 2005的安全 206
8.1 SQL Server 2005安全 206
8.1.1 SQL Server 2005安全简介 206
8.1.2 SQL Server 2005的安全机制 208
8.1.3 SQL Server 2005验证模式 209
8.2登录名 211
8.2.1系统登录名 211
8.2.2创建登录名 212
8.3数据库用户 214
8.3.1数据库用户 214
8.3.2创建数据库用户 215
8.4管理角色 217
8.4.1服务器角色 217
8.4.2数据库角色 219
8.4.3应用程序角色 220
8.4.4为角色添加成员 223
8.5使用架构 224
8.5.1创建架构 225
8.5.2修改架构 226
8.5.3删除架构 228
8.6权限 228
8.6.1权限类型 228
8.6.2权限操作 230
8.7扩展练习 232
第9章 SQL Server 2005备份与恢复 235
9.1备份概述 235
9.1.1备份的重要性 235
9.1.2备份和恢复体系结构 236
9.1.3备份设备 238
9.2备份数据 239
9.2.1创建备份设备 239
9.2.2管理备份设备 241
9.2.3完整备份 243
9.2.4差异备份 246
9.2.5事务日志备份 248
9.3恢复数据 252
9.3.1常规恢复 252
9.3.2时间点恢复 255
9.4复制数据库 255
9.5扩展练习 257
第10章 SQL Server 2005高级主题 259
10.1 .NET Framework集成 259
10.1.1 .NET Framework概述 259
10.1.2 CLR概述 261
10.1.3 ADO.NET概述 264
10.2使用.NET特性 266
10.2.1用户自定义函数 266
10.2.2用户自定义类型 271
10.2.3触发器 273
10.2.4存储过程 275
10.3服务体系 277
10.3.1通知服务 277
10.3.2分析服务 278
10.3.3报表服务 279
10.3.4集成服务 280
10.4扩展练习 281
下篇 实验指导 283
第1单元 283
练习1-1 注册服务器 283
练习1-2 隐藏SQL Server 2005实例 285
练习1-3 使用sqicmd实用工具 286
练习1-4 创建数据库和表 287
第2单元 290
练习2-1 创建销售管理数据库 290
练习2-2 重命名销售管理数据库 291
练习2-3 收缩销售管理数据库 292
第3单元 294
练习3-1 创建用户自定义数据类型 294
练习3-2 创建CHECK约束 297
练习3-3 为表添加关系 298
练习3-4 创建表的索引 298
练习3-5 创建查询学生成绩的视图 300
第4单元 302
练习4-1 按部门查看员工信息 302
练习4-2 查看工龄3年以上的员工信息 303
练习4-3 使用嵌套子查询 303
练习4-4 使用增强TOP子句 304
练习4-5 使用新增的INTERSECT和EXCEPT语句 305
第5单元 306
练习5-1 处理标识列 306
练习5-2 使用新增OUTPUT子句 307
练习5-3 图形操作修改表数据 309
第6单元 311
练习6-1 使用表达式的查询 311
练习6-2 管理用户自定义函数 313
练习6-3 使用游标 315
练习6-4 查看锁 317
第7单元 318
练习7-1 创建商品查询存储过程 318
练习7-2 创建更新价格的存储过程 320
练习7-3 定义员工注册触发器 321
练习7-4 创建退货触发器 322
练习7-5 嵌套触发器示例 323
练习7-6 使用INSTEAD OF触发器 324
练习7-7 使用UPDATE触发器 326
练习7-8 使用扩展存储过程 328
第8单元 330
练习8-1 配置SQL Server 2005的身份验证模式 330
练习8-2 创建Windows登录 332
练习8-3 指派角色到多个登录 335
练习8-4 自定义数据库角色 336
第9单元 338
练习9-1 恢复大容量日志记录模型 338
练习9-2 设计数据库备份策略 340
练习9-3 创建文件组备份 344
练习9-4 按时间点恢复数据库 348
第10单元 351
练习10-1 使用ADO.NET操作数据库 351
练习10-2 使用报表服务创建销售报表 353
练习10-3 导入Access报表 359
练习10-4 使用向导创建包 361