第1章 数据库的规划 1
1.1 数据库概述 1
1.1.1 基本概念 1
1.1.2 数据描述 2
1.2 数据库设计的步骤 2
1.3 学生成绩管理数据库的需求分析 4
1.3.1 需求分析的任务 4
1.3.2 常用需求调查方法 4
1.3.3 编写需求分析说明书 5
1.3.4 学生成绩管理数据库的需求分析 5
1.4 学生成绩管理数据库的概念结构设计 6
1.4.1 概念结构设计的任务 6
1.4.2 实体与联系 6
1.4.3 概念模型的表示方法 7
1.4.4 概念结构设计的步骤 8
1.4.5 学生成绩数据库的概念结构设计 9
1.5 学生成绩管理数据库的逻辑结构设计 10
1.5.1 逻辑结构设计的任务 10
1.5.2 关系模型 10
1.5.3 E-R模型到关系模型的转化 11
1.5.4 数据模型优化 12
1.5.5 学生成绩数据库的逻辑结构设计 16
1.6 学生成绩管理数据库的物理结构设计 16
1.6.1 物理结构设计的任务 16
1.6.2 确定数据库的物理结构 17
1.6.3 学生成绩数据库的物理结构设计 18
1.7 学生成绩管理数据库的实施 20
1.8 学生成绩管理数据库的运行与维护 20
习题1 20
实训1 21
第2章 SQL Server 2008系统概述 22
2.1 SQL Server 2008功能简介 22
2.2 SQL Server 2008的安装 23
2.2.1 SQL Server 2008的版本 23
2.2.2 SQL Server 2008的安装环境 24
2.2.3 SQL Server 2008的安装 26
2.3 SQL Server配置管理器简介 37
2.3.1 管理SQL Server 2008服务 37
2.3.2 更改登录身份 38
2.4 SQL Server Management Studio简介 39
2.4.1 启动SSMS 39
2.4.2 使用已注册的服务器 40
2.4.3 使用对象资源管理器 41
2.4.4 使用文档窗口 42
2.4.5 附加学生成绩数据库 42
2.4.6 创建一个查询 44
2.4.7 文档与教程 45
习题2 46
实训2 47
第3章 Transact-SQL语言编程基础 48
3.1 Transact-SQL语言概论 48
3.1.1 Transact-SQL语言分类 48
3.1.2 Transact-SQL语法约定 49
3.2 数据类型 51
3.2.1 基本数据类型 51
3.2.2 用户自定义数据类型 54
3.3 常量与变量 55
3.3.1 常量 55
3.3.2 变量 56
3.4 表达式与运算符 58
3.4.1 表达式 58
3.4.2 运算符 58
3.4.3 运算符优先级 60
3.5 常用函数 61
3.5.1 聚合函数 61
3.5.2 数学函数 63
3.5.3 字符串函数 64
3.5.4 日期时间函数 64
3.5.5 数据类型转换函数 66
3.5.6 元数据函数 68
3.6 批处理与流程控制语句 68
3.6.1 批处理 68
3.6.2 流程控制语句 70
习题3 75
实训3 76
第4章 数据库的创建与管理 78
4.1 系统数据库 78
4.2 数据库存储结构 79
4.2.1 数据库文件 79
4.2.2 文件组 80
4.3 创建数据库 80
4.3.1 使用SSMS创建数据库 80
4.3.2 使用CREATE DATABASE语句创建数据库 81
4.4 管理数据库 84
4.4.1 查看数据库信息 84
4.4.2 扩充数据文件和事务日志的容量 85
4.4.3 重命名数据库 89
4.4.4 打开数据库 90
4.4.5 分离和附加数据库 90
4.4.6 数据库的联机与脱机 91
4.4.7 删除数据库 92
习题4 94
实训4 95
第5章 数据表的创建与管理 96
5.1 创建数据表 96
5.1.1 使用SSMS创建数据表 96
5.1.2 使用CREATE TABLE语句创建数据表 97
5.2 管理数据表 98
5.2.1 查看表的信息 98
5.2.2 修改数据表 100
5.2.3 重命名数据表 102
5.2.4 删除数据表 103
5.3 表中数据操作 103
5.3.1 插入记录 104
5.3.2 修改记录 106
5.3.3 删除记录 106
5.3.4 用TRUNCATE TABLE语句清空数据表 107
习题5 107
实训5 108
第6章 数据完整性控制 111
6.1 数据完整性概述 111
6.1.1 数据完整性定义 111
6.1.2 数据完整性类型 111
6.1.3 实现数据完整性的方式 113
6.2 使用约束实现数据完整性 113
6.2.1 约束概述 113
6.2.2 主键约束 114
6.2.3 唯一约束 117
6.2.4 外键约束 119
6.2.5 检查约束 122
6.2.6 默认值约束 125
6.2.7 非空约束 127
6.3 使用IDENTITY列 127
6.3.1 建立IDENTITY列 127
6.3.2 使用IDENTITY列 129
6.4 默认值和规则 130
6.4.1 默认值 130
6.4.2 规则 133
习题6 135
实训6 136
第7章 数据查询 137
7.1 SELECT语句 137
7.2 简单查询 138
7.2.1 SELECT子句 138
7.2.2 INTO子句 140
7.2.3 FROM子句 141
7.2.4 WHERE子句 142
7.2.5 GROUP BY子句 143
7.2.6 HAVING子句 144
7.2.7 ORDER BY子句 146
7.2.8 COMPUTE子句 147
7.3 使用其他子句或关键字查询数据 148
7.3.1 联合查询 148
7.3.2 检索某一范围内的信息 149
7.3.3 指定结果集的列的别名 153
7.4 连接查询 154
7.4.1 连接概述 154
7.4.2 内连接 154
7.4.3 外连接 157
7.4.4 交叉连接 159
7.4.5 自连接 160
7.5 嵌套查询 160
7.5.1 嵌套查询的结构与组织 160
7.5.2 使用IN或NOT IN谓词的嵌套查询 161
7.5.3 使用比较运算符的嵌套查询 162
7.5.4 使用ANY或ALL谓词的嵌套查询 162
7.5.5 使用EXISTS或NOT EXISTS谓词的嵌套查询 164
习题7 165
实训7 166
第8章 视图 167
8.1 视图概述 167
8.1.1 视图的定义 167
8.1.2 视图的类型 167
8.1.3 视图的作用 167
8.2 创建视图 168
8.2.1 使用SSMS创建视图 169
8.2.2 使用CREATE VIEW语句创建视图 171
8.3 管理视图 173
8.3.1 查看视图 173
8.3.2 修改视图 175
8.3.3 删除视图 176
8.4 使用视图 177
8.4.1 利用视图查询数据 177
8.4.2 利用视图更新数据 178
习题8 179
实训8 180
第9章 索引 181
9.1 索引概述 181
9.1.1 索引的定义 181
9.1.2 索引的作用 182
9.1.3 索引的分类 183
9.1.4 索引与约束的关系 184
9.2 创建索引 184
9.2.1 使用SSMS创建索引 185
9.2.2 使用CREATE INDEX语句创建索引 187
9.3 管理索引 188
9.3.1 查看索引 188
9.3.2 重命名索引 190
9.3.3 维护索引 190
9.3.4 删除索引 192
9.4 索引的应用 194
9.4.1 使用索引的原则 194
9.4.2 创建学生成绩数据库的索引 194
习题9 196
实训9 197
第10章 用户自定义函数 198
10.1 用户自定义函数概述 198
10.1.1 用户自定义函数的分类 198
10.1.2 用户自定义函数的作用 198
10.2 标量值函数 199
10.2.1 定义标量值函数 199
10.2.2 调用标量值函数 201
10.3 内嵌表值函数 202
10.3.1 定义内嵌表值函数 202
10.3.2 调用内嵌表值函数 203
10.4 多语句表值函数 203
10.4.1 定义多语句表值函数 203
10.4.2 调用多语句表值函数 205
10.5 管理用户自定义函数 205
10.5.1 查看用户自定义函数 205
10.5.2 修改用户自定义函数 208
10.5.3 删除用户自定义函数 209
习题10 210
实训10 211
第11章 存储过程和触发器 212
11.1 存储过程概述 212
11.1.1 存储过程的概念 212
11.1.2 存储过程的优点 212
11.1.3 存储过程的分类 213
11.2 创建和执行用户存储过程 214
11.2.1 创建用户存储过程 214
11.2.2 执行用户存储过程 217
11.3 管理存储过程 220
11.3.1 查看存储过程 220
11.3.2 修改存储过程 222
11.3.3 删除存储过程 224
11.4 触发器概述 224
11.4.1 触发器的分类 224
11.4.2 DML触发器与约束 226
11.4.3 INSERTED表和DELETED表 226
11.5 创建DML触发器 227
11.6 管理DML触发器 230
11.6.1 查看触发器 230
11.6.2 修改触发器 231
11.6.3 禁用或启用触发器 232
11.6.4 删除触发器 234
习题11 234
实训11 235
第12章 游标、事务和锁 237
12.1 游标 237
12.1.1 游标概述 237
12.1.2 使用游标 238
12.2 事务 245
12.2.1 事务特性 246
12.2.2 管理事务 246
12.3 锁 249
12.3.1 锁的基础知识 249
12.3.2 死锁 251
12.3.3 锁的模式 251
习题12 253
实训12 254
第13章 数据库安全性管理 255
13.1 SQL Server 2008的安全机制 255
13.2 服务器安全的管理 256
13.2.1 身份验证模式 256
13.2.2 创建登录名 257
13.3 数据库用户管理 260
13.3.1 默认用户 261
13.3.2 创建数据库用户 261
13.4 权限管理 264
13.4.1 权限管理的相关概念 265
13.4.2 权限的类别 266
13.4.3 权限管理 267
13.5 角色管理 271
13.5.1 服务器角色 271
13.5.2 数据库角色 274
习题13 278
实训13 278
第14章 数据库日常维护 280
14.1 概述 280
14.2 数据库备份 281
14.2.1 备份类型 281
14.2.2 创建备份设备 281
14.2.3 备份数据库 283
14.3 数据库还原 288
14.4 数据的导出与导入 290
14.4.1 数据的导出 291
14.4.2 数据的导入 296
习题14 299
实训14 300
第15章 综合应用开发实例 301
15.1 学生成绩管理系统的分析 301
15.1.1 系统现状 301
15.1.2 需求分析 302
15.2 学生成绩管理系统的详细设计与系统实施 302
15.2.1 数据访问 303
15.2.2 权限分析 309
15.2.3 系统业务功能 310
15.2.4 初始化模块 310
15.2.5 界面设计 311
习题15 331
实训15 331
参考文献 332