第1章 数据库基础知识 1
1.1数据库基本概念 1
1.1.1数据库技术概述 1
1.1.2数据库相关概念 2
1.1.3数据库模型 3
1.2关系型数据库 6
1.2.1关系型数据库发展历程 6
1.2.2关系型数据库术语 7
1.2.3关系型数据库管理系统的功能 8
1.2.4关系模型完整性规则 8
1.3数据库基础理论 9
1.3.1范式 9
1.3.2实体模型 11
1.4数据库开发和应用开发 13
1.4.1数据库开发 13
1.4.2数据库应用开发 13
1.4.3两者的关系 14
1.5 SQL Server 2008概述 14
1.5.1 SQL Server 2008简介 14
1.5.2 SQL Server 2008新增特性 15
1.5.3 SQL Server 2008的组成 16
1.6 SQL Server 2008的安装和配置 17
1.6.1准备安装 17
1.6.2安装示例 18
1.6.3配置 22
1.7 SQL Server Management Studio 24
1.8习题 26
1.8.1填空题 26
1.8.2选择题 26
1.9上机实验 26
实验1设计数据库模型 26
实验2安装SQLServer 2008. 27
实验3使用联机丛书 27
实验4管理SQL Server 2008的服务 27
实验5注册SQL Server 2008服务器 28
第2章 建立数据库 29
2.1数据库存储结构 29
2.2数据库对象 30
2.3事务日志 31
2.4系统数据库 31
2.5创建数据库 33
2.5.1创建前应考虑的问题 33
2.5.2在图形界面中创建数据库 33
2.5.3使用命令方式创建数据库 36
2.6查看数据库 38
2.6.1在图形界面中查看数据库 38
2.6.2使用命令方式查看数据库 39
2.7修改数据库 40
2.7.1在图形界面中修改数据库 40
2.7.2使用命令修改数据库 41
2.8删除数据库 43
2.8.1在图形界面中删除数据库 43
2.8.2使用命令删除数据库 44
2.9移动数据库 44
2.9.1分离数据库 44
2.9.2附加数据库 45
2.10习题 47
2.10.1填空题 47
2.10.2选择题 47
2.11上机实验 47
实验1 SQL Server 2008中数据库的创建 47
实验2 SQL Server 2008中数据库的修改1 48
实验3 SQL Server 2008中数据库的修改2 48
实验4 SQL Server 2008中数据库的删除 48
实验5 SQL Server 2008中数据库的分离 49
第3章 表的创建 50
3.1表的概念 50
3.2表的设计 51
3.2.1表的数据类型 51
3.2.2文本和图像数据 54
3.2.3表结构设计 54
3.3表的创建 56
3.3.1在图形界面中创建表 56
3.3.2使用命令创建表 59
3.4表数据的操作 61
3.4.1添加表数据 61
3.4.2修改表数据 62
3.4.3删除表数据 63
3.5查看表信息 63
3.5.1查看表数据 63
3.5.2查看表上的约束 64
3.5.3查看表间关系 64
3.6表结构的修改 66
3.6.1在图形界面中修改表 66
3.6.2使用命令修改表 68
3.7表的删除 69
3.7.1在图形界面中删除表 70
3.7.2使用命令删除表 70
3.8习题 71
3.8.1填空题 71
3.8.2选择题 71
3.9上机实验 72
实验1使用命令语句创建表 72
实验2使用SQL Server Management Studio创建表 73
实验3创建表数据库关系图 74
实验4修改表结构 74
实验5录入数据表记录 74
第4章 数据库查询 77
4.1 SELECT基础语法 77
4.1.1 SELECT子句 78
4.1.2 WHERE子句 80
4.1.3 GROUP BY子句 83
4.1.4 HAVING子句 85
4.1.5 ORDER BY子句 86
4.1.6 COMPUTE子句 87
4.1.7 INTO子句 87
4.2连接查询 88
4.2.1内连接 89
4.2.2外连接 90
4.2.3交叉连接 92
4.3子查询 92
4.3.1 IN子查询 93
4.3.2 EXISTS子查询 93
4.3.3由比较运算符引出的子查询 94
4.4集合查询 95
4.4.1使用UNION 95
4.4.2使用UNION ALL 96
4.4.3使用EXCEPT和 INTERSECT 96
4.5插入数据 97
4.5.1添加数据到一行中所有列 98
4.5.2为某一列插入默认值 99
4.5.3用INSERT SELECT插入多行 100
4.6更新数据 101
4.6.1更新特定行数据 102
4.6.2更新所有行数据 103
4.7删除数据 103
4.7.1删除特定行的数据 104
4.7.2删除整个表数据 105
4.7.3使用TRUNCATE TABLE 105
4.8习题 106
4.8.1填空题 106
4.8.2选择题 106
4.9上机实验 107
实验1练习使用基本的SELECT语句 107
实验2在SELECT语句中使用WHERE子句 107
实验3练习分组和排序查询 107
实验4连接多个表 108
实验5练习应用子查询 108
实验6使用UPDATE语句修改数据 108
实验7使用DELETE语句删除数据 108
实验8使用INSERT语句 109
第5章T-SQL语言 110
5.1 T -SQL概述 110
5.1.1 T-SQL语言的类型 110
5.1.2 T-SQL语言和 SQL语言 111
5.2常量和变量 112
5.2.1标识符 112
5.2.2常量 113
5.2.3变量 113
5.3运算符与表达式 117
5.3.1算术运算符 117
5.3.2赋值运算符 118
5.3.3位运算符 118
5.3.4比较运算符 118
5.3.5逻辑运算符 119
5.3.6字符串连接运算符 120
5.3.7一元运算符 120
5.3.8运算符优先级 120
5.4内置函数 121
5.4.1标量函数 121
5.4.2聚合函数 128
5.5流程控制语句 128
5.5.1 BEGIN…END 128
5.5.2 IF…ELSE语句 129
5.5.3 WHILE语句 131
5.5.4 Case语句 132
5.5.5 GOTO语句 134
5.5.6 WAITFOR语句 134
5.5.7 RETURN语句 135
5.5.8 TRY…CATCH语句 135
5.6批处理 136
5.7注释 137
5.8习题 138
5.8.1填空题 138
5.8.2选择题 138
5.9上机实验 139
实验1练习变量的使用 139
实验2练习运算符的使用 139
实验3练习内置函数的使用 140
实验4练习分支和循环语句 140
实验5练习CASE、WAITFOR、GOTO 140
第6章 数据库完整性 141
6.1数据库完整性的概念 141
6.1.1数据完整性的分类 141
6.1.2实现数据完整性的方法 142
6.2约束 143
6.2.1默认约束 143
6.2.2主键约束 145
6.2.3检查约束 147
6.2.4唯一约束 150
6.2.5外键约束 153
6.2.6非空约束 155
6.2.7标识属性 157
6.3缺省 158
6.3.1缺省的概念 159
6.3.2创建缺省 159
6.3.3查看缺省 159
6.3.4绑定和解除缺省 160
6.3.5删除缺省 162
6.4规则 163
6.4.1规则的概念 163
6.4.2创建规则 163
6.4.3查看规则 164
6.4.4绑定与解除规则 165
6.4.5删除规则 166
6.5习题 167
6.5.1填空题 167
6.5.2选择题 167
6.6上机实验 168
实验1练习规则的使用 168
实验2练习缺省的使用 168
实验3练习CHECK约束的使用 169
实验4练习主键约束的使用 169
实验5练习外键约束的使用 169
第7章 视图和索引 171
7.1索引 171
7.1.1索引概述 171
7.1.2索引类型 173
7.1.3索引的优缺点 175
7.2创建索引 175
7.2.1创建索引的原则 176
7.2.2使用图形工具创建索引 176
7.2.3使用CREATE INDEX创建索引 177
7.3修改索引 179
7.3.1使用图形工具修改索引 179
7.3.2使用T-SQL语句修改索引 180
7.4查看索引信息 181
7.5删除索引 183
7.5.1在SSMS中删除索引 183
7.5.2使用T-SQL删除索引 183
7.6视图 183
7.6.1视图概述 183
7.6.2视图类型 184
7.7创建视图 185
7.7.1创建视图的原则 185
7.7.2使用SSMS创建视图 186
7.7.3使用T-SQL语句创建视图 187
7.8查看视图信息 190
7.8.1查看视图基本信息 190
7.8.2查看视图文本信息 190
7.8.3查看视图的依赖关系 191
7.9修改视图信息 191
7.9.1通过SSMS修改视图信息 191
7.9.2通过T-SQL修改视图信息 192
7.10通过视图更新数据 193
7.10.1使用INSERT插入数据 193
7.10.2使用UPDATE更新数据 194
7.10.3使用DELETE删除数据 195
7.11删除视图 195
7.11.1使用SSMS删除视图 195
7.11.2使用T-SQL语句删除视图 196
7.12习题 196
7.12.1填空题 196
7.12.2选择题 196
7.13上机实验 197
实验1使用图形工具界面创建视图 197
实验2使用T-SQL创建视图 197
实验3通过视图操作数据 198
实验4使用T-SQL创建索引 198
实验5使用图形工具界面修改索引 199
第8章 游标、事务和锁 200
8.1游标 200
8.1.1游标概述 200
8.1.2游标的类型 201
8.1.3游标的使用 202
8.2事务 209
8.2.1事务的基本概念 209
8.2.2事务的特性 211
8.2.3事务的分类 212
8.2.4事务操作的原则 217
8.3锁 218
8.3.1锁的粒度 218
8.3.2锁的分类 219
8.3.3事务的隔离级别 220
8.3.4死锁及其处理 221
8.4习题 222
8.4.1填空题 222
8.4.2选择题 223
8.5上机实验 223
实验1用于插入操作的事务 223
实验2使用可更新的游标 224
实验3创建可滚动的游标 224
实验4显式事务的使用 224
实验5创建只进游标 225
第9章 存储过程和触发器 226
9.1存储过程 226
9.1.1存储过程概述 226
9.1.2存储过程的类型 227
9.2创建存储过程 229
9.2.1使用T-SQL创建存储过程 229
9.2.2使用SSMS创建存储过程 231
9.3执行存储过程 231
9.3.1使用T-SQL语句执行存储过程 232
9.3.2使用SSMS执行存储过程 233
9.4存储过程参数和返回值 234
9.4.1指定默认参数 234
9.4.2指定参数方向 235
9.4.3使用RETURN语句 236
9.5修改存储过程 237
9.5.1在SSMS中修改存储过程 237
9.5.2使用T-SQL语句修改存储过程 237
9.6删除存储过程 238
9.6.1使用SSMS删除存储过程 238
9.6.2使用T-SQL语句删除存储过程 238
9.7触发器 239
9.7.1触发器概述 239
9.7.2触发器类型 240
9.7.3 inserted表和deleted表 240
9.8创建触发器 241
9.8.1使用T-SQL语句创建触发器 242
9.8.2使用SSMS创建触发器 244
9.8.3 INSERT触发器 245
9.8.4 UPDATE触发器 246
9.8.5 DELETE触发器 247
9.8.6 INSTEAD OF触发器 248
9.9修改触发器 250
9.9.1使用SSMS修改触发器 250
9.9.2使用T-SQL语句修改触发器 250
9.10删除触发器 251
9.10.1使用SSMS删除触发器 251
9.10.2使用T-SQL语句删除触发器 251
9.11关闭和启用触发器 251
9.12习题 252
9.12.1填空题 252
9.12.2选择题 252
9.13实验指导 253
实验1简单存储过程的使用 253
实验2使用返回数据的存储过程的 253
实验3使用INSERT触发器 254
实验4使用列级UPDATE触发器 254
实验5使用INSTEAD OF触发器 254
第10章SQL Server安全管理 256
10.1 SQL Server 2008安全管理策略 256
10.1.1 SQL Server 2008的安全机制 256
10.1.2 SQL Server 2008登录认证模式 257
10.1.3配置登录认证模式 258
10.2用户管理 260
10.2.1登录账户 260
10.2.2数据库用户 260
10.2.3创建和管理登录账户 261
10.2.4创建和管理数据库用户 265
10.3角色管理 267
10.3.1服务器角色 268
10.3.2数据库角色 270
10.4权限管理 274
10.4.1权限的分类 275
10.4.2权限的操作 275
10.5习题 279
10.5.1填空题 279
10.5.2选择题 279
10.6上机实验 280
实验1练习数据库的身份验证 280
实验2映射数据库用户 280
实验3为数据库用户创建角色 280
实验4为数据库用户授权 281
实验5删除数据库用户和角色 281
第11章 数据库备份与恢复 282
11.1备份 282
11.1.1备份概述 282
11.1.2备份类型 283
11.2备份设备 283
11.2.1备份设备的类型 284
11.2.2创建备份设备 284
11.2.3查看和删除备份设备 287
11.3创建数据库备份 287
11.3.1使用SSMS备份数据库 287
11.3.2使用BACKUP命令备份数据库 289
11.4恢复数据库 293
11.4.1检查点 294
11.4.2自动恢复数据库 294
11.4.3手动恢复数据库 295
11.5习题 299
11.5.1填空题 299
11.5.2选择题 299
11.6上机实验 300
实验1创建备份设备 300
实验2备份完整数据库 300
实验3备份数据库事务日志 300
实验4备份差异数据库 301
实验5数据库的恢复 301
第12章 数据库应用开发实例——酒店管理系统 302
12.1系统需求分析 302
12.2系统模块设计 303
12.3设计系统E-R图 305
12.4创建系统数据库 307
12.5创建数据表 307
12.6创建系统视图 311
12.7创建系统存储过程 312
12.8创建触发器 315
12.9 ASP.NET程序开发 316
12.9.1 Web.config设置 316
12.9.2数据库管理模块 317
12.9.3实体类数据访问层 319
12.9.4实现房间类型管理 322
12.10系统运行演示 324