第Ⅰ部分 基础知识 3
第1章 数据库简介 3
1.1使用数据库的原因 4
1.1.1关于列表的问题 4
1.1.2使用关系数据库 7
1.1.3关系表的处理 13
1.2数据库系统的概念 14
1.2.1数据库 15
1.2.2DBMS 16
1.2.3应用程序 18
1.2.4个人数据库系统和企业数据库系统的比较 20
1.3Access工作台:第1部分——熟悉Microsoft Access 22
1.3.1创建Access数据库 23
1.3.2创建数据库表 26
1.3.3在表中插入数据——数据表视图 34
1.3.4修改表中的数据——数据表视图 37
1.3.5删除表中的行——数据表视图 38
1.3.6在表中插入数据——使用表单 40
1.3.7修改数据和删除记录——使用表单 44
1.3.8创建一个表的Access报表 44
1.3.9关闭数据库并退出Access 47
1.4小结 48
1.5复习题 49
1.6练习题 50
1.7Access工作台练习题 51
1.8Garden Glory项目问题 52
1.9James River珠宝行项目问题 52
1.10 Queen Anne Curiosity商店项目问题 53
第2章 关系模型 55
2.1关系 56
2.1.1一个关系示例与两个非关系示例 57
2.1.2显示关系结构的说明 58
2.1.3术语说明 59
2.2键的类型 59
2.2.1复合键 60
2.2.2候选键与主键 60
2.2.3代理键 63
2.2.4外键与参照完整性约束 64
2.3NULL值的问题 68
2.4函数依赖与规范化 68
2.4.1函数依赖 69
2.4.2再论主键与候选键 70
2.4.3规范化 71
2.4.4关系设计原则 72
2.4.5规范化过程 72
2.4.6规范化的示例 74
2.5Access工作台:第二部分——在MicrosoftAccess中操作多个表 79
2.5.1WMCRM数据库中可能的修改问题 80
2.5.2操作多个表 84
2.5.3创建表之间的关系 86
2.5.4使用包括两个表的表单 90
2.5.5创建包括两个表中数据的报表 91
2.5.6关闭数据库并退出Access 92
2.6小结 93
2.7复习题 94
2.8练习题 95
2.9Access工作台练习题 96
2.10GardenGlory项目问题 99
2.11JamesRiverJewelry珠宝行项目问题 100
2.12QueenAnneCuriosity商店项目问题 101
第3章 结构化查询语言 105
3.1示例数据库 106
3.2用于数据定义的SQL语句 110
3.2.1使用表约束定义主键 115
3.2.2使用表约束定义外键 116
3.2.3向DBMS提交SQL语句 118
3.3插入关系数据的SQL语句 121
3.4SQL关系查询语句 124
3.4.1SQLSELECT/FROM/WHERE架构 124
3.4.2从单个表中读取指定列 125
3.4.3从单个表中读取指定行 127
3.4.4从单个表中读取指定行和指定列 129
3.4.5在WHERE子句中指定范围、使用通配符和空值 131
3.4.6对结果进行排序 134
3.4.7SQL内置函数和计算 135
3.4.8内置函数和分组 138
3.4.9使用子查询处理多个表 139
3.4.10使用连接查询多个表 141
3.4.11SQLJOIN...ON语法 145
3.4.12外部连接 148
3.5修改和删除关系数据的SQL语句 150
3.5.1修改数据 150
3.5.2删除数据 152
3.6修改和删除表和约束的SQL语句 153
3.6.1DROPTABLE和ALTERTABLE语句 153
3.6.2CHECK约束 154
3.7SQL视图 155
3.8Access工作台:第三部分——在MicrosoftAccess中使用查询 155
3.8.1使用MicrosoftAccessSQL 156
3.8.2使用MicrosoftAccessQBE 160
3.8.3使用MicrosoftAccess参数查询 165
3.8.4使用MicrosoftAccessSQL创建表 166
3.8.5修改Access表以添加AccessSQL不支持的数据需求 169
3.8.6使用MicrosoftAccessSQL插入数据 174
3.8.7使用AccessSQL添加参照完整性约束 177
3.8.8修改Access数据库以添加AccessSQL不支持的约束 178
3.8.9关闭数据库并退出Access 180
3.9小结 181
3.10复习题 182
3.11练习题 184
3.12Access工作台练习题 186
3.13GardenGlory项目问题 189
3.14JamesRiver珠宝行项目问题 190
3.15QueenAnneCuriosity商店项目问题 192
第Ⅱ部分 数据库设计和管理 197
第4章 数据建模与实体-关系模型 197
4.1需求分析阶段 198
4.2实体-关系数据模型 199
4.2.1实体 199
4.2.2属性 200
4.2.3标识符 200
4.2.4关系 201
4.3实体-关系图 204
4.3.1E-R模型的不同版本 205
4.3.2数据建模产品中E-R模型的变化 205
4.3.3弱实体 207
4.3.41D依赖实体 207
4.3.5非标识符依赖的弱实体 209
4.3.6子类实体 212
4.3.7递归关系 213
4.4开发E-R图示例 214
4.4.1HeatherSweeneyDesigns公司的数据库 214
4.4.2培训课的客户列表 214
4.4.3给客户的信函模板 216
4.4.4销售发货单 219
4.4.5属性说明 222
4.4.6业务规则 224
4.4.7验证数据模型 224
4.5Access工作台:第四部分——使用MicrosoftAccess来开发原型 225
4.5.1为原始的数据模型创建表单模型 226
4.5.2为修改过的数据模型创建表单原型 228
4.5.3Access的BandedFormandReportEditors 230
4.5.4关闭数据库并退出Access 231
4.6小结 231
4.7复习题 232
4.8练习题 234
4.9Access工作台练习题 234
4.10GardenGlory项目问题 235
4.11JamesRiverJewelry项目问题 235
4.12QueenAnneCuriosity商店项目问题 236
第5章 数据库设计 239
5.1把数据模型转换为数据库的设计方案 240
5.2使用关系模型表示实体 241
5.2.1ITEM实体的表示 241
5.2.2CUSTOMER实体的表示 243
5.2.3SALES-COMMISSION实体的关系设计 246
5.2.4弱实体的表示 247
5.3关系的表示 251
5.3.1强实体中的关系 251
5.3.2使用了弱实体的关系 258
5.3.3子型实体关系的表示 259
5.3.4递归关系的表示 260
5.4HeatherSweeneyDesigns公司的数据库设计 264
5.4.1弱实体 265
5.4.2关系 265
5.4.3强制参照完整性 266
5.5Access工作台:第五部分——MicrosoftAccess中的关系 268
5.5.1Access中的多对多关系 268
5.5.2Access中的一对一关系 268
5.5.3关闭数据库并退出Access 273
5.6小结 273
5.7复习题 274
5.8练习题 276
5.9Access工作台练习题 276
5.10GardenGlory公司项目问题 277
5.11JamesRiver珠宝行项目问题 277
5.12QueenAnneCuriosity商店项目问题 278
第6章 数据库管理 279
6.1HeatherSweeneyDesigns公司的数据库 280
6.2并发控制 287
6.2.1使用原子事务的必要性 287
6.2.2并发事务处理 288
6.2.3丢失更新问题 289
6.2.4并发问题:脏读取、不可重复读取和幻象读取 290
6.2.5资源锁定 290
6.2.6串行化事务 292
6.2.7死锁 292
6.2.8乐观锁定和悲观锁定 293
6.2.9声明锁定特征 294
6.2.10一致事务 295
6.2.11事务隔离级别 296
6.3游标类型 297
6.4数据库安全 298
6.4.1用户账户 299
6.4.2处理权限和责任 300
6.4.3DBMS级别的安全 304
6.4.4应用程序级别的安全 305
6.5数据库备份与恢复 306
6.5.1通过重新处理进行恢复 306
6.5.2通过回滚和前滚进行恢复 307
6.5.3DBA的其他职责 310
6.6分布式数据库的处理 310
6.6.1分布式数据库的类型 310
6.6.2分布式数据库面临的挑战 312
6.7对象-关系数据库 313
6.8Access工作台:第六部分——MicrosoftAccess中的数据库管理 313
6.8.1Access中的数据库安全 314
6.8.2受保护数据库的使用 322
6.8.3受保护数据库的管理 324
6.8.4关闭数据库并退出Access 324
6.9小结 324
6.10复习题 326
6.11练习题 328
6.12Access工作台练习题 329
6.13GardenGlory项目问题 330
6.14JamesRiver珠宝行项目问题 331
6.15QueenAnneCuriosity商店项目问题 332
第7章 数据库处理应用程序和商业智能 335
7.1数据库处理的环境 336
7.1.1查询、表单和报表 337
7.1.2客户机/服务器以及传统的应用程序处理 339
7.1.3存储过程和触发器 339
7.2Web数据库处理 340
7.2.1ODBC 342
7.2.2使用IIS进行Web处理 345
7.2.3ActiveServerPages(ASP) 349
7.2.4ActiveDataObjects(ADO) 352
7.2.5Web数据库处理面临的挑战 358
7.3数据库处理和XML 358
7.3.1XML模式文件 359
7.3.2XML和数据库处理 360
7.3.3XMLWebServices 362
7.4商业智能系统 363
7.5Access工作台:第七部分:使用MicrosoftAccess进行Web数据库处理 367
7.5.1WallingfordMotors的Web主页 367
7.5.2选择数据库文件 369
7.5.3创建ODBC数据源 370
7.5.4创建客户联系方式的视图 371
7.5.5创建ASP页面 372
7.5.6运行ASP页面 374
7.5.7关闭 374
7.6小结 375
7.7复习题 376
7.8练习题 378
7.9Access工作台练习题 380
7.10GardenGlory公司项目问题 381
7.11JamesRiverJewelry珠宝行项目问题 381
7.12QueenAnneCuriosity商店项目问题 382
附录A MicrosoftSQLServer2005ExpressEdition简介 383
附录B MySQL简介 395
附录C SQL视图 409
术语表 427