第Ⅰ部分 数据库基础 3
第1章 数据库入门 3
1.1 使用数据库的原因 3
1.1.1 关于列表的问题 4
1.1.2 使用关系数据库表 6
1.1.3 关系表的处理 10
1.2 数据库系统的概念 12
1.2.1 数据库 12
1.2.2 DBMS 13
1.2.3 个人数据库系统和企业级数据库系统 16
1.3 NoSQL数据库的概念 21
1.4 Access工作台:第一部分——熟悉Microsoft Access 21
1.4.1 Wallingford Motors客户关系管理系统 21
1.4.2 创建Access数据库 22
1.4.3 Office Fluent用户界面 25
1.4.4 关闭数据库,退出Access 27
1.4.5 打开已有的Access数据库 27
1.4.6 创建Access数据库表 29
1.4.7 在表中插入数据——数据表视图 35
1.4.8 修改表中的数据——数据表视图 38
1.4.9 删除表中的行——数据表视图 39
1.4.10 在表中插入数据——使用表单 40
1.4.11 使用表单修改数据和删除记录 42
1.4.12 创建单表的Access报表 43
1.4.13 关闭数据库并退出Access2013 45
1.5 小结 45
1.6 重要术语 46
1.7 复习题 47
1.8 练习题 48
1.9 Access工作台的重要术语 48
1.10 Access工作台练习题 49
1.11 San Juan Sailboat Charters案例问题 50
1.12 Garden Glory项目问题 51
1.13 James River珠宝行项目问题 51
1.14 Queen Anne Curiosity商店项目问题 52
第2章 关系模型 53
2.1 关系 53
2.1.1 一个关系表与两个非关系表的示例 54
2.1.2 显示关系表结构要注意的问题 55
2.1.3 术语说明 56
2.2 键的类型 56
2.2.1 复合键 57
2.2.2 候选键与主键 57
2.2.3 代理键 60
2.2.4 外键与参照完整性 61
2.3 NULL值的问题 64
2.4 函数依赖与规范化 65
2.4.1 函数依赖 65
2.4.2 再论主键与候选键 66
2.4.3 规范化 67
2.4.4 表的设计原则 68
2.4.5 规范化过程 68
2.4.6 规范化的示例 70
2.4.7 消除多值依赖中的异常 74
2.5 Access工作台:第二部分——在Access中操作多个表 77
2.5.1 WMCRM数据库中可能出现的修改问题 78
2.5.2 操作多个表 83
2.5.3 创建表之间的关系 86
2.5.4 使用包括两个表的表单 88
2.5.5 创建包括两个表中数据的报表 89
2.5.6 关闭数据库并退出Access 91
2.6 小结 91
2.7 重要术语 92
2.8 复习题 92
2.9 练习题 94
2.10 Access工作台的重要术语 95
2.11 Access工作台练习题 95
2.12 Regional Labs案例问题 98
2.13 Garden Glory项目问题 99
2.14 James River Jewelry珠宝行项目问题 100
2.15 Queen Anne Curiosity商店项目问题 100
第3章 结构化查询语言 103
3.1 示例数据库 104
3.2 用于数据定义的SQL语句创建表和关系 109
3.2.1 使用表约束定义主键 116
3.2.2 使用表约束定义外键 117
3.2.3 向DBMS提交SQL语句 119
3.3 插入关系数据的SQL语句 121
3.4 SQL DML单表查询 124
3.4.1 SQL SELECT/FROM/WHERE架构 124
3.4.2 从单个表中读取指定列 125
3.4.3 从单个表中读取指定行 127
3.4.4 从单个表中读取指定行和指定列 129
3.4.5 WHERE子句中的范围、通配符和空值 130
3.4.6 对查询结果排序 133
3.4.7 SQL内置函数和计算 135
3.4.8 内置函数和分组 137
3.5 SQL DML——多表查询 139
3.5.1 使用子查询处理多个表 139
3.5.2 使用连接查询多个表 141
3.5.3 SQL JOIN ON语法 144
3.5.4 内连接和外连接 146
3.6 修改和删除关系数据的SQL语句 151
3.6.1 修改数据 151
3.6.2 删除数据 153
3.7 修改与删除表和约束的SQL语句 154
3.7.1 DROP TABLE语句 154
3.7.2 ALTER TABLE语句 154
3.7.3 SQL TRUNCATE TABLE语句 155
3.7.4 CHECK约束 155
3.8 SQL视图 156
3.9 Access工作台:第三部分——在Access中使用查询 157
3.9.1 使用Access SQL 157
3.9.2 使用Microsoft Access QBE 161
3.9.3 使用Microsoft Access参数化查询 166
3.9.4 使用Access SQL创建表 168
3.9.5 修改Access表以添加AccessSQL不支持的数据需求 170
3.9.6 用Access SQL插入数据 175
3.9.7 使用Access SQL添加参照完整性约束 179
3.9.8 修改Access数据库以添加Access SQL不支持的约束 179
3.9.9 关闭数据库并退出Access 181
3.10 小结 182
3.11 重要术语 183
3.12 复习题 184
3.13 练习题 187
3.14 Access工作台的重要术语 188
3.15 Access工作台练习题 188
3.16 Heather Sweeney Designs案例问题 191
3.17 Garden Glory项目问题 200
3.18 James River珠宝行项目问题 203
3.19 QueenAnne Curiosity商店项目问题 204
第Ⅱ部分 数据库设计 211
第4章 数据建模与实体-关系模型 211
4.1 需求分析 212
4.2 实体-关系数据模型 212
4.2.1 实体 213
4.2.2 特性 214
4.2.3 标识符 214
4.2.4 关系 215
4.3 实体-关系图 217
4.3.1 E-R模型的版本 217
4.3.2 IE鸟足E-R模型 218
4.3.3 弱实体 220
4.3.4 ID依赖实体 220
4.3.5 非ID依赖的弱实体 221
4.3.6 关联实体 223
4.3.7 子型实体 224
4.3.8 递归关系 226
4.4 开发E-R图示例 226
4.4.1 Heather Sweeney Designs公司的数据库 226
4.4.2 培训课的客户列表 226
4.4.3 给客户的信函模板 228
4.4.4 销售发货单 230
4.4.5 特性规范 233
4.4.6 业务规则 233
4.4.7 验证数据模型 233
4.5 Access工作台:第四部分——使用Access开发原型 234
4.5.1 为原始的数据模型创建原型表单 235
4.5.2 为修改过的数据模型创建原型表单 236
4.5.3 Access的Banded Form和Report Editors 240
4.5.4 使用Microsoft AccessSwitchboards 240
4.5.5 关闭数据库并退出Access 241
4.6 小结 241
4.7 重要术语 242
4.8 复习题 243
4.9 练习题 244
4.10 Access工作台重要术语 244
4.11 Access工作台练习题 244
4.12 Highline University MentorProgram案例问题 245
4.13 Washington State Patrol案例问题 247
4.14 Garden Glory项目问题 248
4.15 James River Jewelry项目问题 248
4.16 Queen Anne Curiosity商店项目问题 248
第5章 数据库设计 251
5.1 数据库设计的目标 251
5.2 把数据模型转换为数据库的设计方案 252
5.3 使用关系模型表示实体 253
5.3.1 ITEM实体的表示 253
5.3.2 CUSTOMER实体的表示 255
5.3.3 反规范化 256
5.3.4 SALES_COMMISSION实体的关系设计 257
5.3.5 弱实体的表示 259
5.4 关系的表示 260
5.4.1 强实体中的关系 260
5.4.2 使用弱实体的关系 267
5.4.3 子型实体关系的表示 268
5.4.4 递归关系的表示 269
5.5 Heather Sweeney Designs公司的数据库设计 272
5.5.1 弱实体 273
5.5.2 规范化的验证 273
5.5.3 指定列属性 273
5.5.4 关系 275
5.5.5 实现参照完整性约束 277
5.6 Access工作台:第五部分——Access中的关系 279
5.6.1 Access中的N:M关系 279
5.6.2 Access中的1:1关系 279
5.6.3 关闭数据库并退出Access 284
5.7 小结 284
5.8 重要术语 284
5.9 复习题 285
5.10 练习题 286
5.11 Access工作台重要术语 287
5.12 Access工作台练习题 287
5.13 San Juan Sailboat Charters案例问题 287
5.14 Washington State Patrol案例问题 289
5.15 Garden Glory公司项目问题 289
5.16 James River珠宝行项目问题 289
5.17 QueenAnne Curiosity商店项目问题 289
第Ⅲ部分 数据库管理 293
第6章 数据库管理 293
6.1 Heather Sweeney Designs数据库 294
6.2 控制、安全和可靠的必要性 295
6.3 并发控制 295
6.3.1 使用原子事务的必要性 296
6.3.2 并发事务处理 297
6.3.3 丢失更新问题 298
6.3.4 资源锁定 298
6.3.5 可串行化的事务 299
6.3.6 死锁 300
6.3.7 乐观锁定和悲观锁定 300
6.4 SQL事务控制语言和声明锁定特征 302
6.4.1 一致事务 303
6.4.2 事务隔离级别 304
6.5 游标类型 305
6.6 数据库安全 307
6.6.1 用户账户 307
6.6.2 用户处理权限和责任 308
6.6.3 DBMS级别的安全 311
6.6.4 应用程序级别的安全 312
6.7 数据库备份与恢复 313
6.7.1 通过重新处理来恢复 314
6.7.2 通过回滚和前滚来恢复 314
6.8 DBA的其他职责 317
6.9 Access工作台: 第六部分——Access中的数据库管理 318
6.9.1 Access中的数据库安全 318
6.9.2 Access2013中的数据库安全 318
6.10 小结 336
6.11 重要术语 337
6.12 复习题 338
6.13 练习题 339
6.14 Access工作台重要术语 340
6.15 Access工作台练习题 340
6.16 Marcia's Dry Cleaning案例问题 341
6.17 Garden Glory项目问题 342
6.18 James River珠宝行项目问题 343
6.19 QueenAnne Curiosity商店项目问题 343
第7章 数据库处理应用程序 345
7.1 数据库处理的环境 346
7.1.1 查询、表单和报表 347
7.1.2 客户机/服务器和传统的应用程序处理 347
7.1.3 SQL/PSM:用户自定义函数、存储过程和触发器 348
7.2 Web应用程序数据库处理 348
7.2.1 ODBC 350
7.2.2 使用IIS进行Web处理 355
7.2.3 HTML Web页面入门 357
7.2.4 Web页面index.html 358
7.2.5 创建Web页面index.html 358
7.2.6 使用PHP对Web数据库进行处理 360
7.2.7 用PHP更新表 367
7.2.8 Web数据库处理面临的挑战 372
7.2.9 SQL注入攻击 373
7.3 数据库处理和XML 373
7.3.1 XML的重要性 374
7.3.2 作为一种标记语言的XML 374
7.3.3 XML和数据库处理 374
7.3.4 XML Web Services 375
7.4 Access工作台:第七部分——使用Microsoft Access进行Web数据库处理 376
7.4.1 创建客户联络视图 376
7.4.2 Wallingford Motors的Web主页 377
7.4.3 选择数据库文件 379
7.4.4 创建ODBC数据源 379
7.4.5 创建PHP页面 380
7.4.6 运行PHP页面 382
7.4.7 关闭 383
7.5 小结 383
7.6 重要术语 384
7.7 复习题 385
7.8 练习题 386
7.9 Access工作台练习题 388
7.10 Marcia's Dry Cleaning案例问题 388
7.11 Garden Glory公司项目问题 391
7.12 James River Jewelry珠宝行项目问题 392
7.13 Queen Anne Curiosity商店项目问题 392
第8章 大数据、数据仓库和商业智能系统 393
8.1 商业智能系统 394
8.2 可操作系统与BI系统的关系 395
8.3 报表系统和数据挖掘应用程序 395
8.3.1 报表系统 396
8.3.2 数据挖掘应用程序 396
8.4 数据仓库和数据集市 397
8.4.1 数据仓库的组成 397
8.4.2 数据仓库和数据集市 398
8.4.3 多维数据库 399
8.5 OLAP 406
8.6 分布式数据库的处理 410
8.6.1 分布式数据库的类型 410
8.6.2 分布式数据库面临的挑战 411
8.7 对象-关系数据库 412
8.8 大数据和NotOnlySQL运动 413
8.8.1 列族数据库 414
8.8.2 MapReduce 415
8.8.3 Hadoop 416
8.9 Access工作台: 第八部分——使用Access的商业智能系统 417
8.9.1 为OLAP报表创建一个视图查询 417
8.9.2 为OLAP报表创建Excel工作表 420
8.9.3 创建基本的OLAP报表 421
8.9.4 构建OLAP报表 423
8.9.5 修改OLAP报表 426
8.9.6 关闭 428
8.10 小结 429
8.11 重要术语 430
8.12 复习题 431
8.13 练习题 432
8.14 Access工作台练习题 433
8.15 Marcia's Dry Cleaning案例问题 433
8.16 GardenGlory公司项目问题 434
8.17 James River Jewelry珠宝行项目问题 435
8.18 QueenAnne Curiosity商店项目问题 435