第1章 数据库基础概述 1
1.1 数据库系统简介 1
1.2 数据库系统的组成 2
1.2.1 数据库 2
1.2.2 数据库管理系统 2
1.2.3 数据库系统的用户 2
1.2.4 数据库系统的网络结构 3
1.3 关系型数据库 3
1.3.1 关系型数据库定义 3
1.3.2 关系型数据库与表 4
1.3.3 主键与外键 4
1.3.4 字段约束 5
1.3.5 数据完整性 6
1.3.6 表的关联 7
1.4 关系型数据库的设计 8
1.4.1 E-R模型 8
1.4.2 数据库设计过程 10
1.4.3 关系型数据库规范化分析 10
习题 13
第2章 SQL Server 2000简介 14
2.1 SQL Server 2000的新特性 14
2.1.1 数据库增强 14
2.1.2 联合数据库服务器 15
2.2 SQL Server 2000的安装 15
2.2.1 安装前的准备事项 15
2.2.2 SQL Server 2000的硬件和软件安装要求 15
2.2.3 创建SQL Server 2000服务账号 16
2.2.4 SQL Server 2000的安装路径 17
2.2.5 安装SQL Server 2000的步骤 18
2.3 管理SQL Server 2000服务器组件 21
2.3.1 SQL Server 2000服务管理器 21
2.3.2 SQL Server 2000主要的服务器组件简介 22
2.4 SQL Server 2000的通信组件 22
2.4.1 服务器端的网络实用工具 23
2.4.2 客户端网络实用工具 23
2.5 SQL Server 2000主要的管理工具 24
2.5.1 企业管理器 24
2.5.2 查询分析器 25
2.6 注册服务器 25
2.7 一个简单的应用举例 26
习题 27
第3章 SQL Server数据库管理 28
3.1 SQL Server数据库简介 28
3.1.1 SQL Server数据库 28
3.1.2 设计SQL Server数据库 28
3.1.3 数据库中的对象 29
3.1.4 SQL Server数据库类型 29
3.1.5 文件和文件组 30
3.1.6 日志 31
3.2 创建数据库 31
3.2.1 使用Transact-SQL创建数据库 31
3.2.2 使用企业管理器创建数据库 33
3.3 修改数据库 34
3.3.1 使用Transact-SQL修改数据库 34
3.3.2 使用企业管理器修改数据库 35
3.4 删除数据库 36
3.4.1 使用Transact-SQL删除数据库 36
3.4.2 使用企业管理器删除数据库 37
3.5 查看与设置数据库参数 37
3.5.1 使用sp_helpdb查看数据库信息 37
3.5.2 使用企业管理器查看数据库信息 38
习题 39
第4章 表与视图 40
4.1 SQL Server中的数据类型 40
4.1.1 数据类型 40
4.1.2 空值的含义 42
4.2 创建表 42
4.2.1 使用企业管理器创建表 42
4.2.2 使用CREATE TABLE语句创建表 42
4.3 修改表的结构 43
4.3.1 使用企业管理器修改表结构 43
4.3.2 使用ALTER TABLE语句修改表结构 44
4.4 添加表中的记录 45
4.4.1 使用企业管理器添加记录 45
4.4.2 使用INSERT语句添加记录 45
4.5 修改表中的记录 46
4.5.1 使用企业管理器修改记录 46
4.5.2 使用UPDATE语句修改记录 46
4.6 删除表中的记录 47
4.6.1 使用企业管理器删除记录 47
4.6.2 使用DELETE语句删除记录 48
4.7 删除表 48
4.7.1 使用企业管理器删除表 48
4.7.2 使用DROP TABLE语句删除表 49
4.8 视图的概念 49
4.9 创建视图 49
4.9.1 使用企业管理器创建视图 49
4.9.2 使用CREATE VIEW创建视图 51
4.10 管理视图 52
4.10.1 查看和修改视图信息 52
4.10.2 删除视图 53
4.11 通过视图修改基本表中的数据 54
4.11.1 查询操作 54
4.11.2 插入操作 55
4.11.3 修改操作 55
4.11.4 删除操作 55
习题 55
第5章 SQL(结构化查询语言) 56
5.1 SQL 56
5.1.1 SQL概述 56
5.1.2 SQL的分类 56
5.2 SELECT查询语句 57
5.2.1 SQL查询分析器 57
5.2.2 查询语句格式 58
5.3 基于单表的查询 58
5.3.1 查询表中指定的字段 58
5.3.2 通配符“*”的使用 59
5.3.3 使用单引号加入字符串 59
5.3.4 使用别名 60
5.3.5 显示表达式的值 60
5.3.6 使用DISTINCT短语消除重复的记录 61
5.3.7 使用WHERE子句查询特定的记录 61
5.3.8 使用ORDER BY子句对查询结果排序 66
5.3.9 SQL的聚合函数 67
5.3.10 使用GROUP BY子句对查询结果进行分组 69
5.3.11 使用HAVING子句筛选结果表 70
5.4 基于多表的连接查询 70
5.4.1 连接谓词 70
5.4.2 以JOIN关键字指定的连接 72
5.5 子查询 75
5.5.1 使用IN或NOT IN的子查询 76
5.5.2 INSERT,DELETE和UPDATE语句中的子查询 78
5.5.3 使用比较运算符的子查询 79
5.5.4 使用EXISTS的子查询 80
5.5.5 相关子查询 81
5.5.6 使用UNION运算符组合多个结果 81
5.5.7 在查询的基础上创建新表 82
习题 83
第6章 Transact-SQL 84
6.1 常量 84
6.1.1 关于SQL标识符 84
6.1.2 常量 84
6.2 变量 85
6.2.1 全局变量 85
6.2.2 局部变量 86
6.3 数据类型 87
6.3.1 系统数据类型 87
6.3.2 用户定义数据类型 87
6.4 运算符与表达式 89
6.5 流程控制语句 90
6.5.1 BEGIN…END语句 90
6.5.2 IF…ELSE语句 91
6.5.3 无条件转移(GOTO)语句 91
6.5.4 WHILE,BREAK和CONTINUE语句 92
6.5.5 RETURN语句 92
6.5.6 WAITFOR语句 93
6.6 系统内置函数 93
6.6.1 系统函数 93
6.6.2 日期时间函数 96
6.6.3 字符串函数 96
6.6.4 数据函数 98
6.6.5 集合函数 98
6.6.6 游标函数 98
6.7 用户自定义函数 98
6.7.1 用户函数的定义与调用 98
6.7.2 用户定义函数的删除 103
习题 103
第7章 索引与数据完整性 105
7.1 索引 105
7.1.1 索引的分类 105
7.1.2 索引的创建 106
7.1.3 索引的删除 109
7.2 数据完整性 111
7.2.1 数据完整性的分类 111
7.2.2 PRIMARY KEY约束 111
7.2.3 FOREIGN KEY约束 112
7.2.4 UNIQUE约束 114
7.2.5 CHECK约束 115
7.2.6 默认值约束 115
习题 118
第8章 存储过程和触发器 119
8.1 存储过程概述 119
8.1.1 存储过程的基本概念 119
8.1.2 存储过程的类型 119
8.2 存储过程的创建 120
8.2.1 使用CREATE PROCEDURE语句创建 120
8.2.2 使用企业管理器创建 122
8.2.3 使用向导创建 123
8.3 执行存储过程 124
8.4 存储过程的参数 125
8.4.1 参数传递方式 125
8.4.2 使用默认参数 127
8.4.3 使用带OUTPUT的返回参数 127
8.5 存储过程的返回值 128
8.5.1 RETURN语句 128
8.5.2 捕获存储过程的返回值 129
8.6 存储过程的查看、修改和删除 129
8.6.1 存储过程的查看 129
8.6.2 存储过程的修改 129
8.6.3 存储过程的删除 130
8.7 触发器的概念 131
8.8 触发器的创建 131
8.8.1 使用企业管理器创建触发器 131
8.8.2 使用Transact-SQL语句创建触发器 131
8.9 触发器的使用 133
8.9.1 inserted表和deleted表 133
8.9.2 INSERT触发器和UPDATE触发器 134
8.9.3 DELETE触发器 136
8.10 触发器的修改及删除 137
8.10.1 触发器的修改 137
8.10.2 触发器的删除 137
习题 138
第9章 备份恢复 139
9.1 备份和恢复概述 139
9.1.1 备份和恢复需求分析 139
9.1.2 数据库备份的基本概念 139
9.1.3 数据库恢复概念 140
9.2 备份操作和备份命令 140
9.2.1 创建备份设备 140
9.2.2 备份命令 141
9.2.3 使用企业管理器进行备份 142
9.2.4 使用备份向导进行备份 143
9.3 恢复操作和恢复命令 146
9.3.1 检查点 146
9.3.2 数据库的恢复命令 147
9.3.3 使用企业管理器恢复数据库 148
9.4 导入导出 150
9.4.1 导入导出概念 150
9.4.2 使用实用程序导入导出数据 150
习题 151
第10章 系统安全管理 152
10.1 SQL Server 2000的身份认证模式 152
10.2 建立和管理用户账号 153
10.2.1 Windows NT认证模式登录账号的建立与删除 153
10.2.2 SQL Server认证模式登录账号的建立与删除 153
10.2.3 通过企业管理器创建和删除登录账号 154
10.3 服务器角色与数据库角色 155
10.3.1 固定服务器角色 155
10.3.2 固定数据库角色 157
10.3.3 用户自定义数据库角色 164
习题 165
第11章 游标和其他概念 166
11.1 游标 166
11.2 游标定义 166
11.3 游标的使用及嵌套 168
11.3.1 打开并填充游标 168
11.3.2 读取游标 169
11.3.3 使用游标修改数据 170
11.3.4 关闭游标 170
11.3.5 释放游标 170
11.3.6 游标的嵌套 171
11.4 事务 172
11.4.1 事务的基本概念 172
11.4.2 显式事务 173
11.4.3 隐式事务 173
11.4.4 自动事务模式 174
11.4.5 分布式事务 174
11.5 锁定 174
11.5.1 锁定粒度 175
11.5.2 锁模式 175
11.5.3 显示锁定信息 176
11.5.4 死锁及其处理 177
11.6 监测 177
11.6.1 系统性能评估及监测 178
11.6.2 性能监测工具 178
习题 180
第12章 Visual Basic/SQL Server开发与编程 181
12.1 ODBC概述 181
12.1.1 ODBC体系结构 181
12.1.2 配置ODBC数据源 182
12.2 OLE DB和ADO概述 184
12.2.1 OLE DB体系结构 184
12.2.2 ADO对象模型 186
12.2.3 使用ADO的简单流程 186
12.3 使用ADO数据控件访问SQL Server数据库 187
12.3.1 在Visual Basic工程中添加ADO数据控件 187
12.3.2 使用ADO数据控件连接SQL Server数据库 188
12.3.3 ADO数据控件在程序中的操作方法 190
12.3.4 数据绑定控件的使用 192
12.4 使用ADO对象访问SQL Server数据库 198
12.4.1 引用ADO对象库 198
12.4.2 使用Connection对象 198
12.4.3 使用Recordset对象处理数据 200
12.4.4 使用Command对象 207
12.5 开发实例——基于VB的学生信息管理系统 211
12.5.1 需求分析 211
12.5.2 系统设计 211
12.5.3 数据库设计 212
12.5.4 用户登录模块的创建 215
12.5.5 学生信息管理系统主窗体的创建 216
12.5.6 子模块的编制 220
12.5.7 系统编译与发行 225
习题 226
第13章 ASP/SQL Server开发与编程 227
13.1 ASP利用数据库存取组件存取SQL Server数据库 227
13.1.1 ASP及其运行环境 227
13.1.2 开发ASP程序时的注意事项 229
13.1.3 数据库存取组件简介 230
13.2 ASP使用Connection对象 230
13.2.1 建立Connection对象 230
13.2.2 Connection对象的属性 232
13.2.3 Connection对象的方法 233
13.2.4 利用Connection对象存取数据库 234
13.3 ASP使用Command对象 235
13.3.1 建立Command对象 235
13.3.2 Command对象的属性 236
13.3.3 Command对象的方法 237
13.3.4 利用Command对象存取数据库 239
13.3.5 利用Command对象执行存储过程 240
13.4 ASP使用Recordset对象 241
13.4.1 建立Recordset对象 241
13.4.2 Recordset对象属性 243
13.4.3 Recordset对象的方法 245
13.4.4 利用Recordset对象查询记录 247
13.4.5 分页显示数据 248
13.4.6 利用Recordset对象更新数据库 249
13.4.7 Field对象和Fields集合 250
13.5 开发实例——在线学生管理系统 250
13.5.1 前端网络页面的设计 251
13.5.2 系统发布与维护 265
习题 265
附录A 数据库表结构 266
附录B 常用语句 270
附录C 常用函数 272
附录D 系统存储过程 277
参考文献 280