目录 3
第Ⅰ部分 数据库基础 3
第1章 数据库简介 3
1.1 使用数据库的原因 3
1.1.1 关于列表的问题 4
1.1.2 使用关系数据库 6
1.1.3 关系表的处理 11
1.2 数据库系统的概念 12
1.2.1 数据库 13
1.2.2 DBMS 14
1.2.3 应用程序 15
1.2.4 桌面数据库系统和企业数据库系统的比较 18
1.3 小结 20
1.4 复习题 21
1.5 练习题 22
1.6 Garden Glory项目 23
1.7 James River珠宝行项目 23
1.8 Mid-Western大学化学系项目 24
第2章 关系模型 25
2.1 关系 25
2.1.1 关系与非关系的示例 26
2.1.2 术语说明 27
2.2 键的类型 28
2.2.2 主键与候选键 29
2.2.1 复合键 29
2.2.3 外键与参照完整性约束 30
2.2.4 代理键 33
2.3 函数依赖与规范化 36
2.3.1 函数依赖 36
2.3.2 再论主键与候选键 38
2.3.3 规范化 38
2.3.4 关系设计原则 39
2.3.5 规范化过程 40
2.3.6 规范化的示例 42
2.4 空值问题 47
2.5 小结 48
2.6 复习题 49
2.7 练习题 51
2.8 Garden Glory项目 51
2.9 James River珠宝行项目 53
2.10 Mid-Western大学化学系项目 54
第3章 结构化查询语言 57
3.1 示例数据库 57
3.2 用于数据定义的SQL语句 59
3.2.1 使用表约束定义主键 61
3.2.2 使用表约束定义外键 62
3.2.3 向DBMS提交SQL语句 63
3.2.4 DROP语句 64
3.3 SQL关系查询语句 64
3.3.1 从单个表中读取指定列 65
3.3.2 从单个表中读取指定行 66
3.3.3 从单个表中读取指定行和指定列 67
3.3.4 在WHERE子句中指定范围、使用通配符和空值 68
3.3.5 对结果进行排序 70
3.3.6 SQL内置函数 71
3.3.7 内置函数和分组 73
3.3.8 使用子查询处理多个表 74
3.3.9 使用连接处理多个表 75
3.3.10 外部连接 78
3.4 修改关系数据的SQL语句 80
3.4.1 插入数据 80
3.4.3 删除数据 81
3.4.2 修改数据 81
3.5 小结 82
3.6 复习题 83
3.7 练习题 85
3.8 Garden Glory项目 86
3.9 James River珠宝行项目 87
3.10 Mid-Western大学化学系项目 88
第Ⅱ部分 数据库设计和管理 93
第4章 数据建模与实体-关系模型 93
4.1 需求分析阶段 94
4.2 实体-关系数据模型 94
4.2.1 实体 95
4.2.4 关联 96
4.2.2 属性 96
4.2.3 标识符 96
4.2.5 二元关联的3种类型 97
4.2.6 递归关联 98
4.2.7 实体-关系图 98
4.2.8 弱实体和ID依赖实体 99
4.3 UML实体-关系模型 101
4.3.1 UML形式的实体和关系 101
4.3.2 UML形式的弱实体 102
4.4 开发E-R图示例 102
4.4.1 Heather Sweeney Designs公司的数据库 103
4.4.2 培训课的客户列表 103
4.4.3 给客户的信函模板 105
4.4.4 销售发货单 107
4.4.5 属性说明 111
4.4.6 业务规则 111
4.4.7 验证数据模型 111
4.5 小结 112
4.6 复习题 113
4.7 练习题 114
4.8 Garden Glory项目 114
4.9 James River珠宝行项目 115
4.10 Mid-Western大学化学系项目 115
5.1.1 ITEM实体的表示 117
第5章 数据库设计 117
5.1 用关系模型表示实体 117
5.1.2 CUSTOMER实体的表示 118
5.1.3 非规范化 119
5.1.4 SALES-COMMISSION实体的关系设计 120
5.1.5 弱实体的表示 122
5.2 关联的表示 123
5.2.1 一对一关联的表示 123
5.2.2 存在问题的一对一关联 125
5.2.3 一对多关联的表示 126
5.2.4 多对多关联的表示 128
5.2.5 递归关联的表示 130
5.3 Heather Sweeney Designs数据库设计 134
5.3.1 弱实体 135
5.3.2 关联 135
5.3.3 强制参照完整性 136
5.4 小结 138
5.5 复习题 138
5.6 练习题 139
5.7 Garden Glory项目 140
5.8 James River珠宝行项目 140
5.9 Mid-Western大学化学系项目 141
第6章 数据库管理 143
6.1.1 查询、窗体和报表 144
6.1 数据库处理环境 144
6.1.2 Internet应用程序处理 145
6.1.3 客户机/服务器以及传统的应用程序处理 145
6.1.4 存储过程和触发器 146
6.1.5 控制、安全和可靠性的必要性 147
6.2 并发控制 148
6.2.1 使用原子事务的必要性 148
6.2.2 并发事务处理 149
6.2.3 丢失更新问题 150
6.2.4 并发问题:脏读取、非一致读取和幻象读取 151
6.2.5 资源锁定 152
6.2.7 死锁 153
6.2.6 串行化事务 153
6.2.8 乐观锁定和悲观锁定 154
6.2.9 声明锁定特征 155
6.2.10 一致事务 156
6.2.11 事务隔离级别 157
6.3 数据库安全 158
6.3.1 处理权限和责任 158
6.3.2 DBMS安全 160
6.3.3 应用程序安全 161
6.4 数据库备份与恢复 162
6.4.1 通过重新处理恢复 163
6.4.2 通过回滚和前滚恢复 163
6.6 小结 167
6.5 DBA的其他职责 167
6.7 复习题 169
6.8 练习题 171
6.9 Garden Glory项目 171
6.10 James River珠宝行项目 172
6.11 Mid-Western大学化学系项目 173
第7章 高级主题 175
7.1 Web数据库处理 175
7.1.1 使用Active Server Pages进行Web处理 176
7.1.2 使用JSP进行Web处理 179
7.1.3 ODBC和JDBC 181
7.2 数据库处理和XML 183
7.1.4 Web数据库处理面临的挑战 183
7.2.1 XML模式文件 184
7.2.2 XML和数据库处理 185
7.2.3 XML Web Services 186
7.3 分布式数据库处理 187
7.3.1 分布式数据库的类型 187
7.3.2 分布式数据库面临的挑战 188
7.4 OLAP和数据挖掘 189
7.4.1 OLAP 190
7.4.2 数据挖掘 192
7.5 对象关系型数据库 193
7.6 小结 194
7.7 复习题 196
7.8 练习题 197
附录A 使用Microsoft Access处理数据库 199
A.1 Carbon River Construction的数据库模式 199
A.1.1 Carbon River Construction的数据结构图 200
A.1.2 列设计 201
A.2 用Access创建表和关联 202
A.2.1 创建表 203
A.2.2 创建关联 205
A.3 创建查询和SQL语句 208
A.3.1 运用图形工具创建简单的SQL查询 208
A.3.2 操作查询 213
A.4.1 创建简单的窗体 215
A.4 创建Access的数据输入窗体 215
A.4.2 在窗体中使用默认值和组合框 217
A.4.3 查找非键值数据 221
A.5 创建Access报表 223
A.5.1 带式报表生成器 223
A.5.2 报表中的计算 226
A.5.3 参数化报表 228
A.6 小结 230
A.7 复习题 231
A.8 练习题 233
A.9 Garden Glory项目 233
A.10 James River珠宝行项目 234
术语表 237