第1章 数据库系统概述 1
1.1数据库技术发展史 1
1.1.1数据处理技术 1
1.1.2数据库技术的三个发展阶段 2
1.2数据库系统介绍 3
1.2.1数据库系统的组成 4
1.2.2数据库的体系结构 5
1.3数据模型 7
1.3.1信息的三种世界 7
1.3.2概念模型 8
1.3.3常见的三种数据模型 11
习题1 14
第2章 关系数据库 16
2.1关系数据结构 16
2.1.1关系的定义和性质 16
2.1.2关系数据库 18
2.2关系的完整性 19
2.3关系运算 20
2.3.1传统的集合运算 20
2.3.2专门的关系运算 22
2.4关系的规范化 26
2.4.1数据依赖 26
2.4.2关系模式的规范化过程 28
习题2 32
第3章 数据库设计 34
3.1数据库设计概述 34
3.2需求分析 34
3.2.1需求分析的任务 34
3.2.2需求分析的方法 35
3.3概念结构设计 36
3.3.1概念结构设计的方法 36
3.3.2概念结构设计的步骤 37
3.4逻辑结构设计 38
3.4.1将E-R图转化为关系数据模型 38
3.4.2关系模式的优化 40
3.4.3设计用户外模式 41
3.5物理结构设计 41
3.5.1确定数据库的物理结构 41
3.5.2评价物理结构 42
3.6数据库实施和运行、维护 43
3.6.1数据库实施 43
3.6.2数据库的运行与维护 43
3.7数据库设计实例 44
3.7.1图书借阅管理系统设计 44
3.7.2钢材仓库管理系统设计 46
习题3 49
第4章SQL Server 2008基础 50
4.1SQL Server 2008简介 50
4.1.1 SQL Server发展史 50
4.1.2 SQL Server 2008新增功能 51
4.1.3 SQL Server 2008的新特性 55
4.2 SQL Server 2008的安装与配置 55
4.2.1 SQL Server 2008的版本 55
4.2.2 SQL Server 2008的环境需求 57
4.2.3 SQL Server 2008的安装过程 58
4.3 SQL Server 2008的管理工具 69
4.3.1服务器管理 69
4.3.2 SQL Server Management Studio 69
4.3.3 SQL Server配置管理器 71
4.3.4其他管理工具 72
4.4 T-SQL语言基础 73
4.4.1 T-SQL语言的特点 74
4.4.2 T-SQL语言的分类 74
4.4.3 T-SQL语言的基本语法 75
习题4 77
第5章 数据库的概念和操作 78
5.1数据库基本概念 78
5.1.1物理数据库 78
5.1.2逻辑数据库 79
5.2数据库操作 80
5.2.1创建数据库 81
5.2.2修改数据库 86
5.2.3删除数据库 89
习题5 89
第6章 表的操作 90
6.1创建表 90
6.1.1数据类型 90
6.1.2使用SQL Server Management Studio创建表 93
6.1.3使用T-SQL语句创建表 95
6.2修改表 97
6.2.1在SQL Server Management Studio中修改表 97
6.2.2使用T-SQL语句修改表 97
6.3列约束和表约束 98
6.3.1创建和删除PRIMARY KEY约束 98
6.3.2创建和删除UNIQUE约束 99
6.3.3创建和删除FOREIGN KEY约束 100
6.3.4创建和删除CHECK约束 104
6.3.5创建和删除DEFAULT约束 105
6.4表数据操作 106
6.4.1插入(INSERT)数据 107
6.4.2修改(UPDATE)数据 109
6.4.3删除(DELETE)数据 110
6.4.4使用MERGE语句插入、修改和删除数据 111
6.5删除表 113
6.6数据的导入导出 114
6.6.1导出数据 114
6.6.2导入数据 120
习题6 126
第7章 数据库查询 128
7.1 SELECT查询语法 128
7.2简单查询 129
7.2.1投影查询 129
7.2.2选择查询 132
7.2.3聚合函数查询 137
7.3分组和汇总 138
7.3.1普通(简单)分组 138
7.3.2 CUBE和ROLLUP的使用 139
7.3.3数据汇总 141
7.4连接查询 143
7.4.1内连接 143
7.4.2自连接 144
7.4.3外连接 144
7.4.4交叉连接 147
7.5子查询 148
7.5.1无关子查询 148
7.5.2相关子查询 151
7.6其他查询 152
7.6.1集合运算查询 152
7.6.2对查询结果排序 154
7.6.3存储查询结果 155
7.7数据操作中使用SELECT子句 155
7.7.1INSERT语句中使用SELECT子句 155
7.7.2 UPDATE语句中使用SELECT子句 157
7.7.3 DELETE语句中使用SELECT子句 157
习题7 158
第8章T-SQL编程 160
8.1 T-SQL编程基础 160
8.1.1标识符 160
8.1.2变量 161
8.1.3运算符 162
8.1.4批处理 166
8.1.5注释 166
8.2流程控制语句 166
8.2.1 SET语句 167
8.2.2 BEGIN.END语句 167
8.2.3 IF .ELSE语句 167
8.2.4 CASE语句 168
8.2.5 WHILE语句 170
8.2.6 GOTO语句 171
8.2.7 RETURN语句 172
8.3函数 173
8.3.1系统内置函数 173
8.3.2用户定义函数 176
8.4游标 180
8.4.1游标概述 180
8.4.2游标的类型 181
8.4.3游标的操作 182
习题8 186
第9章 视图和索引 187
9.1视图 187
9.1.1视图概述 187
9.1.2创建视图 188
9.1.3修改视图 192
9.1.4使用视图 194
9.1.5删除视图 197
9.2索引 199
9.2.1索引简介 199
9.2.2索引类型 199
9.2.3创建索引 200
9.2.4查看索引信息 207
9.2.5删除索引 209
习题9 211
第10章 存储过程和触发器 212
10.1存储过程 212
10.1.1存储过程概述 212
10.1.2存储过程的类型 213
10.1.3创建存储过程 214
10.1.4执行存储过程 218
10.1.5查看存储过程 221
10.1.6修改和删除存储过程 224
10.2触发器 225
10.2.1触发器概述 225
10.2.2触发器的分类 226
10.2.3创建触发器 227
10.2.4查看触发器信息及修改触发器 238
10.2.5禁止、启用和删除触发器 240
习题10 241
第11章 事务与并发控制 243
11.1事务概述 243
11.2事务的类型 244
11.2.1根据系统的设置分类 244
11.2.2根据运行模式分类 245
11.3事务处理语句 246
11.4事务的并发控制 249
11.4.1并发带来的问题 249
11.4.2锁的基本概念 250
11.4.3锁的类型 250
11.4.4锁的信息 252
11.4.5死锁的产生及解决办法 253
11.4.6手工加锁 254
习题11 256
第12章 数据库的安全管理 257
12.1身份验证 257
12.1.1 SQL Server的身份验证模式 257
12.1.2设置身份验证模式 258
12.2账号管理 260
12.2.1服务器登录账号 260
12.2.2数据库用户账号 263
12.3角色管理 265
12.3.1固定服务器角色 265
12.3.2数据库角色 268
12.3.3应用程序角色 273
12.4权限管理 274
12.4.1权限的类别 274
12.4.2权限操作 275
习题12 281
第13章 数据库的备份与还原 283
13.1数据库备份概述 283
13.1.1数据库备份计划 283
13.1.2数据库备份的类型 285
13.2数据库还原概述 286
13.2.1数据库还原策略 286
13.2.2数据库恢复模式 287
13.3数据库备份操作 289
13.4数据库还原操作 294
13.4.1自动还原 294
13.4.2手动还原 294
13.5数据库分离与附加 297
13.5.1分离数据库 297
13.5.2附加数据库 299
习题13 302
第14章 基于C#.NET的数据库系统开发 303
14.1C#语言简介 303
14.2使用ADO.NET访问SQL Server 2008数据库 304
14.2.1 ADO.NET的对象模型 304
14.2.2利用ADO.NET访问数据库的基本操作 306
14.3数据库系统开发实例 308
14.3.1数据库设计 308
14.3.2系统设计与实现 311
习题14 332
附录A期末测试题及答案 333
A.1期末测试题(一) 333
A.2期末测试题(二) 337
A.3期末测试题(一)参考答案 341
A.4期末测试题(二)参考答案 343
附录B习题解答 347