第1章 了解SQL Server 2000 1
1.1 定制SQL Server 2000——SQL Server 2000的安装 1
1.1.1 SQL Server的发展历史 1
1.1.2 SQL Server 2000的版本 2
1.1.3 软硬件平台 2
1.1.4 安装SQL Server 2000 3
1.1.5 卸载SQL Server 2000 8
1.2 管理SQL Server 2000——SQL Server 2000组件 9
1.2.1 服务管理器 9
1.2.2 企业管理器 10
1.2.3 查询分析器 14
1.2.4 导入和导出数据 17
1.2.5 服务器端网络实用工具 17
1.2.6 客户端网络实用工具 18
1.2.7 事件探查器 19
1.2.8 在IIS中配置SQL XML支持 20
1.2.9 SQL Server联机丛书 20
本章小结 21
习题1 21
实训1 SQL Server 2000的安装与启动 22
第2章 管理数据库 23
2.1 管理数据初阶——建立数据库 23
引例 创建学生通讯录数据库 23
2.1.1 创建数据库 25
2.1.2 修改数据库 29
2.1.3 删除数据库 31
2.1.4 重命名数据库 32
2.1.5 生成数据库脚本文件 33
2.2 了解数据库——数据库的构成 34
2.2.1 SQL Server数据库类型 34
2.2.2 数据库对象 37
2.2.3 数据库文件和文件组 38
2.3 数据库原理(一)——数据库基础知识 40
2.3.1 数据管理技术的发展 40
2.3.2 数据库系统的构成 42
2.3.3 数据库设计 43
本章小结 44
习题2 45
实训2 创建数据库 45
第3章 管理表 46
3.1 实现数据组织方式——建立表结构 46
引例 创建学生通讯录表 46
3.1.1 表的概念 47
3.1.2 创建表 48
3.1.3 修改表 49
3.1.4 删除表 53
3.1.5 生成表的脚本文件 55
3.2 管理数据——编辑数据 56
引例 向学生通讯录表中录入数据 56
3.2.1 使用SQL-EM 56
3.2.2 使用Transact-SQL语句 57
3.3 数据库原理(二)——数据库规范化设计 61
3.3.1 数据模型 61
3.3.2 关系模式的规范化问题 67
3.3.3 函数依赖 68
3.3.4 属性集闭包 69
3.3.5 范式 71
本章小结 73
习题3 73
实训3 创建表结构并输入记录 75
第4章 程序设计 76
引例 求方程x2-3x+2=0的根 76
4.1 了解编程语言——Transact-SQL基础 77
4.1.1 SQL与Transact-SQL 77
4.1.2 基本语句 79
4.1.3 数据类型 80
4.1.4 变量 82
4.1.5 Transact-SQL运算符 84
4.1.6 Transact-SQL函数 85
4.2 设计程序——流程控制语句 89
4.2.1 定义语句块语句 89
4.2.2 选择结构 90
4.2.3 循环结构 92
4.2.4 无条件转移语句 93
4.2.5 等待语句 94
4.2.6 返回语句 95
4.3 保存程序——脚本文件 95
4.3.1 在查询分析器中使用脚本 96
4.3.2 在osql中使用脚本 96
本章小结 98
习题4 98
实训4 Transact-SQL程序设计 99
第5章 检索数据 100
引例 查询学生的手机号码 100
5.1 实现简单数据查询——基本SELECT语句 101
5.1.1 操纵列 101
5.1.2 操纵行 104
5.1.3 分类汇总 105
5.1.4 排序 107
5.2 实现多表数据查询——复杂SELECT语句 108
5.2.1 联结查询 108
5.2.2 子查询 111
5.2.3 集合运算 116
5.2.4 生成新表 117
5.2.5 嵌入式Transact-SQL 118
5.3 数据库原理(三)——关系运算 119
5.3.1 关系模型 119
5.3.2 关系代数 120
本章小结 127
习题5 127
实训5 检索数据 129
第6章 全面掌握SQL Server 2000 130
6.1 提高查询速度——索引 130
6.1.1 索引概述 130
6.1.2 创建索引 131
6.1.3 删除索引 133
6.1.4 查看索引 135
6.2 定制数据——视图 136
引例 创建包括学生姓名和手机号码的视图 136
6.2.1 视图概述 137
6.2.2 创建视图 138
6.2.3 修改视图 142
6.2.4 删除视图 143
6.2.5 使用视图 143
6.3 定制功能——存储过程 144
引例 创建按学生姓名查询手机号码的存储过程 144
6.3.1 存储过程概述 145
6.3.2 创建存储过程 146
6.3.3 执行存储过程 150
6.3.4 查看和修改存储过程 152
6.3.5 删除存储过程 152
6.3.6 存储过程和游标 153
6.4 自动处理数据——触发器 157
6.4.1 触发器概述 158
6.4.2 创建触发器 158
6.4.3 查看和修改触发器 161
6.4.4 删除触发器 162
6.5 数据库原理(四)——数据库系统体系结构 162
6.5.1 三级模式 163
6.5.2 两级映像 164
6.5.3 两级数据独立性 164
本章小结 165
习题6 165
实训6 创建索引、视图、存储过程、游标和触发器 166
第7章 数据库的复制与恢复 167
7.1 不同数据库服务器间转移数据库——数据库的分离与附加 167
7.1.1 分离数据库 167
7.1.2 附加数据库 169
7.1.3 转移数据库 169
7.2 同一数据库服务器上复制数据库——数据库的备份与还原 170
7.2.1 备份数据库 170
7.2.2 还原数据库 173
7.2.3 数据库维护计划 177
7.3 不同数据格式的转换——数据库数据的导入与导出 184
7.3.1 数据的导入与导出 184
7.3.2 利用数据导入导出转移数据库 188
本章小结 189
习题7 189
实训7 数据库数据的复制与恢复 190
第8章 保证数据安全性 191
8.1 了解SQL Server 2000数据库安全管理方式——安全机制 191
8.2 设置登录数据库服务器的权限——登录管理 192
引例 在数据库服务器中创建并验证SQL Server登录账号 192
8.2.1 SQL Server 2000认证模式 193
8.2.2 创建登录账号 195
8.2.3 修改登录账号 197
8.2.4 删除登录账号 198
8.3 设置数据库访问权限——用户管理 198
引例 在数据库中创建并验证数据库用户 199
8.3.1 默认数据库用户 201
8.3.2 创建数据库用户 201
8.3.3 删除数据库用户 203
8.4 设置访问数据的权限——角色管理 203
8.4.1 管理固定服务器角色 203
8.4.2 管理数据库角色 206
8.5 设置访问对象的权限——权限管理 209
8.5.1 管理对象权限 210
8.5.2 管理语句权限 212
本章小结 214
习题8 214
实训8 数据安全性管理 215
第9章 保证数据完整性 216
9.1 保证数据完整性——事务 216
9.1.1 数据完整性的概念 216
9.1.2 事务的概念 217
9.1.3 事务的分类 219
9.1.4 使用事务的注意事项 222
9.2 维护数据一致性——锁 223
9.2.1 锁的分类 223
9.2.2 锁的粒度 223
9.2.3 检索锁信息 224
9.2.4 使用锁的注意事项 226
9.3 处理错误——@@ERROR 226
9.3.1 错误处理概述 226
9.3.2 错误的处理 227
9.4 数据库原理(五)——数据库并发控制 229
9.4.1 事务的并发控制 229
9.4.2 封锁 231
9.4.3 封锁协议 232
9.4.4 活锁和死锁 235
本章小结 236
习题9 237
实训9 数据完整性管理 237
附录 Transact-SQL语句参考 239
参考文献 261