第1章 文件系统和数据库 3
1.1数据库介绍 3
1.1.1数据库设计的重要性 6
1.1.2数据库设计的实用方法 6
1.2数据库的来源:文件和文件系统 7
1.3文件系统的评价 10
1.3.1文件系统的数据管理 10
1.3.2结构依赖和数据依赖 12
1.3.3域定义和命名约定 12
1.3.4数据冗余 13
1.4数据库系统 14
1.4.1数据库系统环境 15
1.4.2数据库管理系统的类别 17
1.4.3DBMS的功能 18
1.4.4管理数据库系统:重点的转换 19
1.4.5数据库设计和建模 20
1.5数据库模型 20
1.5.1层次数据库模型 21
1.5.2网状数据库模型 25
1.5.3关系数据库模型 28
1.5.4实体联系数据模型 31
1.5.5面向对象数据库模型 34
1.6综合:数据模型的演化 37
小结 40
问题回顾 43
习题 44
第2章 关系数据库模型 48
2.1数据的逻辑视图 48
2.1.1实体和属性 49
2.1.2表及其属性 49
2.2码 52
2.3完整性规则复习 56
2.4关系数据库操作 57
2.5数据字典和系统目录 63
2.6关系数据库中的联系 65
2.7再看数据冗余 72
2.8索引 75
小结 75
问题回顾 76
习题 78
第3章 实体联系(E-R)模型 87
3.1“建模”概念的基础 87
3.2数据模型:数据抽象的程度 88
3.2.1概念模型 89
3.2.2内部模型 91
3.2.3外部模型 92
3.2.4物理模型 94
3.3实体联系(E-R)模型 95
3.3.1实体 95
3.3.2属性 95
3.3.3联系 99
3.3.4关联度和势 99
3.3.5联系的强度 100
3.3.6联系参与性 103
3.3.7联系的强度和弱实体 105
3.3.8关联度 107
3.3.9复合实体 111
3.3.10实体超类型和子类型 113
3.4E-R模型中符号的比较 116
3.5开发E-R图 118
3.6数据库设计的挑战:相冲突的目标 125
小结 126
问题回顾 127
习题 128
第4章 数据库表的规范化 139
4.1数据库表和规范化 139
4.1.1规范化的必要性 140
4.1.2到第一范式的转换 142
4.1.3到第二范式的转换 144
4.1.4到第三范式的转换 146
4.1.5BOYCE-CODD范式 150
4.2规范化和数据库设计 152
4.3高级范式 156
4.4反规范化 156
小结 157
问题回顾 159
习题 160
第5章 结构化查询语言(SQL) 167
5.1引言 167
5.2数据定义命令 168
5.2.1数据库模型 168
5.2.2表和表项 169
5.2.3建立数据库和表结构 170
5.2.4建立表结构 170
5.2.5使用域 175
5.2.6SQL完整性约束 176
5.3数据操作命令 177
5.3.1数据输入 177
5.3.2保存表的内容 179
5.3.3列出表的内容 179
5.3.4修正 180
5.3.5恢复表的内容 180
5.3.6删除表的元组 181
5.4查询 181
5.4.1列出表的部分内容 181
5.4.2逻辑运算符:AND,OR和NOT 186
5.4.3特殊运算符 188
5.5高级数据管理命令 191
5.5.1改变列的数据类型 191
5.5.2修改属性特性 191
5.5.3删除列 192
5.5.4在新列中输入数据 192
5.5.5算术操作符和优先级规则 194
5.5.6复制表的一部分 195
5.5.7从数据库中删除一个表 196
5.5.8指定主码和外码 196
5.6复杂的查询和SQL函数 196
5.6.1对结果列表排序 197
5.6.2列出惟一的值 199
5.6.3SQL中的聚集函数 200
5.6.4数据分组 203
5.6.5虚拟表:创建视图 206
5.6.6索引 207
5.6.7数据库表的连接 207
5.7可更新视图 212
5.8过程化SQL 214
5.8.1触发器 215
5.8.2存储过程 221
5.8.3PL/SQL存储函数 223
5.9把一个E-R模型转换为数据库结构 224
5.10控制表之间关系的一般规则 228
小结 235
问题回顾 241
习题 243
第6章 数据库设计 255
6.1将数据转换为信息 255
6.2信息系统 256
6.3系统开发周期 258
6.3.1规划 258
6.3.2分析 259
6.3.3系统详细设计 259
6.3.4实现 260
6.3.5维护 260
6.4数据库生命周期(DBLC) 260
6.4.1数据库初步调研 261
6.4.2数据库设计 265
6.4.3实现和数据加载 276
6.4.4测试和评估 280
6.4.5运行 281
6.4.6维护和演化 281
6.5关于数据库设计策略的特别说明 281
6.6集中设计还是分离设计 282
小结 285
问题回顾 286
习题 286
第7章 大学实验室:概念设计 288
7.1数据库初步调研 289
7.1.1UCL的目标 290
7.1.2组织结构 290
7.1.3操作的描述 291
7.1.4问题和约束 295
7.1.5系统目标 296
7.1.6范围和边界 297
7.2数据库设计阶段:概念设计 299
7.2.1信息源和用户 299
7.2.2信息需要:用户需求 300
7.2.3开发原始的E-R模型 302
小结 313
问题回顾 313
习题 314
第8章 大学实验室:概念设计验证、逻辑设计及实现 319
8.1完成概念和逻辑数据库设计 319
8.2完成概念设计:实体、属性和规范化 321
8.2.1实验室管理系统的模块 321
8.2.2清单管理模块 331
8.3E-R模型验证 345
8.4逻辑设计 351
8.4.1表 351
8.4.2索引和视图 353
8.5物理设计 353
8.6实现 355
8.6.1数据库的创建 357
8.6.2数据库的加载和转化 357
8.6.3系统过程 357
8.7测试和评估 358
8.7.1性能措施 358
8.7.2安全措施 358
8.7.3备份和恢复过程 359
8.8操作 359
8.8.1数据库是可操作的 359
8.8.2操作过程 359
8.8.3管理数据库:维护和发展 359
小结 360
问题回顾 361
习题 362
第9章 事务管理和并发控制 365
9.1什么是事务 365
9.1.1评测事务结果 366
9.1.2事务的性质 367
9.1.3SQL中的事务管理 368
9.1.4事务日志 369
9.2并发控制 370
9.2.1丢失更新 370
9.2.2未提交数据 371
9.2.3不一致检索 371
9.2.4调度程序 373
9.3使用锁定方法的并发控制 373
9.3.1锁的粒度 374
9.3.2锁类型 376
9.3.3两阶段锁定保证可串行化 378
9.3.4死锁 378
9.4使用时间戳方法的并发控制 379
9.5使用乐观方法的并发控制 380
9.6数据库恢复管理 380
小结 382
问题回顾 383
习题 384
第10章 分布式数据库管理系统 385
10.1分布式数据库管理系统的演变 385
10.1.1DDBMS的优点 387
10.1.2DDBMS的缺点 387
10.2分布式处理和分布式数据库 388
10.3什么是分布式数据库管理系统 390
10.4分布式数据库系统的组成部分 392
10.5数据和处理分布的级别 393
10.5.1单节点处理、单节点数据(SPSD) 393
10.5.2多节点处理、单节点数据(MPSD) 394
10.5.3多节点处理、多节点数据(MPMD) 395
10.6分布式数据库透明性 396
10.7分布透明性 396
10.8事务透明性 398
10.8.1分布式数据库请求和分布式事务 399
10.8.2分布式并发控制 401
10.8.3两阶段提交协议 402
10.9性能透明性和查询优化 403
10.10分布式数据库设计 404
10.11数据分片 404
10.11.1水平分片 405
10.11.2垂直分片 406
10.11.3混合分片 406
10.12数据复制 407
10.13数据分配 408
10.14客户/服务器和DDBMS 409
10.15C.J.Date关于分布式数据库的12条准则 409
小结 410
问题回顾 411
习题 412
第11章 面向对象数据库 417
11.1面向对象和它的好处 417
11.2面向对象概念的发展 418
11.3面向对象的概念 418
11.3.1对象:组成元素和特征 419
11.3.2对象标识 419
11.3.3属性(实例变量) 419
11.3.4对象状态 421
11.3.5消息和方法 421
11.3.6类 422
11.3.7协议 423
11.3.8超类、子类和层次 424
11.3.9方法覆盖和多态性 426
11.3.10抽象数据类型 427
11.3.11对象分类 428
11.4面向对象数据模型的特性 429
11.4.1对象模式:对象的图形表示 430
11.4.2类-子类联系 432
11.4.3对象间的联系:属性-类联系 433
11.4.4早期和晚期绑定:使用和重要性 438
11.4.5对版本的支持 440
11.5OODM和先前的数据模型:相似和差异 440
11.5.1对象、实体和元组 440
11.5.2类、实体集和表 441
11.5.3封装和继承 441
11.5.4对象ID(OID) 441
11.5.5联系 442
11.5.6访问 442
11.6面向对象数据库管理系统 443
11.7面向对象如何影响数据库设计 446
11.8OODBMS:优点和缺点 447
11.9OO概念如何影响关系模型 449
11.10下一代数据库管理系统 450
小结 451
问题回顾 451
习题 452
第12章 客户/服务器系统 456
12.1客户/服务器计算的定义 456
12.2推动客户/服务器系统趋势的力量 458
12.3客户/服务器信息系统的演化 458
12.4客户/服务器信息系统的管理期望 460
12.4.1客户/服务器收益的MIS期望 460
12.4.2客户/服务器收益的组织期望 460
12.5客户/服务器的体系结构 461
12.5.1各部分之间如何交互 461
12.5.2客户/服务器的原则 462
12.5.3客户组成 464
12.5.4服务器组成 465
12.5.5通信中间件组成 467
12.5.6网络协议 471
12.5.7数据库中间件组成 472
12.5.8中间件分类 475
12.6标准的寻求 475
12.7客户/服务器数据库 477
12.8客户/服务器体系结构的类型 478
12.9客户/服务器的实现问题 482
12.9.1客户/服务器和传统数据处理 482
12.9.2管理上的考虑 483
12.9.3客户/服务器开发工具 485
12.9.4一个综合的开发方法 485
小结 486
问题回顾 487
第13章 数据仓库 489
13.1对数据分析的需要 489
13.2决策支持系统 491
13.2.1操作型数据与决策支持数据 492
13.2.2DSS数据库的需求 495
13.3数据仓库 498
13.3.1DSS的体系结构风格 501
13.3.2定义数据仓库的12条原则 502
13.4联机分析处理 502
13.4.1OLAP体系结构 505
13.4.2关系OLAP 508
13.4.3多维OLAP 511
13.4.4关系型OLAP和多维OLAP的对比 512
13.5星型模式 513
13.5.1事实 513
13.5.2维度 513
13.5.3属性 514
13.5.4属性层次 516
13.5.5星型模式表示 517
13.5.6性能提高技术 519
13.6数据仓库的实现 521
13.6.1数据仓库作为主动决策支持框架 522
13.6.2需要用户参与和承担责任的、全公司范围的努力 522
13.6.3三方面的要求:数据、分析和用户 522
13.6.4应用数据库设计过程 522
13.7数据挖掘 523
小结 526
问题回顾 528
习题 529
第14章 电子商务中的数据库 533
14.1什么是电子商务 533
14.2通向电子商务之路 534
14.3电子商务的冲击 535
14.3.1电子商务的优点 535
14.3.2电子商务的缺点 535
14.4电子商务的形式 535
14.5电子商务体系结构 537
14.5.1Internet基本服务 538
14.5.2商业使能服务 540
14.5.3电子商务商用服务 541
14.6安全性 541
14.7付款处理 543
14.7.1数字现金 543
14.7.2信用卡处理 544
14.7.3电子钱包 544
14.8电子商务应用的数据库设计 545
14.9可扩展置标语言(XML) 553
14.9.1文档类型定义和XML模式 554
14.9.2XML显示 557
14.9.3XML应用 559
小结 561
问题回顾 562
习题 562
第15章 Web数据库开发 564
15.1Internet技术和数据库 564
15.2Internet数据库的典型应用 565
15.3Web数据库中间件:服务器端扩展 565
15.3.1Web服务器接口 567
15.3.2开放数据库连接 568
15.4Web浏览器 570
15.4.1客户端扩展 570
15.5使用Web数据库产品工具:ColdFusion 571
15.5.1ColdFusion如何工作 573
15.5.2RobCor样例数据库 573
15.5.3使用CFQUERY和CFOUTPUT创建简单的查询 574
15.5.4使用CFQUERY和CFTABLE创建一个简单的查询 578
15.5.5创建一个动态查询网页 580
15.5.6Web——无状态系统 584
15.5.7数据插入 585
15.5.8数据更新 589
15.5.9删除数据 594
15.6Internet数据库系统:特别的考虑 599
15.6.1支持哪些数据类型 600
15.6.2数据安全 601
15.6.3事务管理 601
15.6.4数据库表的反规范化 602
小结 603
问题回顾 603
习题 604
第16章 数据库的管理 607
16.1数据是企业资产 607
16.2一个组织中的数据库需求和数据库的作用 608
16.3数据库的引入:特别的考虑 609
16.4数据库管理职能的发展 610
16.5数据库环境的人性部分 613
16.5.1DBA的管理角色 615
16.5.2DBA的技术角色 621
16.6数据库管理工具 627
16.6.1数据字典 627
16.6.2CASE工具 629
16.7开发数据管理策略 631
16.8DBA的工作:使用Oracle进行数据库管理 633
16.8.1Oracle数据库管理工具 633
16.8.2默认登录 634
16.8.3确保一个自动的RDBMS启动 635
16.8.4使用存储管理器来创建表空间和数据文件 635
16.8.5管理数据库对象:表、视图、触发器和存储过程 638
16.8.6管理用户和建立安全性 639
16.8.7定制数据库初始化参数 640
16.8.8创建一个新数据库 641
小结 643
问题回顾 645
附录客户/服务器的网络基础架构 647