第1篇 数据库原理 2
第1章 数据库系统基础 2
1.1数据库简介 2
1.1.1数据库基本概念 2
1.1.2数据库技术的产生和发展 3
1.2概念模型与数据模型 6
1.2.1概念模型 6
1.2.2数据模型 11
1.3数据库管理系统 16
1.3.1数据库管理系统的功能 16
1.3.2数据库管理系统的组成 17
1.3.3关系数据库管理系统实例 18
1.4数据库应用系统的结构 19
1.4.1数据库应用系统的组成 19
1.4.2数据库应用系统的三级数据模式结构 21
1.4.3数据库应用系统的体系结构 23
1.4.4数据库应用系统的设计过程 25
1.5数据库技术的研究与发展方向 26
1.5.1传统数据库技术的局限性 26
1.5.2第三代数据库系统 28
1.5.3数据库技术与其他相关技术的结合 28
习题 31
第2章 关系数据库 34
2.1关系数据结构 34
2.1.1关系 34
2.1.2关系模式 37
2.1.3关系数据库 38
2.2关系操作概述 38
2.3关系的完整性 40
2.4关系代数 43
2.4.1集合运算 44
2.4.2专门的关系运算 46
2.5查询优化 50
2.5.1查询优化概述 50
2.5.2查询优化的一般准则 51
2.5.3关系代数等价变换规则 52
习题 53
第3章 关系数据库设计理论与方法 58
3.1数据库概念结构设计 58
3.1.1概念结构的设计方法 58
3.1.2数据抽象与局部视图设计 59
3.1.3视图的集成 62
3.2数据库逻辑结构设计 65
3.2.1逻辑结构设计的任务和步骤 65
3.2.2 E-R图向关系模型的转换 65
3.2.3用户子模式的设计 70
3.3数据依赖 70
3.3.1关系模式中的数据依赖 70
3.3.2数据依赖对关系模式的影响 71
3.3.3函数依赖 72
3.4范式 73
3.4.1第一范式(1NF) 74
3.4.2第二范式(2NF) 74
3.4.3第三范式(3NF) 75
3.4.4 BC范式(BCNF) 77
3.4.5多值依赖与第四范式( 4NF) 78
3.4.6连接依赖与第五范式(5NF) 81
3.5函数依赖公理与模式分解 83
3.5.1函数依赖公理 83
3.5.2最小函数依赖集 84
3.5.3快速求码方法 86
3.5.4分解的无损连接性和保持函数依赖 87
3.5.5模式分解的算法 88
习题 91
第4章 关系数据库设计实例 96
4.1使用E-R图设计数据库 96
4.1.1概念模型设计 96
4.1.2逻辑模型设计 99
4.2使用范式化理论设计数据库 100
4.3数据库表的设计 105
4.4数据库的创建 109
习题 113
第2篇SQL Server数据库技术 116
第5章 数据库与表的管理 116
5.1数据库的创建与维护 116
5.1.1 SQL Server数据库 116
5.1.2创建数据库 118
5.1.3维护数据库 119
5.1.4数据库的备份与恢复 121
5.2表的创建与维护 123
5.2.1表概述 123
5.2.2数据类型 124
5.2.3创建表 125
5.2.4修改表 128
5.2.5删除表 129
5.3数据完整性约束 130
5.3.1 PRIMARY KEY(主键)约束 130
5.3.2 FOREIGN KEY(外键)约束 132
5.3.3 UNIQUE约束 133
5.3.4 CHECK约束 134
5.3.5 DEFAULT约束 135
5.3.6 NOT NULL(非空)约束 136
5.4表数据的更新 137
5.4.1插入数据 137
5.4.2修改数据 139
5.4.3删除数据 140
5.5临时表和表变量 141
5.6索引 142
5.6.1索引概述 142
5.6.2创建索引 144
5.6.3删除索引 147
习题 147
第6章 数据检索 149
6.1简单查询 149
6.1.1使用星号(*)检索所有列 149
6.1.2使用别名 149
6.1.3 DISTINCT选项 150
6.1.4在SELECT列表中使用表达式 151
6.1.5 ORDER BY排序子句 151
6.1.6 TOP和PERCENT子句 152
6.1.7使用SELECT…INTO语句复制数据 152
6.2条件查询 154
6.2.1组合搜索条件 154
6.2.2通配符及[NOT] LIKE操作符 155
6.2.3 [NOT ] IN操作符 158
6.3使用函数检索数据 158
6.3.1字符串处理函数 159
6.3.2日期时间函数 160
6.3.3聚合函数 161
6.3.4排名函数 162
6.3.5其他函数 164
6.4数据分组检索 165
6.4.1 GROUP BY子句 166
6.4.2使用HAVING子句过滤分组结果 167
6.4.3使用ROLLUP、 CUBE和GROUPING SETS运算符 168
6.5使用JOIN连接表 171
6.5.1内连接与交叉连接 171
6.5.2外连接 172
6.5.3自连接 173
6.5.4使用带聚合函数的多表连接 174
6.6子查询 175
6.6.1使用单值子查询 175
6.6.2使用IN或NOT IN的子查询 176
6.6.3使用ANY和ALL操作符的嵌套查询 178
6.6.4 EXISTS和NOT EXISTS的使用 178
6.6.5使用衍生表 180
6.6.6使用公用表表达式 181
6.6.7相关子查询 183
6.6.8在UPDATE、 DELETE、 INSERT语句中使用子查询 185
6.7使用CASE语句处理条件数据 188
6.8组合查询 190
习题 193
第7章T-SQL程序设计 196
7.1 T-SQL程序设计基础 196
7.1.1变量定义 196
7.1.2 PRINT(输出)语句 198
7.1.3语句块 198
7.1.4条件处理(IF…ELSE) 198
7.1.5循环处理 199
7.2视图 200
7.2.1视图概述 200
7.2.2创建视图 201
7.2.3通过视图修改数据 203
7.2.4删除视图 204
7.3存储过程 205
7.3.1存储过程概述 205
7.3.2创建存储过程 205
7.3.3存储过程与动态SQL语句 208
7.4用户定义函数 210
7.4.1标量函数 211
7.4.2表值函数 214
7.4.3存储过程与用户定义函数的比较 217
7.5触发器 218
7.5.1触发器概述 218
7.5.2创建触发器 219
7.6游标 224
7.6.1游标概述 224
7.6.2定义游标 225
7.6.3使用FETCH读取游标数据 226
7.6.4游标循环 227
7.6.5 WHERE CURRENT OF的应用 230
7.6.6游标的综合应用 231
习题 233
第8章SQL Server数据安全管理 235
8.1用户管理 235
8.1.1 SQL Server登录用户管理 235
8.1.2数据库用户管理 237
8.2角色管理 238
8.2.1固定服务器角色 238
8.2.2数据库角色 239
8.3权限管理 240
8.3.1权限管理概述 240
8.3.2授予权限 241
8.3.3查看权限 242
8.3.4拒绝权限 242
8.3.5取消权限 243
8.4事务控制与并发处理 244
8.4.1事务概述 244
8.4.2事务的并发控制 245
8.4.3锁的概念与分类 247
8.4.4 SQL Server的并发控制机制 250
8.4.5 SQL Server事务编程 251
习题 253
第9章SQL Server高级技术及查询优化 255
9.1数据的导入与导出 255
9.1.1 SQL Server数据的导出 255
9.1.2 SQL Server数据的导入 256
9.2 SQL Server系统表与系统函数的应用 258
9.2.1系统表的应用 258
9.2.2 ColumnProperty函数及其应用 260
9.2.3 BINARY CHECKSUM和CHECKSUM_ AGG函数的应用 262
9.3 SQL Server数组模拟 263
9.4 SQL Server中树状结构的实现技术 265
9.4.1树状结构的关系表存储结构 265
9.4.2插入节点 266
9.4.3查询节点 267
9.4.4删除节点 268
9.5 SQL Server查询优化 269
习题 273
第3篇 数据库应用 276
第10章 数据库在MIS开发中的应用 276
10.1常用的MIS用户定义函数 276
10.2会计核算系统中常用的数据处理技术 280
10.2.1科目发生额逐级汇总 280
10.2.2明细账的生成及其余额的滚动计算 282
10.2.3应收账款分析 284
10.3销售营销系统中常用的数据挖掘技术 287
10.3.1盈利能力分析 287
10.3.2订单交货准时率分析 289
10.3.3销售趋势分析 290
10.3.4销售绩效考核 293
习题 295
参考文献 297