第1章 数据库系统概述 1
1.1引言 1
1.1.1数据库是计算机技术发展的产物 1
1.1.2数据库是计算机应用的基础 1
1.1.3初学者可以快速掌握SQL Server数据库管理系统 1
1.1.4 SQL Server在企业中的应用 2
1.2数据库技术的发展 2
1.2.1数据库发展阶段的划分 2
1.2.2人工管理阶段 2
1.2.3文件系统阶段 3
1.2.4数据库系统阶段 4
1.2.5高级数据库阶段 6
1.3数据模型 9
1.3.1数据模型 9
1.3.2概念模型 10
1.3.3实体联系模型 11
1.3.4层次模型 13
1.3.5网状模型 14
1.3.6关系模型 14
1.4数据库系统结构 16
1.4.1数据库系统的三级模式结构 16
1.4.2数据库系统的组成 18
1.5数据库管理系统的功能和工作过程 19
1.5.1数据库管理系统的主要功能 19
1.5.2数据库系统的工作过程 20
1.5.3数据库系统的不同视图 20
1.6小结 22
习题 22
2.1关系模型的基本概念 27
2.1.1关系的数据定义 27
第2章 关系数据库数学模型 27
2.1.2关系模型 29
2.2 EER模型到关系模式的转换 30
2.2.1实体类型的转换 30
2.2.2二元关系的转换 31
2.2.3实体内部之间联系的转换 32
2.2.4三元关系的转换 33
2.2.5子类型的转换 33
2.3关系代数 33
2.3.1传统的集合运算 34
2.3.2专门的关系运算 35
2.4关系演算 38
2.4.1元组关系演算 38
2.4.2域关系演算 40
习题 42
2.5小结 42
第3章 关系数据库设计理论 50
3.1问题的提出 50
3.2函数依赖 51
3.2.1关系函数的类型 51
3.2.2函数依赖 51
3.2.3函数依赖的逻辑蕴涵 52
3.2.4键 52
3.3关系模式的规范化 53
3.3.1第一范式(1NF) 54
3.3.2第二范式(2NF) 55
3.3.3第三范式(3NF) 56
3.3.4 BCNF范式 57
3.3.5多值函数依赖 58
3.3.6第四范式(4NF) 61
3.4.2公理的正确性 62
3.4.3公理的推论 62
3.4函数依赖的公理系统 62
3.4.1 Armstrong公理 62
3.5模式分解 63
3.5.1无损连接 63
3.5.2保持函数依赖的分解 65
3.5.3 3NF无损连接和保持函数依赖的分解算法 66
3.6闭包及其计算 66
3.7函数依赖集的等价和覆盖 68
3.8公理的完备性 70
3.9小结 71
习题 71
第4章 使用SQL Server设计数据库 76
4.1 数据库设计的总体思路 76
4.2 SQL Server管理工具简介 77
4.2.1服务管理器 77
4.2.3查询分析器 78
4.2.2企业管理器 78
4.3创建数据库 79
4.3.1使用企业管理器创建数据库 80
4.3.2使用T-SQL语句创建数据库 82
4.3.3查看和修改数据库属性 83
4.4创建表 84
4.4.1使用企业管理器创建表 85
4.4.2表设计器窗体 86
4.4.3建立和命名列 86
4.4.4指定列的数据类型和为空性 86
4.4.5列描述 87
4.4.6保存数据表 88
4.4.7使用T-SQL语句创建表 88
4.5更改数据表的结构 89
4.5.1添加新列 89
4.5.3更改列的数据类型及长度 90
4.5.2更改列名称 90
4.5.4使用标识列 91
4.5.5定义主关键字 92
4.5.6删除列 93
4.6删除表 94
4.6.1使用企业管理器删除表 94
4.6.2使用T-SQL语句删除表 94
4.7数据表关联 94
4.7.1利用关系图定义表间的关系 95
4.7.2编辑已有的关系 98
4.7.3删除关系 100
4.7.4查看已有的关系 101
4.8小结 102
习题 102
5.1查询 105
5.1.1简单查询 105
第5章 使用SQL访问数据 105
5.1.2排序 106
5.1.3多表连接查询 106
5.1.4子查询 108
5.1.5使用UNION的查询 109
5.1.6使用聚合函数和GROUP BY 110
5.1.7创建交叉表查询 111
5.1.8使用DISTINCT和TOP关键字 111
5.1.9使用SQL Server内建函数 112
5.2插入 114
5.2.1使用INSERT语句 114
5.2.2使用INSERT…SELECT语句 115
5.2.3使用SELECT…INTO语句 115
5.3更新 116
5.3.1更新基于表的数据 116
5.3.2基于其他表更新数据行 116
5.5注释语句 117
5.4删除 117
5.3.3使用子查询更新指定的行 117
5.6变量 118
5.7控制语句 119
5.7.1 BEGIN…END语句 119
5.7.2 IF…ELSE语句 120
5.7.3 WHILE语句 120
5.7.4 CASE语句 121
5.8小结 122
习题 122
第6章 使用索引和视图 126
6.1索引的概念 126
6.2索引的类型 126
6.2.1聚集索引 126
6.2.2非聚集索引 128
6.3.1创建索引 129
6.3索引的创建和管理 129
6.3.2修改索引 130
6.3.3删除索引 130
6.4使用索引 131
6.4.1使用聚集索引 131
6.4.2使用非聚集索引 132
6.5维护索引 132
6.5.1维护统计信息 132
6.5.2数据碎片 133
6.5.3重建和整理索引 134
6.6视图的优点 135
6.7视图的定义 136
6.7.1创建视图 136
6.7.2修改视图 136
6.8视图的应用 137
6.8.1从视图中查询 137
6.7.3删除视图 137
6.8.2视图的连接 138
6.8.3视图提供聚合值 138
6.8.4利用视图加强数据安全 139
6.9小结 139
习题 139
7.2.1创建存储过程 142
7.2存储过程的定义和管理 142
7.1为何使用存储过程 142
第7章 使用存储过程和触发器 142
7.2.2修改存储过程 143
7.2.3删除存储过程 144
7.2.4重新编译存储过程 144
7.3存储过程的应用 144
7.3.1使用存储过程封装数据处理 144
7.3.2存储过程返回参数 145
7.5触发器的工作原理 146
7.4为何使用触发器 146
7.5.1 INSERT触发器 147
7.5.2 UPDATE触发器 147
7.5.3 DELETE触发器 147
7.6创建和管理触发器 148
7.6.1创建触发器 148
7.6.2修改触发器 149
7.6.3删除触发器 150
7.7使用触发器 150
7.7.1级联更新 150
7.7.2级联删除 151
7.7.3保护数据 151
7.7.4强制业务规则 151
7.8小结 152
习题 152
8.1.1授权用户访问SQL Server 154
第8章 数据保护 154
8.1授权用户访问数据 154
8.1.2授权用户访问数据库 157
8.1.3授权用户访问对象和数据 158
8.2约束 160
8.2.1 DEFAULT约束 160
8.2.2 CHECK约束 161
8.2.3 UNIQUE约束 161
8.2.4 PRIMARY KEY约束 162
8.2.5 FOREIGN KEY约束 162
8.3事务 163
8.3.1为何使用事务 163
8.3.2事务的概念 163
8.3.3事务的状态 164
8.3.4定义事务 164
8.3.5事务与故障恢复 165
8.4并发控制 166
8.4.1并发异常问题 166
8.4.2封锁协议 166
8.4.3基本锁 167
8.4.4锁的相容性 167
8.4.5使用锁 168
8.5数据备份与恢复 170
8.5.1备份数据库 170
8.5.2恢复数据库 172
8.6小结 175
习题 175
第9章 ADO数据库编程接口 177
9.1 ADO简介 177
9.2 ADO对象 177
9.2.1 Connection对象 178
9.2.2 RecordSet对象 179
9.2.3 Command对象 183
9.2.4Parameter对象 186
9.2.5 Error对象 188
9.2.6 Field对象 189
9.2.7Property对象 190
9.2.8 ADO中的事务管理 190
9.3 ADO综合应用例程 192
9.3.1 ASP对象模型 192
9.3.2 ASP数据访问实例 194
9.4小结 196
习题 196
第10章 复杂数据库设计 198
10.1数据库设计概述 198
10.1.1数据库设计的内容和要求 198
10.1.2数据库设计过程 200
10.2.2收集和分析需求数据 202
10.2需求分析 202
10.2.1确认用户需求,确定设计范围 202
10.2.3撰写需求说明书 203
10.3概念设计 204
10.3.1 E.R模型 204
10.3.2设计局部概念模式 206
10.3.3设计全局概念模式 208
10.4逻辑设计 209
10.5物理设计 211
10.6数据库的建立和维护 212
10.6.1建立数据库 212
10.6.2数据库的重组织和重构造 212
10.7小结 214
习题 214
附录 课堂教学质量评价系统的实现 217