数据库系统 设计、实现与管理(基础篇)(原书第6版) 内容简介
本书是数据库领域的经典著作,内容系统、全面、实用,被世界多所大学选为数据库相关课程的教材。中文版分为基础篇和进阶篇,分别对应原书~五部分和第六~九部分。本书为基础篇,主要内容包括:数据库系统与数据库设计的基础知识;关系模型与语言;数据库分析与设计的主要技术;数据库设计方法学;以及现代数据库管理相关专题,涵盖安全问题、法律与道德问题、事务管理和查询处理。本书既可作为数据库设计与管理相关课程的本科生或研究生教材,亦可作为数据库专业技术人员的参考书籍。
数据库系统 设计、实现与管理(基础篇)(原书第6版) 目录
出版者的话
译者序
前言
第一部分背景
第1章数据库简介2
1.1引言3
1.2传统的基于文件的系统4
1.2.1基于文件的方法5
1.2.2基于文件方法的局限性8
1.3数据库方法10
1.3.1数据库10
1.3.2数据库管理系统(DBMS)11
1.3.3(数据库)应用程序12
1.3.4DBMS环境的组成部分13
1.3.5数据库设计:范型改变15
1.4数据库环境中的各种角色16
1.4.1数据管理员和数据库管理员16
1.4.2数据库设计人员16
1.4.3应用开发人员17
1.4.4终端用户17
1.5数据库管理系统的历史17
1.6DBMS的优点和缺点20
本章小结23
思考题23
习题24
扩展阅读25
第2章数据库环境26
2.1ANSI—SPARC三层体系结构27
2.1.1外部层28
2.1.2概念层28
2.1.3内部层28
2.1.4模式、映射和实例29
2.1.5数据独立性30
2.2数据库语言30
2.2.1数据定义语言(DDL)31
2.2.2数据操作语言(DML)31
2.2.3第四代语言32
2.3数据模型和概念建模33
2.3.1基于对象的数据模型34
2.3.2基于记录的数据模型34
2.3.3物理数据模型36
2.3.4概念建模36
2.4DBMS的功能36
本章小结39
思考题40
习题40
扩展阅读41
第3章数据库的结构与Web42
3.1多用户DBMS结构42
3.1.1远程处理43
3.1.2文件服务器结构43
3.1.3传统的两层客户—服务器结构44
3.1.4三层客户—服务器结构45
3.1.5N层客户—服务器结构47
3.1.6中间件47
3.1.7事务处理监视器49
3.2Web服务与面向服务的结构50
3.2.1Web服务50
3.2.2面向服务的结构(SOA)51
3.3分布式DBMS53
3.4数据仓库54
3.5云计算56
3.5.1云计算的好处与风险58
3.5.2基于云的数据库方案60
3.6DBMS的组件63
3.7Oracle的体系结构65
3.7.1Oracle的逻辑数据库结构65
3.7.2Oracle的物理数据库结构67
本章小结71
思考题71
习题72
扩展阅读72
第二部分关系模型与语言
第4章关系模型74
4.1关系模型简史74
4.2基本术语76
4.2.1关系数据结构76
4.2.2数学中的关系78
4.2.3数据库中的关系79
4.2.4关系的性质79
4.2.5关系关键字80
4.2.6关系数据库模式的表示81
4.3完整性约束83
4.3.1空83
4.3.2实体完整性83
4.3.3引用完整性84
4.3.4一般性约束84
4.4视图84
4.4.1术语85
4.4.2视图的用途85
4.4.3视图的更新86
本章小结86
思考题86
习题87
扩展阅读87
第5章关系代数与关系演算88
5.1关系代数88
5.1.1一元运算90
5.1.2集合运算91
5.1.3连接运算93
5.1.4除法运算96
5.1.5聚集运算和分组运算96
5.1.6关系代数运算小结97
5.2关系演算98
5.2.1元组关系演算99
5.2.2域关系演算101
5.3其他语言103
本章小结103
思考题104
习题104
扩展阅读106
第6章SQL:数据操作107
6.1SQL简介108
6.1.1SQL的目标108
6.1.2SQL的历史109
6.1.3SQL的重要性110
6.1.4术语110
6.2书写SQL命令110
6.3数据操作111
6.3.1简单查询112
6.3.2查询结果排序(ORDERBY子句)118
6.3.3使用SQL聚集函数119
6.3.4查询结果分组(GROUPBY子句)121
6.3.5子查询123
6.3.6ANY和ALL125
6.3.7多表查询126
6.3.8EXISTS和NOTEXISTS131
6.3.9合并结果表(UNION、INTERSECT和EXCEPT)132
6.3.10数据库更新133
本章小结136
思考题137
习题137
第7章SQL:数据定义140
7.1ISOSQL数据类型141
7.1.1SQL标识符141
7.1.2SQL标量数据类型141
7.2完整性增强特性145
7.2.1必须有值的数据145
7.2.2域约束145
7.2.3实体完整性146
7.2.4引用完整性147
7.2.5一般性约束148
7.3数据定义148
7.3.1创建数据库149
7.3.2创建表(CREATETABLE)149
7.3.3修改表定义(ALTERTABLE)152
7.3.4删除表(DROPTABLE)153
7.3.5创建索引(CREATEINDEX)153
7.3.6删除索引(DROPINDEX)154
7.4视图154
7.4.1创建视图(CREATEVIEW)154
7.4.2删除视图(DROPVIEW)156
7.4.3视图分解157
7.4.4视图的局限性157
7.4.5视图的可更新性158
7.4.6WITHCHECKOPTION159
7.4.7视图的优缺点160
7.4.8视图物化161
7.5事务162
7.6自主访问控制163
7.6.1授予其他用户权限(GRANT)164
7.6.2撤销用户权限(REVOKE)166
本章小结167
思考题168
习题168
第8章高级SQL171
8.1SQL编程语言171
8.1.1声明172
8.1.2赋值173
8.1.3控制语句173
8.1.4PL/SQL的异常175
8.1.5PL/SQL的游标176
8.2子程序、存储过程、函数和包178
8.3触发器179
8.4递归184
本章小结185
思考题185
习题186
扩展阅读186
第9章对象关系DBMS187
9.1高级数据库应用188
9.2RDBMS的缺点191
9.3在关系数据库中存储对象195
9.3.1将类映射为关系196
9.3.2访问关系数据库中的对象197
9.4对象关系数据库系统简介198
9.5SQL:2011200
9.5.1行类型201
9.5.2用户自定义类型201
9.5.3子类型和超类型204
9.5.4用户自定义例程206
9.5.5多态性207
9.5.6引用类型和对象标识208
9.5.7创建表208
9.5.8数据查询210
9.5.9集类型211
9.5.10类型视图214
9.5.11持久化存储模块215
9.5.12触发器215
9.5.13大对象217
9.5.14递归219
9.6Oracle中面向对象的扩展219
9.6.1用户自定义数据类型219
9.6.2操作对象表223
9.6.3对象视图224
9.6.4权限225
本章小结226
思考题226
习题226
扩展阅读227
第三部分数据库分析与设计
第10章数据库系统开发生命周期230
10.1信息系统生命周期231
10.2数据库系统开发生命周期231
10.3数据库规划233
10.4系统定义233
10.5需求收集与分析234
10.5.1集中式方法235
10.5.2视图集成方法235
10.6数据库设计237
10.6.1数据库设计方法237
10.6.2数据建模238
10.6.3数据库设计的阶段划分238
10.7DBMS选型240
10.8应用程序设计243
10.8.1事务设计243
10.8.2用户界面设计指南244
10.9建立原型系统246
10.10实现246
10.11数据转换与加载246
10.12测试247
10.13运行维护247
10.14CASE工具248
本章小结249
思考题250
习题250
扩展阅读251
第11章数据库分析与DreamHome案例研究252
11.1使用实况发现技术的时机253
11.2收集实况的类型253
11.3实况发现技术254
11.3.1分析文档资料254
11.3.2面谈254
11.3.3观察企业的运作255
11.3.4研究256
11.3.5问卷调查256
11.4使用实况发现技术的实例256
11.4.1DreamHome案例研究—概述257
11.4.2DreamHome案例研究—数据库规划260
11.4.3DreamHome案例研究—系统定义264
11.4.4DreamHome案例研究—需求收集与分析266
11.4.5DreamHome案例研究—数据库设计271
本章小结271
思考题271
习题271
扩展阅读272
第12章实体—联系建模273
12.1实体类型274
12.2联系类型275
12.2.1联系类型的度276
12.2.2递归联系278
12.3属性279
12.3.1简单属性和组合属性279
12.3.2单值属性和多值属性279
12.3.3导出属性280
12.3.4关键字280
12.4强实体类型与弱实体类型282
12.5联系的属性282
12.6结构化约束283
12.6.1一对一(1:1)联系283
12.6.2一对多(1:*)联系284
12.6.3多对多(*:*)联系285
12.6.4复杂联系的多重性287
12.6.5基数约束和参与性约束288
12.7ER模型的问题289
12.7.1扇形陷阱289
12.7.2断层陷阱291
本章小结292
思考题293
习题293
第13章增强的实体—联系建模295
13.1特殊化/泛化295
13.1.1超类和子类296
13.1.2超类/子类联系296
13.1.3属性的继承297
13.1.4特殊化过程297
13.1.5泛化过程298
13.1.6特殊化/泛化的约束300
13.1.7基于DreamHome案例研究的Branch视图特殊化/泛化建模示例301
13.2聚合304
13.3组合305
本章小结306
思考题306
习题307
扩展阅读308
第14章规范化309
14.1规范化的目的310
14.2规范化对数据库设计的支持310
14.3数据冗余与更新异常311
14.3.1插入异常312
14.3.2删除异常312
14.3.3修改异常312
14.4函数依赖313
14.4.1函数依赖的特征313
14.4.2识别函数依赖316
14.4.3利用函数依赖确定主关键字318
14.5规范化过程318
14.6第一范式(1NF)320
14.7第二范式(2NF)323
14.8第三范式(3NF)325
14.92NF和3NF的一般化定义326
本章小结327
思考题328
习题328
第15章进一步规范化332
15.1函数依赖的进一步讨论333
15.1.1函数依赖的推导规则333
15.1.2最小函数依赖集334
15.2Boyce—Codd范式(BCNF)335
15.3规范化到BCNF的过程小结337
15.4第四范式(4NF)342
15.4.1多值依赖342
15.4.2第四范式的定义343
15.5第五范式(5NF)343
15.5.1无损连接依赖343
15.5.2第五范式的定义344
本章小结345
思考题345
习题346
扩展阅读346
第四部分方法学
第16章方法学—概念数据库设计348
16.1数据库设计方法学简介349
16.1.1什么是设计方法学349
16.1.2概念、逻辑和物理数据库设计349
16.1.3成功设计数据库的关键因素349
16.2数据库设计方法学概述350
16.3概念数据库设计方法学352
步骤1建立概念数据模型352
本章小结363
思考题364
习题364
第17章方法学—关系模型的逻辑数据库设计366
17.1关系模型的逻辑数据库设计方法学366
步骤2建立逻辑数据模型366
本章小结389
思考题390
习题390
扩展阅读392
第18章方法学——关系数据库的物理数据库设计394
18.1逻辑数据库设计与物理数据库设计的比较395
18.2物理数据库设计方法学概述395
18.3关系数据库的物理数据库设计方法学396
步骤3转换逻辑数据模型以适应目标DBMS396
步骤4设计文件组织方法和索引399
步骤5设计用户视图410
步骤6设计安全机制410
本章小结411
思考题411
习题412
第19章方法学——运行时系统的监控与调优413
19.1逆规范化与可控冗余的引入413
步骤7考虑引入可控冗余413
19.2监控系统以提高性能423
步骤8监控系统和系统调优423
本章小结426
思考题427
习题427
扩展阅读427
第五部分可选的数据库专题
第20章安全与管理430
20.1数据库安全430
20.2对策—基于计算机的控制433
20.2.1授权434
20.2.2访问控制435
20.2.3视图437
20.2.4备份和恢复437
20.2.5完整性438
20.2.6加密438
20.2.7RAID(独立磁盘冗余阵列)439
20.3Microsoft Office AccessDBMS的安全机制441
20.4OracleDBMS的安全机制443
20.5DBMS与Web安全445
20.5.1代理服务器446
20.5.2防火墙446
20.5.3报文摘要算法和数字签名447
20.5.4数字证书447
20.5.5Kerberos448
20.5.6安全套接字层和安全HTTP448
20.5.7安全电子交易和安全交易技术449
20.5.8Java安全449
20.5.9ActiveX安全451
20.6数据管理与数据库管理451
20.6.1数据管理452
20.6.2数据库管理452
20.6.3数据管理与数据库管理的比较453
本章小结453
思考题454
习题455
扩展阅读455
第21章数据管理中的职业、法律与道德问题457
21.1定义IT中的法律与道德问题457
21.1.1定义IT中的道德规范458
21.1.2道德行为与合法行为的差别458
21.1.3IT中的道德行为459
21.2若干法规及其对IT功能的影响460
21.2.1美国证券交易委员会(SEC)推出的规制国家市场体系(NMS)460
21.2.2萨班斯—奥克斯利法案、COBIT和COSO460
21.2.3健康保险流通和责任法案(HIPAA)462
21.2.4欧盟数据保护法令1995463
21.2.5英国数据保护法令(DPA)1998464
21.2.6信息访问法规464
21.2.7国际银行业—巴塞尔Ⅱ协议465
21.3建立守法、道德的数据管理文化466
21.3.1制定本组织内关于法律和道德行为的政策467
21.3.2行业组织和伦理守则467
21.3.3制定DreamHome组织内部关于法律和道德行为的政策469
21.4知识产权470
21.4.1专利470
21.4.2版权471
21.4.3(注册)商标471
21.4.4软件的知识产权问题471
21.4.5数据的知识产权问题472
本章小结473
思考题473
习题474
扩展阅读474
第22章事务管理475
22.1支持事务处理476
22.1.1事务的性质478
22.1.2数据库体系结构478
22.2并发控制479
22.2.1并发控制的必要性479
22.2.2可串行性与可恢复性481
22.2.3加锁方法487
22.2.4死锁492
22.2.5时间戳方法494
22.2.6多版本时间戳排序497
22.2.7乐观技术498
22.2.8数据项的粒度499
22.3数据库恢复501
22.3.1恢复的必要性501
22.3.2事务和恢复502
22.3.3恢复机制504
22.3.4恢复技术506
22.3.5分布式DBMS的恢复508
22.4高级事务模型508
22.4.1嵌套事务模型509
22.4.2Saga510
22.4.3多级事务模型511
22.4.4动态重构512
22.4.5工作流模型513
22.5Oracle中的并发控制与恢复513
22.5.1Oracle的隔离级别514
22.5.2多版本读一致性514
22.5.3死锁检测516
22.5.4备份和恢复516
本章小结518
思考题519
习题519
扩展阅读521
第23章查询处理522
23.1查询处理概述523
23.2查询解析525
23.3查询优化的启发式方法528
23.3.1关系代数运算的转换规则529
23.3.2启发式处理策略532
23.4关系代数运算的代价估算533
23.4.1数据库的统计信息534
23.4.2选择运算534
23.4.3连接运算540
23.4.4投影运算546
23.4.5关系代数的集合运算547
23.5其他可选的执行策略548
23.5.1流水线549
23.5.2线性树549
23.5.3物理算子和执行策略550
23.5.4缩小搜索空间551
23.5.5枚举左深树551
23.5.6语义查询优化553
23.5.7其他查询优化方法553
23.5.8分布式查询优化554
23.6查询处理与优化554
23.7Oracle的查询优化558
23.7.1基于规则和基于代价的优化558
23.7.2柱状图560
23.7.3查看执行计划562
本章小结563
思考题564
习题564
扩展阅读566
附录
附录ADreamHome案例研究的用户需求说明568
附录B其他案例研究572
附录C可选的ER建模表示法581
附录D关系数据库设计方法学总结584
附录E轻量级RDBMS:Pyrrho简介588
在线资源
附录F文件组织和索引
附录G何时可将DBMS视为关系型
附录H商品化DBMS:Access和Oracle
附录I程序式SQL
附录J估算磁盘空间的需求
附录K面向对象概念介绍
附录LWeb脚本示例
附录M举例查询语言(QBE)
附录N第三代数据库宣言
附录OPostgres—早期的ORDBMS
参考文献
数据库系统 设计、实现与管理(基础篇)(原书第6版) 精彩文摘
4.4.3 视图的更新
对某个基本关系的所有更新应该立即反映到涉及这个基本关系的视图中。同样,如果一个视图被更新,那么它涉及的底层基本关系也应该反映出这种变化。但通过视图进行更新存在一些约束。下面给出大多数系统允许通过视图进行更新操作的条件:
如果视图由一个基本关系的简单查询生成,而且它还包含了基本关系中的主关键字或是候选关键字,则可以通过这个视图进行更新操作。
不允许对涉及多个基本关系的视图进行更新。
如果视图的生成中涉及聚集或是分组操作,则不允许通过这个视图进行更新。
可以根据理论上不可更新、理论上可更新和部分可更新来对视图进行分类。Furtado与Casanova在1985年写了一篇关于关系视图更新的综述文章。
本章小结
在目前使用的数据处理软件中,关系数据库管理系统(RDBMS)占据了统治地位,估计每年大约有60亿到100亿美元的新销售许可(如果包括配套工具的销售,每年则有250亿美元)。这类软件基于E.F.Codd所提出的关系数据模型,代表了第二代数据库管理系统(DBMS)。
数学中定义的关系是两个或两个以上集合的笛卡儿乘积的子集。在数据库术语中,关系是属性域的笛卡儿乘积的子集。关系通常被写成n元组的集合,n元组中的每个元素都取值于适当的域。
关系在形式上表现成一个表,表中的每一行对应一个……的元组,每一列对应一个属性。
关系的结构、域说明以及所有约束,统称为关系的内涵(intension),列出所有元组的关系表示一个关系实例或称数据库外延。
数据库关系的性质:每个单元格都确切包含一个原子值,属性名互不相同,同一属性的所有值都取自同一域,属性的顺序并不重要,元组的顺序也无关紧要,不存在重复元组。
关系的维是指其属性的个数,而基数则是指它所包含元组的个数。一元关系只有一个属性,二元关系有两个属性,三元关系有三个属性,n元关系有n个属性。
超关键字是一个属性或者属性集合,它能够……地标识出关系中的每个元组,候选关键字是最小的超关键字。主关键字是选出作为各元组标识的某个候选关键字。一个关系通常都必须有一个主关键字。外部关键字是一个关系中与另一个关系的候选关键字匹配的属性或属性集合。
空代表对一个元组当前取值还不知道或是不可用的属性值。
实体完整性是一种约束,它规定在基本关系中,构成主关键字的属性的值不能为空。引用完整性规定,一个外部关键字的值或者与主关系的某个元组的候选关键字的值相同,或者为空。除了关系完整性,完整性约束还包括要求必须有值、域和多样性约束,其他完整性约束称为一般性约束。
关系模型中的视图是指一个虚关系或称导出关系,它是根据需求由底层基本关系动态导出的。视图提供了一定的安全性,并且允许设计者自定义用户模式。不是所有的视图都可更新。
本文来自少年我念你投稿,不代表电子书资源网立场,如若转载,请联系原作者获取。