第1章 数据库技术基础 1
1.1 数据库基础知识 1
1.1.1 信息、数据与数据管理 1
1.1.2 数据管理技术的发展 1
1.1.3 数据库、数据库管理系统、数据库系统 2
1.1.4 数据模型 3
1.1.5 数据库系统的体系结构 6
1.2 关系数据库 7
1.2.1 关系模型 7
1.2.2 关系数据理论 9
1.3 数据库设计 14
1.3.1 数据库设计的任务、特点和步骤 14
1.3.2 需求分析的任务 14
1.3.3 概念结构设计 16
1.3.4 逻辑结构设计 17
1.3.5 数据库设计案例 17
1.4 主流数据库 20
1.4.1 SQL Server 20
1.4.2 Oracle 21
1.4.3 Sybase ASE 22
1.4.4 DB2 22
练习题 22
第2章 SQL Server 2008综述 24
2.1 SQL Server 2008概述 24
2.1.1 SQL Server的发展过程 24
2.1.2 SQL Server 2008的体系结构 25
2.1.3 SQL Server 2008的主要特性 27
2.1.4 SQL Server 2008的版本 27
2.2 SQL Server 2008的安装 29
2.2.1 SQL Server 2008安装前的准备工作 29
2.2.2 安装SQL Server 2008 31
2.2.3 升级到SQL Server 2008 42
2.2.4 SQL Server 2008安装成功的验证 43
2.3 SQL Server 2008的安全性 47
2.3.1 SQL Server 2008安全性综述 47
2.3.2 权限验证模式 48
2.3.3 数据库用户和账号 49
2.4 SQL Server 2008工具 49
2.4.1 配置SQL Server 2008服务器 50
2.4.2 注册和连接SQL Server 2008服务器 52
2.4.3 启动和关闭SQL Server 2008服务器 55
2.4.4 SQL Server 2008的常用工具 56
练习题 66
第3章 数据库的基本操作 67
3.1 SQL Server数据库的基本知识和概念 67
3.1.1 SQL Server的数据库对象 67
3.1.2 SQL Server的系统数据库 69
3.1.3 数据库的组成 70
3.1.4 数据库文件组 71
3.1.5 数据库的存储结构 72
3.2 创建数据库 73
3.2.1 使用图形化方法创建数据库 74
3.2.2 使用T-SQL语句创建数据库 79
3.3 查看和设置数据库信息 82
3.3.1 使用SQL Server管理控制台查看数据库信息 82
3.3.2 使用T-SQL语句查看数据库的信息 83
3.4 打开数据库 84
3.5 修改数据库 85
3.5.1 增加数据库的容量 86
3.5.2 缩减数据库容量 90
3.5.3 创建和更改文件组 95
3.5.4 增加或删除数据库文件 96
3.5.5 更改数据库名称 100
3.6 分离数据库 101
3.7 附加数据库 102
3.8 删除数据库 103
3.9 应用举例 105
3.9.1 创建计算机计费数据库 105
3.9.2 创建选课管理数据库 106
3.9.3 上机练习 107
练习题 108
第4章 表的基本操作 109
4.1 SQL Server表概述 109
4.1.1 SQL Server表的概念 109
4.1.2 SQL Server 2008数据类型 110
4.2 数据库中表的创建 112
4.2.1 使用对象资源管理器创建表 113
4.2.2 使用T-SQL语句创建表 115
4.3 修改表结构 119
4.3.1 使用对象资源管理器修改表结构 119
4.3.2 使用T-SQL语句修改表结构 119
4.4 删除表 121
4.4.1 使用对象资源管理器删除表 121
4.4.2 使用DROP TABLE语句删除表 121
4.5 添加数据 122
4.5.1 使用对象资源管理器向表中添加数据 122
4.5.2 使用INSERT语句向表中添加数据 124
4.6 查看表 124
4.6.1 查看表结构 124
4.6.2 查看表中的数据 125
4.7 应用举例 127
4.7.1 学生选课管理信息系统的各表定义及创建 127
4.7.2 计算机计费系统的各表定义及创建 131
练习题 133
第5章 数据的基本操作 134
5.1 关系运算 134
5.1.1 关系数据结构的形式化定义 135
5.1.2 关系代数 136
5.1.3 关系代数的等价变换规则 144
5.1.4 关系代数表达式应用实例 144
5.2 数据的添加、修改和删除 146
5.2.1 数据的添加 146
5.2.2 数据的修改 154
5.2.3 数据的删除 155
5.3 简单查询 157
5.3.1 完整的SELECT语句的基本语法格式 157
5.3.2 选择表中的若干列 158
5.3.3 选择表中的若干记录 160
5.3.4 对查询的结果排序 166
5.3.5 对数据进行统计 168
5.3.6 用查询结果生成新表 172
5.3.7 合并结果集 173
5.4 连接查询 175
5.4.1 交叉连接查询 175
5.4.2 等值与非等值连接查询 176
5.4.3 自身连接查询 178
5.4.4 外连接查询 179
5.4.5 复合连接条件查询 182
5.5 子查询 183
5.5.1 带有IN谓词的子查询 183
5.5.2 带有比较运算符的子查询 185
5.5.3 带有ANY或ALL谓词的子查询 188
5.5.4 带有EXISTS谓词的子查询 190
5.6 应用举例 193
练习题 196
第6章 索引及视图 199
6.1 索引的基础知识 199
6.1.1 数据存储 199
6.1.2 索引 199
6.2 索引的分类 200
6.2.1 聚集索引 200
6.2.2 非聚集索引 201
6.2.3 聚集和非聚集索引的性能比较 202
6.2.4 使用索引的原则 202
6.3 索引的操作 203
6.3.1 创建索引 203
6.3.2 查询索引信息 206
6.3.3 重命名索引 208
6.3.4 删除索引 208
6.4 索引的分析与维护 209
6.4.1 索引的分析 209
6.4.2 索引的维护 211
6.5 索引应用举例 212
6.6 视图综述 213
6.6.1 视图的基本概念 213
6.6.2 视图的作用 214
6.7 视图的操作 214
6.7.1 创建视图 215
6.7.2 修改视图 219
6.7.3 重命名视图 220
6.7.4 使用视图 221
6.7.5 删除视图 223
6.8 视图定义信息查询 224
6.8.1 使用对象资源管理器 224
6.8.2 通过执行系统存储过程查看视图的定义信息 225
6.9 加密视图 226
6.10 用视图加强数据安全性 226
6.11 视图应用举例 227
练习题 228
第7章 数据完整性 230
7.1 数据完整性的概念 230
7.2 约束的类型 231
7.3 约束的创建 232
7.3.1 创建主键约束 232
7.3.2 创建唯一约束 236
7.3.3 创建检查约束 238
7.3.4 创建默认约束 240
7.3.5 创建外键约束 241
7.4 查看约束的定义 243
7.5 删除约束 244
7.6 使用规则 245
7.7 使用默认 246
7.8 数据完整性强制选择方法 248
7.9 应用举例 248
练习题 250
第8章 SQL Server函数 251
8.1 内置函数 251
8.1.1 聚合函数 251
8.1.2 配置函数 254
8.1.3 日期和时间函数 255
8.1.4 数学函数 256
8.1.5 元数据函数 257
8.1.6 字符串函数 257
8.1.7 系统函数 259
8.1.8 排名函数 260
8.2 用户定义函数 261
8.3 标量函数 263
8.4 表值函数 266
8.5 应用举例 270
练习题 271
第9章 SQL Server程序设计 272
9.1 程序中的批处理、脚本、注释 272
9.1.1 批处理 272
9.1.2 脚本 273
9.1.3 注释 274
9.2 程序中的事务 274
9.2.1 事务概述 274
9.2.2 事务处理语句 275
9.2.3 分布式事务 277
9.2.4 锁定 278
9.3 SQL Server变量 278
9.3.1 全局变量 278
9.3.2 局部变量 281
9.4 SQL语言流程控制 283
9.4.1 BEGIN…END语句块 283
9.4.2 IF…ELSE语句 283
9.4.3 CASE结构 284
9.4.4 WAITFOR语句 286
9.4.5 PRINT语句 287
9.4.6 WHILE语句 287
9.5 应用举例 289
练习题 290
第10章 存储过程与触发器 291
10.1 存储过程综述 291
10.1.1 存储过程的概念 291
10.1.2 存储过程的类型 291
10.1.3 创建、执行、修改、删除简单存储过程 292
10.1.4 创建和执行含参数的存储过程 297
10.1.5 存储过程的重新编译 298
10.1.6 系统存储过程与扩展存储过程 299
10.1.7 案例中的存储过程 301
10.2 触发器 303
10.2.1 触发器的概念 303
10.2.2 触发器的优点 304
10.2.3 触发器的类型 304
10.2.4 DML触发器 305
10.2.5 DDL触发器 318
10.2.6 案例中的触发器 319
练习题 321
第11章 SQL Server 2008安全管理 322
11.1 SQL Server 2008安全的相关概念 322
11.1.1 登录验证 322
11.1.2 角色 323
11.1.3 许可权限 324
11.2 服务器的安全性管理 324
11.2.1 查看登录账号 324
11.2.2 创建一个登录账号 325
11.2.3 更改、删除登录账号属性 327
11.2.4 禁止登录账号 327
11.2.5 删除登录账号 328
11.3 数据库安全性管理 328
11.3.1 数据库用户 328
11.3.2 数据库角色 330
11.3.3 管理权限 332
11.4 数据备份与还原 333
11.4.1 备份和还原的基本概念 333
11.4.2 数据备份的类型 334
11.4.3 还原模式 335
11.5 备份与还原操作 336
11.5.1 数据库的备份 336
11.5.2 数据库的还原 339
11.6 备份与还原计划 340
11.7 案例中的安全 341
11.8 案例中的备份和还原操作 345
11.9 数据导出与导入 351
练习题 355
第12章 数据库与开发工具的协同使用 356
12.1 常用的数据库连接方法 356
12.1.1 ODBC 356
12.1.2 OLE DB 358
12.1.3 ADO 358
12.2 在Visual Basic中的数据库开发 360
12.2.1 Visual Basic简介 360
12.2.2 在Visual Basic中使用ADO数据控件连接数据库 360
12.3 在Delphi或C++ Builder中的数据库开发 362
12.3.1 Delphi与C+++ Builder简介 362
12.3.2 C+++ Builder提供的SQL Server访问机制 363
12.4 ASP与SQL Server 2008的协同运用 368
12.4.1 ASP运行环境的建立 368
12.4.2 在ASP中连接SQL Server 2008数据库 369
12.4.3 ASP与SQL Server 2008数据库协同开发程序的方式 371
12.5 案例中的程序 372
12.5.1 学生信息管理 372
12.5.2 教师信息管理 374
12.5.3 学生信息查询 377
练习题 378
附录 实验指导 379
实验1 SQL Server数据库的安装 379
实验2 创建和管理数据库 380
实验3 创建和管理表 381
实验4 数据的基本操作 382
实验5 数据查询 383
实验6 索引的应用 384
实验7 视图的应用 385
实验8 数据完整性 386
实验9 函数的应用 387
实验10 SQL程序设计 387
实验11 存储过程与触发器 388
实验12 SQL Server的安全管理 389
实验13 数据库与开发工具的协同使用(选做) 390
参考文献 391