第1章 数据库的基本概念 1
1.1 数据库基本概念 1
1.1.1 数据库与数据库管理系统 1
1.1.2 数据模型 2
1.1.3 关系型数据库语言 4
1.2 数据库设计 4
1.2.1 概念结构设计 4
1.2.2 逻辑结构设计 5
1.2.3 数据库物理设计 7
1.3 数据库应用系统 7
1.3.1 数据库的连接方式 7
1.3.2 客户-服务器(C/S)模式应用系统 9
1.3.3 三层客户-服务器(B/S)模式应用系统 10
1.4 SQL Server2008环境 11
1.4.1 SQL Server2008概述 11
1.4.2 SQL Server2008的安装 11
1.4.3 SQL Server2008服务器组件 18
1.4.4 SQLServer2008管理和开发工具 19
习题1 23
第2章 数据库创建 24
2.1 SQL Server数据库基本概念 24
2.1.1 逻辑数据库 24
2.1.2 物理数据库 26
2.1.3 系统数据库和用户数据库 27
2.2 界面方式创建数据库 27
2.2.1 数据库的创建 27
2.2.2 数据库的修改和删除 29
2.3 命令方式创建数据库 32
2.3.1 创建数据库 33
2.3.2 修改数据库 36
2.3.3 删除数据库 38
2.3.4 数据库快照 38
习题2 39
第3章 表与表数据操作 40
3.1 表结构和数据类型 40
3.1.1 表和表结构 40
3.1.2 数据类型 41
3.1.3 表结构设计 46
3.2 界面方式操作表 47
3.2.1 创建表 47
3.2.2 修改表结构 49
3.2.3 删除表 52
3.3 命令方式操作表 52
3.3.1 创建表 52
3.3.2 创建分区表 53
3.3.3 修改表结构 57
3.3.4 删除表 58
3.4 界面方式操作表数据 58
3.4.1 插入记录 59
3.4.2 删除记录 59
3.4.3 修改记录 60
3.5 命令方式操作表数据 60
3.5.1 插入记录 60
3.5.2 删除记录 63
3.5.3 修改记录 64
3.5.4 更新记录 65
习题3 66
第4章 数据库的查询和视图 68
4.1 关系运算 68
4.2 数据库的查询 70
4.2.1 <select list>:选择输出列 71
4.2.2 WHERE子句:指定查询条件 75
4.2.3 FROM子句:指定查询对象 80
4.2.4 连接:实现多表查询 82
4.2.5 GROUP BY子句:对查询结果分组 85
4.2.6 HAVING子句:对分组数据进行筛选 89
4.2.7 ORDER BY子句:查询结果排序 90
4.2.8 SELECT语句的其他语法 92
4.3 视图 94
4.3.1 视图概念 94
4.3.2 创建视图 95
4.3.3 查询视图 98
4.3.4 更新视图 99
4.3.5 修改视图的定义 101
4.3.6 删除视图 102
4.4 游标 102
4.4.1 游标概念 102
4.4.2 声明游标 103
4.4.3 打开游标 103
4.4.4 读取游标数据 104
4.4.5 关闭游标和删除游标 105
习题4 105
第5章 T-SQL语言 107
5.1 SQL语言与T-SQL语言 107
5.2 常量、变量与数据类型 108
5.2.1 常量 108
5.2.2 用户自定义数据类型 110
5.2.3 变量 113
5.3 运算符与表达式 117
5.4 流程控制语句 122
5.4.1 BEGIN...END语句块 122
5.4.2 条件语句 122
5.4.3 CASE语句 124
5.4.4 无条件转移语句 125
5.4.5 循环语句 125
5.4.6 返回语句 126
5.4.7 等待语句 127
5.4.8 错误处理语句 127
5.5 系统内置函数 128
5.5.1 系统内置函数介绍 128
5.5.2 常用系统标量函数 129
5.6 用户定义函数 135
5.6.1 用户函数的定义与调用 135
5.6.2 用户定义函数的删除 140
习题5 140
第6章 索引与数据完整性 141
6.1 索引 141
6.1.1 索引的分类 141
6.1.2 索引的创建 142
6.1.3 重建索引 145
6.1.4 索引的删除 145
6.2 数据完整性 146
6.2.1 数据完整性的分类 146
6.2.2 实体完整性的实现 148
6.2.3 域完整性的实现 150
6.2.4 参照完整性的实现 155
习题6 158
第7章 存储过程和触发器 159
7.1 存储过程 159
7.1.1 存储过程的类型 159
7.1.2 存储过程的创建与执行 160
7.1.3 存储过程的修改 163
7.1.4 存储过程的删除 164
7.1.5 界面方式操作存储过程 164
7.2 触发器 166
7.2.1 触发器的类型 166
7.2.2 触发器的创建 166
7.2.3 触发器的修改 172
7.2.4 触发器的删除 173
7.2.5 界面方式操作触发器 173
习题7 174
第8章 备份与恢复 175
8.1 备份和恢复概述 175
8.1.1 备份和恢复需求分析 175
8.1.2 数据库备份的基本概念 175
8.1.3 数据库恢复概念 177
8.2 备份操作和备份命令 178
8.2.1 创建备份设备 178
8.2.2 备份命令 180
8.2.3 界面方式进行备份 184
8.3 恢复操作和恢复命令 186
8.3.1 检查点 186
8.3.2 数据库的恢复命令 186
8.3.3 图形向导方式恢复数据库 191
8.4 复制数据库 193
8.5 附加数据库 195
习题8 196
第9章 系统安全管理 197
9.1 SQL Server 2008的安全机制 197
9.1.1 SQL Server 2008的身份验证模式 197
9.1.2 SQL Server 2008的安全性机制 198
9.2 建立和管理用户账户 199
9.2.1 界面方式管理用户账户 199
9.2.2 命令方式管理用户账户 202
9.3 角色管理 204
9.3.1 固定服务器角色 204
9.3.2 固定数据库角色 206
9.3.3 自定义数据库角色 209
9.3.4 应用程序角色 211
9.4 数据库权限的管理 214
9.4.1 授予权限 214
9.4.2 拒绝权限 217
9.4.3 撤销权限 218
9.5 数据库架构的定义和使用 219
9.5.1 界面方式创建架构 219
9.5.2 命令方式创建架构 222
习题9 222
第10章 其他概念 223
10.1 事务 223
10.1.1 事务与ACID属性 223
10.1.2 多用户使用的问题 224
10.1.3 事务处理 224
10.1.4 事务隔离级 227
10.2 锁定 229
10.2.1 锁定粒度 229
10.2.2 锁定模式 229
10.3 自动化管理 230
10.3.1 SQL Server代理 231
10.3.2 操作员 232
10.3.3 作业 233
10.3.4 警报 237
习题10 240
实习0 创建实习数据库 241
P0.1 创建数据库及其对象 241
P0.2 功能和界面 243
实习1 PHP/SQL Server 2008学生成绩管理系统 246
P1.1 PHP开发平台搭建 246
P1.1.1 安装PHP环境 246
P1.1.2 Eclipse安装与配置 248
P1.2 创建PHP项目 249
P1.2.1 PHP项目的建立 249
P1.2.2 PHP 连接SQL Server 251
P1.3 系统登录及界面设计 252
P1.4 学生功能 253
P1.4.1 修改口令 253
P1.4.2 查询成绩 255
P1.5 教师功能 255
P1.5.1 增减学生 255
P1.5.2 输入成绩 257
实习2 JavaEE/SQL Server 2008学生成绩管理系统 260
P2.1 JavaEE开发平台搭建 260
P2.1.1 安装软件 260
P2.1.2 环境整合 260
P2.2 创建Struts 2项目 262
P2.2.1 加载Struts 2包 262
P2.2.2 连接SQL Server 263
P2.3 系统登录及界面设计 266
P2.3.1 界面设计 266
P2.3.2 登录功能 267
P2.4 学生功能 269
P2.4.1 修改口令 269
P2.4.2 查询成绩 272
实习3 ASPNET4/SQL Server 2008学生成绩管理系统 274
P3.1 ADO.NET架构原理 274
P3.2 创建ASP.NET项目 275
P3.2.1 ASP.NET项目的建立 275
P3.2.2 ASP.NET连接SQL Server 275
P3.3 系统登录及界面设计 276
P3.4 学生功能 279
P3.4.1 修改口令 279
P3.4.2 查询成绩 281
P3.5 教师功能 282
P3.5.1 增减学生 282
P3.5.2 输入成绩 287
实习4 VB6.0/SQL Server 2008学生成绩管理系统 288
P4.1 VB数据库开发准备 288
P4.1.1 创建ODBC数据源 288
P4.1.2 新建VB 6.0项目 289
P4.1.3 连接数据库 290
P4.2 系统登录功能 290
P4.3 学生功能 291
P4.3.1 修改口令 291
P4.3.2 查询成绩 292
P4.4 教师功能 294
P4.4.1 增减学生 294
P4.4.2 输入成绩 295
附录A 学生成绩(PXSCJ)数据库表样本数据 296