第1篇 数据库入门 1
第1章 SQL Server2008数据库基础 1
1.1 数据库的世界 1
1.1.1 信息 2
1.1.2 数据 2
1.1.3 数据管理 2
1.1.4 数据库管理系统 2
1.1.5 数据库系统 3
1.2 数据库的成长历程 3
1.2.1 人工管理阶段 3
1.2.2 文件系统阶段 4
1.2.3 数据库系统阶段 5
1.2.4 数据库发展历程和研究方向 5
1.3 数据库应用系统的开发步骤 6
1.3.1 项目规划期 7
1.3.2 项目开发时期 7
1.4 本章小结 8
1.5 习题 9
第2章 初识SQL Server 2008 10
2.1 SQL Server 2008的组成 10
2.1.1 SQLServer数据库引擎 10
2.1.2 分析服务(Analysis Services) 11
2.1.3 集成服务(Integration Services) 11
2.1.4 报表服务(Reporting Services) 11
2.2 为什么选择SQLServer 2008 12
2.3 如何选择SQLServer 2008的版本 13
2.3.1 SQLServer 2008企业版 13
2.3.2 SQLServer 2008标准版 13
2.3.3 SQLServer 2008工作组版 14
2.3.4 SQLServer 2008开发版 14
2.3.5 SQLServer 2008学习版 14
2.4 SQLServer 2008的安装与配置 14
2.4.1 SQLServer 2008的安装 14
2.4.2 SQLServer 2008的配置 18
2.5 了解SSMS基本操作 22
2.5.1 SSMS的启动与连接 22
2.5.2 使用模板资源管理器、解决方案与项目脚本 23
2.5.3 配置SQLServer服务器的属性 25
2.5.4 查询编辑器 29
2.6 小结 30
2.7 习题 30
第2篇 SQL Server基础篇 31
第3章 管理SQL Server 2008的工具——SQL语言 31
3.1 SQL语言简介 31
3.1.1 SQL语言的主要特点 31
3.1.2 如何分类SQL语言 32
3.1.3 SQL语法简介 34
3.1.4 如何给标识符起名 34
3.2 数据类型大家族 36
3.2.1 SQLServer数据类型概述 36
3.2.2 系统数据类型 37
3.2.3 自定义数据类型 42
3.3 变量 44
3.3.1 批和脚本 44
3.3.2 局部变量 46
3.3.3 全局变量 46
3.4 SQL的佐料——运算符 48
3.4.1 算术运算符 48
3.4.2 比较运算符 48
3.4.3 逻辑运算符 49
3.4.4 连接运算符 50
3.4.5 按位运算符 50
3.4.6 运算符的优先级 51
3.5 认识表达式 51
3.5.1 什么是表达式 51
3.5.2 SQL表达式的分类 51
3.6 SQL利器——通配符 53
3.7 SQL语言中的注释 53
3.8 4小结 53
3.9 习题 54
第4章 走进SQL语句的世界 55
4.1 数据定义语句(DDL) 55
4.1.1 CREATE的应用 55
4.1.2 DROP的功能 57
4.1.3 ALTER的功能 58
4.2 数据操作语句(DML) 59
4.2.1 数据的插入——INSERT 59
4.2.2 数据的删除——DELETE 60
4.2.3 数据的更改——UPDATE 61
4.2.4 数据的查询——SELECT 62
4.3 数据控制语句(DCL) 68
4.3.1 如何给用户授予权限——GRANT 68
4.3.2 拒绝权限操作——DENY 68
4.3.3 收回权限操作——REVOKE 69
4.4 其他基本语句 69
4.4.1 数据声明——DECLARE 69
4.4.2 数据赋值——SET 70
4.4.3 数据输出——PRINT 70
4.5 循环控制语句 70
4.5.1 语句块BEGIN…END 71
4.5.2 GOTO语句 71
4.5.3 IF...ELSE语句 71
4.5.4 CASE语句 72
4.5.5 WHILE循环语句 73
4.5.6 WAITFOR语句 74
4.5.7 RETURN语句 74
4.6 批处理语句 75
4.7 小结 76
4.8 习题 77
第5章 轻轻松松认识函数 78
5.1 数学函数 78
5.2 字符串函数 79
5.2.1 ASCII函数 80
5.2.2 CHAR函数 80
5.2.3 CHARINDEX函数 81
5.2.4 LEFT函数 81
5.2.5 RIGHT函数 81
5.2.6 LEN函数 82
5.2.7 LTRIM函数 82
5.2.8 RTRIM函数 82
5.2.9 LOWER函数 82
5.2.10 UPPER函数 83
5.2.11 PATINDEX函数 83
5.2.12 REPALCE函数 83
5.2.13 REVERSE函数 84
5.2.14 STR函数 84
5.2.15 SUBSTRING函数 84
5.3 日期和时间函数 84
5.3.1 DATEADD函数 85
5.3.2 DATENAME函数 85
5.3.3 DATEPART函数 85
5.3.4 DAY函数 86
5.3.5 MONTH函数 86
5.3.6 YEAR函数 86
5.3.7 GETDATE函数 86
5.4 数据类型转换函数 87
5.4.1 CAST函数 87
5.4.2 CONVERT函数 87
5.5 聚合函数 87
5.5.1 AVG函数 88
5.5.2 COUNT函数 88
5.5.3 MAX函数 89
5.5.4 MIN函数 89
5.5.5 SUM函数 89
5.6 系统函数 89
5.6.1 SERVERPROPERTY函数 90
5.6.2 DATABASEPROPERTY函数 91
5.6.3 TYPEOFPROPERTY函数 91
5.6.4 OBJECTID函数 91
5.7 文本和图像函数 91
5.7.1 TEXTPTR函数 91
5.7.2 TEXTVALID函数 92
5.8 小结 92
5.9 习题 92
第6章 实战开始——数据库和表的操作 93
6.1 深入浅出了解数据库 93
6.1.1 数据库 93
6.1.2 数据库的建立 95
6.1.3 数据库的修改 100
6.1.4 数据库的删除 101
6.1.5 关于数据库的其他操作 102
6.2 如何设计表 109
6.2.1 数据库表简介 110
6.2.2 如何设计表 110
6.2.3 表的建立 112
6.2.4 表的修改 115
6.2.5 表的删除 116
6.3 数据完整性 117
6.3.1 数据完整性分类 117
6.3.2 规则的创建与管理 118
6.3.3 约束 120
6.4 小结 121
6.5 习题 122
第7章 数据的查询 123
7.1 SELECT语句的语法结构 123
7.2 基本SELECT查询 124
7.2.1 查询表中所有的列 124
7.2.2 查询表中指定列的信息 124
7.2.3 在查询列表中使用列表达式 125
7.2.4 重新命名结果列名 125
7.2.5 说明列的定义 126
7.2.6 取得查询结果的部分行集 127
7.3 基于条件的查询 128
7.3.1 使用关系表达式表示查询条件 128
7.3.2 使用逻辑表达式表示查询条件 129
7.3.3 使用LIKE关键字进行模糊查询 130
7.3.4 使用BETWEEN...AND关键字表示查询条件 131
7.3.5 IN关键字表示查询条件 131
7.3.6 NULL关键字的使用 132
7.4 对查询结果排序输出 133
7.5 查询结果的新建表存储 133
7.6 聚合函数在查询中的使用 134
7.6.1 SUM函数 134
7.6.2 AVG函数 134
7.6.3 MAX函数 135
7.6.4 MIN函数 135
7.6.5 COUNT和COUNT(*)函数 135
7.7 查询结果的汇总 136
7.8 多表连接查询 137
7.8.1 内连接 138
7.8.2 外连接 138
7.8.3 交叉连接(CROSS JOIN) 140
7.8.4 自连接 140
7.9 嵌套查询 140
7.9.1 子查询作为新增列 140
7.9.2 使用IN关键字进行子查询 141
7.9.3 使用比较运算符 141
7.9.4 使用BETWEEN关键字 142
7.9.5 EXISTS关键字的应用 142
7.9.6 子查询与数据更新 143
7.10 小结 143
7.11 习题 143
第3篇 进阶篇 144
第8章 数据的更新 144
8.1 插入——INSERT 144
8.1.1 插入单行数据 145
8.1.2 插入多行数据 146
8.1.3 技术提升 146
8.2 修改——UPDATE 147
8.2.1 修改单行数据 148
8.2.2 修改多行数据 148
8.2.3 技术提升 149
8.3 删除数据——DELETE 150
8.3.1 删除部分数据 150
8.3.2 删除表中所有数据 151
8.4 小结 151
8.5 习题 152
第9章 事务和锁 153
9.1 事务管理 153
9.1.1 事务的原理 153
9.1.2 事务管理的常用语句 155
9.1.3 事务恢复和检查点机制 155
9.1.4 事务的类型 156
9.1.5 事务的应用案例 157
9.2 锁 160
9.2.1 锁的内涵与作用 160
9.2.2 可锁定资源与锁的类型 161
9.2.3 死锁 163
9.2.4 锁的应用案例 166
9.3 小结 168
9.4 习题 168
第10章 索引 169
10.1 索引初探 169
10.1.1 索引的概念 169
10.1.2 索引的分类 170
10.2 索引的创建与管理 171
10.2.1 索引的创建 171
10.2.2 如何构建优化索引 174
10.2.3 索引的管理 174
10.3 小结 176
10.4 习题 176
第11章 游标 177
11.1 认识游标 177
11.1.1 游标的定义 177
11.1.2 游标的分类 178
11.2 游标的操作 179
11.2.1 声明游标与打开游标 179
11.2.2 从游标中读取数据 181
11.2.3 关闭游标和释放游标 183
11.2.4 游标变量的创建及如何使用游标修改数据 184
11.3 小结 189
11.4 习题 189
第12章 存储过程与自定义函数 190
12.1 存储过程 190
12.1.1 存储过程的概念 190
12.1.2 存储过程的优缺点 191
12.1.3 存储过程的类型 192
12.1.4 存储过程与视图的比较 192
12.2 创建和执行存储过程 193
12.2.1 创建存储过程 193
12.2.2 执行存储过程 196
12.2.3 带输入参数的存储过程 198
12.2.4 带输出参数的存储过程 199
12.2.5 综合实例 201
12.3 存储过程的有关操作 205
12.3.1 修改存储过程 205
12.3.2 查看存储过程 207
12.3.3 重命名存储过程 208
12.3.4 删除存储过程 209
12.4 系统存储过程与扩展存储过程 210
12.4.1 系统存储过程 210
12.4.2 扩展存储过程 212
12.5 用户自定义函数 212
12.6 小结 214
12.7 习题 214
第13章 视图 215
13.1 视图的定义及其重要功能 215
13.1.1 视图的定义 215
13.1.2 视图的功能和优点 215
13.2 视图的具体操作 216
13.2.1 视图的语法 216
13.2.2 视图的修改 220
13.2.3 视图的删除 221
13.2.4 通过视图向表中插入数据 221
13.2.5 通过视图修改表中数据 222
13.3 索引视图 223
13.3.1 索引视图的概念及其使用范围 223
13.3.2 索引视图的设计方针 224
13.3.3 索引视图设计注意事项 224
13.4 小结 225
13.5 习题 225
第4篇 SQL Server应用篇 226
第14章 触发器 226
14.1 触发器的概念 226
14.1.1 触发器的作用 226
14.1.2 触发器中的两个专用表 227
14.2 触发器的分类 228
14.2.1 DML触发器 228
14.2.2 DDL触发器 229
14.3 DML触发器的创建与管理 229
14.3.1 设计DML触发器的注意事项和技巧 229
14.3.2 创建After触发器 230
14.3.3 创建Instead Of触发器 234
14.3.4 如何使用DML触发器 235
14.3.5 DML触发器的管理 238
14.4 DDL触发器的创建与管理 242
14.4.1 DDL触发器的创建 242
14.4.2 DDL触发器的使用 243
14.4.3 DDL触发器管理 244
14.5 小结 245
14.6 习题 245
第15章 了解SQL Server 2008中的安全策略 246
15.1 SQL Server安全性概述 246
15.1.1 理解SQL Server 2008的安全机制 246
15.1.2 安全性方面一些基本术语的理解 247
15.2 SQL Server 2008的登录管理 253
15.2.1 理解SQL Server 2008的登录机制 253
15.2.2 登录到SQL Server 2008 253
15.2.3 设置SQL Server 2008的身份验证方式和sa账户 254
15.2.4 SQL Server 2008的登录名管理 256
15.3 SQL Server 2008的架构管理 259
15.4 SQLServer 2008的角色和用户管理 261
15.4.1 固定服务器角色 262
15.4.2 数据库角色 262
15.4.3 应用程序角色 264
15.5 小结 266
15.6 习题 266
第5篇 案例实战篇 267
第16章 图书管理系统开发实例 267
16.1 Java语言在系统开发中的地位 267
16.1.1 Java的特点 267
16.1.2 Java访问数据库技术 268
16.1.3 JDBC 269
16.1.4 DAO模式 272
16.2 图书馆管理系统需求分析及系统设计 273
16.2.1 系统登录 274
16.2.2 基本数据维护 274
16.2.3 新书订购管理 278
16.2.4 图书借阅管理 280
16.2.5 系统维护模块 282
16.3 小结 284
第17章 BBS论坛系统开发 285
17.1 系统设计 285
17.1.1 BBS论坛概述 285
17.1.2 系统功能模块 285
17.2 数据库设计 286
17.2.1 数据库分析和设计 286
17.2.2 创建数据表 286
17.3 连接数据库 288
17.4 前台功能设计 289
17.4.1 注册与登录模块 289
17.4.2 版块列表模块 291
17.4.3 主题帖列表 293
17.4.4 发帖与回帖模块 296
17.5 后台功能设计 297
17.5.1 添加用户模块 298
17.5.2 用户管理模块 300
17.6 小结 302