第1章 数据库基础知识 1
1.1数据库系统概论 1
1.1.1数据与数据处理 1
1.1.2数据管理技术 2
1.1.3数据库系统的组成 3
1.1.4数据库系统的特点 4
1.2数据模型 5
1.2.1现实世界的数据描述 5
1.2.2数据模型 7
1.3关系数据库 9
1.3.1关系术语 9
1.3.2关系运算 10
1.3.3关系的完整性 14
1.3.4数据库的设计方法 16
1.4 SQL Server数据库 19
1.4.1 Microsoft SQL Server系统的基本特点 19
1.4.2 Microsoft SQL Server系统的体系结构 19
1.4.3管理工具 20
本章小结 21
习题 22
第2章PowerDesigner数据库设计 26
2.1 PowerDesigner基本操作 26
2.1.1 PowerDesigner分析设计过程 26
2.1.2 PowerDesigner环境 28
2.2创建概念数据模型 29
2.3概念数据模型转换为物理数据模型 37
2.4正向与逆向工程 40
本章小结 41
习题 41
第3章 数据库的管理 43
3.1 SQL Server 2008数据库概述 43
3.1.1 SQL Server 2008数据库结构 43
3.1.2 SQL Server 2008的系统数据库 44
3.2数据库的创建 45
3.2.1创建数据库前的准备 45
3.2.2使用SQL Server Management Studio创建数据库 48
3.2.3使用Create Database语句创建数据库 50
3.3数据库的查看和修改 58
3.3.1使用SQL Server Management Studio修改数据库设置 58
3.3.2查看数据库基本信息 59
3.3.3修改数据库信息 59
3.3.4使用Alter Database语句修改数据库 60
3.4分离与附加数据库 67
3.4.1分离数据库 67
3.4.2附加数据库 69
3.5数据库的删除 71
3.5.1使用SQL Server Management Studio删除数据库 71
3.5.2使用Drop Database语句删除数据库 73
3.6数据库的收缩 73
3.6.1自动收缩数据库 73
3.6.2手动收缩数据库 74
3.6.3收缩数据库文件 76
3.7数据库的备份 78
3.7.1数据库备份概述 78
3.7.2数据库备份操作 80
3.7.3备份命令 82
3.8数据库的恢复 85
3.8.1数据库恢复概述 85
3.8.2恢复操作 86
3.8.3恢复命令 88
3.9 C#操作数据库 91
本章小结 94
习题 94
第4章 数据表的管理 96
4.1 SQL Server表概述 96
4.1.1数据表的基本概念 96
4.1.2数据类型 97
4.2数据表的创建 102
4.2.1利用表设计器创建数据表 102
4.2.2利用T-SQL语句创建数据表 104
4.3数据表的修改 107
4.3.1利用表设计器修改数据表 107
4.3.2利用T-SQL语句修改数据表 108
4.4数据表的删除 110
4.4.1利用对象资源管理器删除数据表 110
4.4.2利用T-SQL语句删除数据表 110
4.5管理表中数据 111
4.5.1向表中插入数据 111
4.5.2修改表中的数据 114
4.5.3删除表中的数据 116
4.6本书中用到的表数据 118
4.7 C#操作数据表 119
本章小结 122
习题 123
第5章 数据查询 124
5.1 SQL概述 124
5.2查询语句 125
5.2.1 SELECT语句的语法结构 125
5.2.2 SELECT语句各子句的执行 126
5.3基本查询 126
5.3.1查询列 126
5.3.2选择行 131
5.3.3排序查询结果 137
5.3.4分组与汇总 137
5.4嵌套查询 141
5.4.1单列单值嵌套查询 141
5.4.2单列多值嵌套查询 142
5.4.3多列多值嵌套查询 143
5.5集合查询 144
5.5.1集合并运算UNION 144
5.5.2集合差运算EXCEPT 146
5.5.3集合交运算INTERSECT 146
5.6连接查询 147
5.6.1连接的概念 147
5.6.2连接的类型 148
5.6.3连接的实现 148
5.7交叉查询 152
5.7.1使用CASE语句实现交叉查询 152
5.7.2使用PIVOT语句实现交叉查询 153
5.8 C#操作查询语句 155
本章小结 156
习题 157
第6章 索引与视图 158
6.1索引概述 158
6.1.1索引的概念 158
6.1.2索引的设计原则 159
6.1.3索引的分类 159
6.2索引的操作 160
6.2.1 SQL Server 2008创建索引的方法 160
6.2.2利用对象资源管理器创建索引 161
6.2.3利用T-SQL语句创建索引 164
6.3管理索引 167
6.3.1查看索引定义 168
6.3.2修改索引定义 169
6.3.3更改索引名称 170
6.3.4删除索引 171
6.4维护索引 172
6.4.1重建索引 173
6.4.2索引统计信息的更新 175
6.5视图概述 177
6.6视图的操作 178
6.6.1利用对象资源管理器创建视图 178
6.6.2利用T-SQL语句创建视图 179
6.7管理视图 180
6.7.1查看视图定义 181
6.7.2修改视图定义 182
6.7.3更改视图名称 183
6.7.4删除视图 183
6.8利用视图管理数据 185
6.8.1利用视图查询数据 185
6.8.2利用视图插入数据 186
6.8.3利用视图更新数据 186
6.8.4利用视图删除数据 187
6.9 C#操作索引与视图 188
本章小结 189
习题 189
第7章 数据完整性 191
7.1使用约束实施数据完整性 191
7.1.1 PRIMARY KEY约束 191
7.1.2 UNIQUE约束 192
7.1.3 CHECK约束 194
7.1.4 DEFAULT定义 195
7.1.5允许空值 197
7.1.6 FOREIGN KEY约束 198
7.2使用规则实施数据完整性 200
7.3关系图 200
7.4 C#操作规则 201
本章小结 202
习题 202
第8章T-SQL程序设计 203
8.1概述 203
8.2表达式 204
8.2.1常量 204
8.2.2变量 205
8.2.3运算符 208
8.2.4运算符的优先级 210
8.3内置函数 210
8.3.1数学函数 210
8.3.2字符串函数 211
8.3.3日期和时间函数 211
8.3.4 Convert函数 213
8.3.5 CAST函数 214
8.4创建自定义函数 214
8.4.1使用Create Function创建 214
8.4.2使用对象资源管理器创建 217
8.5修改和删除自定义函数 217
8.5.1修改自定义函数 217
8.5.2删除自定义函数 218
8.6批处理和流程控制语句 219
8.6.1批处理 219
8.6.2流程控制语句 220
8.7 C#操作T-SQL 226
本章小结 226
习题 226
第9章 存储过程与触发器 228
9.1认识存储过程 228
9.1.1存储过程概述 228
9.1.2存储过程的分类 229
9.2使用存储过程 230
9.2.1创建存储过程 230
9.2.2执行存储过程 233
9.2.3存储过程参数 235
9.2.4删除存储过程 238
9.2.5管理存储过程 239
9.3其他存储过程 240
9.3.1系统存储过程 240
9.3.2扩展存储过程 242
9.4异常处理与调试 244
9.4.1异常处理 244
9.4.2调试 247
9.5认识触发器 248
9.5.1触发器概述 248
9.5.2触发器的分类 249
9.5.3触发器完整性规则 250
9.5.4创建触发器 251
9.6使用触发器 252
9.6.1 DML触发器 252
9.6.2 DDL触发器 257
9.6.3嵌套触发器 258
9.6.4递归触发器 259
9.6.5管理触发器 260
9.7 C#操作存储过程和触发器 263
本章小结 265
习题 265
第10章 事务和游标 267
10.1事务 267
10.1.1事务概述 267
10.1.2自动提交事务 268
10.1.3显式事务 268
10.1.4隐式事务 270
10.2游标 271
10.2.1游标类型 271
10.2.3使用游标 272
10.3 C#数据库事务 276
本章小结 278
习题 279
第11章 数据库的安全管理 280
11.1概述 280
11.2登录账号管理 281
11.2.1身份验证模式 281
11.2.2服务器角色 282
11.2.3账号管理 283
11.3数据库用户管理 290
11.3.1数据库角色 290
11.3.2用户管理 293
11.4权限管理 295
11.4.1权限类型 295
11.4.2设置权限 296
11.4.3数据控制语句DCL语句 297
本章小结 299
习题 299
第12章 数据库应用系统开发 300
12.1三层架构访问数据库 300
12.1.1基本原理 300
12.1.2三层架构案例 302
12.2 LINQ访问数据库开发案例 306
12.2.1初期规划与需求分析 306
12.2.2概念设计 307
12.2.3逻辑设计 307
12.2.4物理设计 309
12.2.5关键技术准备 310
12.2.6主要功能模块设计 314
本章小结 331
习题 331
附录A运算符优先级 332
附录B SQL保留字 333
附录C样本数据库 335
参考文献 337