具体描述
数据库领域的殿堂级作品
夯实数据库理论基础,增强数据库技术内功的必备之选
对深入理解数据库,深入研究数据库,深入操作数据库都具有极强的指导作用!
《数据库系统概念》是数据库系统方面的经典教材之一,其内容由浅入深,既包含数据库系统基本概念,又反映数据库技术新进展。它被国际上许多著名大学所采用,包括斯坦福大学、耶鲁大学、得克萨斯大学、康奈尔大学、伊利诺伊大学等。我国也有多所大学采用本书作为本科生和研究生数据库课程的教材和主要教学参考书,收到了良好的效果。本书基于该书第6版进行改编,保留其中的基本内容,压缩或删除了一些高级内容,更加适合作为国内高校计算机及相关专业本科生数据库课程教材。
本书特点:
●内容简练。保留了原书最基本的内容,讲述数据库系统的基本概念;对数据库系统实现技术以及数据管理与应用的高级主题,进行了有选择性的介绍。
●直观易懂。采用直观的方式描述概念,以结构清晰的图示和示例代替形式化的证明。
●实用性强。以大学数据库实例生动地解释重要概念,通俗易懂。
●内容新颖。反映了数据库在设计、管理和使用方式等方面的变化及数据库概念方面的发展趋势。
作者简介
Abraham Silberchatz 于纽约州立大学石溪分校获得博士学位,现为耶鲁大学计算机科学Sidney J. Weinberg教授,计算机科学系主任,曾任贝尔实验室信息科学研究中心副主任。他是ACM Fellow 和 IEEE Fellow,曾获得IEEE Taylor L.Booth 教育奖、 ACM Karl V.Karlstrom 杰出教育者奖、ACM SIGMOD 贡献奖和IEEE 计算机学会杰出论文奖。他的研究兴趣包括操作系统、数据库系统、存储系统、网络管理和分布式系统。
Henry F. Korth 于普林斯顿大学获得博士学位,现为利哈伊大学计算机科学与工程系Weiseman教授,曾任贝尔实验室数据库原理研究中心主任。他是ACM Fellow 和 IEEE Fellow,是VLDB 10年贡献奖的获得者。他的研究兴趣包括为现代计算架构(多核、多线程、多级缓存)设计的数据库算法、基于Web的大型数据仓储、实时数据库系统和并行系统。
S. Sudarshan 于威斯康星大学麦迪逊分校获得博士学位,现为印度理工学院计算机科学与工程系教授,曾为贝尔实验室数据库研究组技术人员。他的研究兴趣包括查询处理和优化、关系数据和图结构数据的关键字查询,以及构建和测试数据库应用系统的工具。
目录信息
chapter 1 introduction
1.1 database-system applications 1
1.2 purpose of database systems 3
1.3 view of data 6
1.4 database languages 9
1.5 relational databases 12
1.6 database design 15
1.7 data storage and querying 20
1.8 transaction management 22
1.9 database architecture 23
1.10 data mining and information retrieval 27
1.11 specialty databases 28
1.12 database users and administrators 29
1.13 history of database systems 31
1.14 summary 33
review terms 35
practice exercises 35
exercises 36
tools 36
.bibliographical notes 36
part one relational databases
chapter 2 introduction to the relational model
2.1 structure of relational databases 41
2.2 database schema 44
2.3 keys 47
2.4 schema diagrams 48
2.5 relational query languages 49
2.6 relational operations 50
2.7 summary 54
review terms 54
practice exercises 55
exercises 56
bibhographical notes 57
chapter 3 introduction to sql
3.1 overview of the sql query language 59
3.2 sql data definition 60
3.3 basic structure of sql queries 65
3.4 additional basic operations 76
3.5 set operations 81
3.6 null values 85
3.7 aggregate functions 86
3.8 nested subqueries 92
3.9 modification of the database 100
3.10 summary 106
review terms 106
practice exercises 107
exercises 110
tools 113
bibliographical notes 114
chapter 4 intermediate sql
4.1 join expressions 115
4.2 views 122
4.3 transactions 129
4.4 integrity constraints 130
4.5 sql data types and schemas 138
4.6 authorization 145
4.7 summary 152
review terms 153
practice exercises 154
exercises 157
bibliographical notes 158
chapter 5 advanced sql
5.1 accessing sql from a programming language 159
5.2 functions and procedures 175
5.3 triggers 182
5.4 recursive queries** 189
5.5 advanced aggregation features** 194
5.60lap** 199
5.7 summary 211
review terms 212
practice exercises 213
exercises 214
tools 218
bibliographical notes 218
chapter 6 formal relational query languages
6.1 the relational algebra 219
6.2 the tuple relational calculus 241
6.3 the domain relational calculus 247
6.4 summary 250
review terms 251
practice exercises 251
exercises 254
bibliographical notes 256
part two database design
chapter 7 database design and the e-r model
7.1 overview of the design process 259
7.2 the entity-relationship model 262
7.3 constraints 269
7.4 removing redundant attributes in entity sets 272
7.5 entity-relationship diagrams 274
7.6 reduction to relational schemas 283
7.7 entity-relationship design issues 290
7.8 extended e-r features 295
7.9 alternative notations for modeling data 304
7.10 other aspects of database design 310
7.11 summary 313
review terms 315
practice exercises 315
exercises 319
tools 321
bibliographical notes 321
chapter 8 relational database design
8.1 features of good relational designs 323
8.2 atomic domains and first normal form 327
8.3 decomposition using functional dependencies 329
8.4 functional-dependency theory 338
8.5 algorithms for decomposition 348
8.6 decomposition using multivalued dependencies 355
8.7 more normal forms 360
8.8 database-design process 361
8.9 modeling temporal data 364
8.10 summary 367
review terms 368
practice exercises 368
exercises 372
bibliographical notes 374
chapter 9 application design and development
9.1 application programs and user interfaces 375
9.2 web fundamentals 377
9.3 servlets and jsp 383
9.4 application architectures 391
9.5 rapid application development 396
9.6 application performance 400
9.7 application security 402
9.8 encryption and its applications 411
9.9 summary 417
review terms 418
practice exercises 419
exercises 421
project suggestions 422
tools 426
bibliographical notes 426
part three data storage,querying,and transaction management
chapter 10 data storage and data access
10.1 overview of physical storage media 429
10.2 magnetic disk and flash storage 432
10.3 organization of files and records 440
10.4 data-dictionary storage 445
10.5 database buffer 448
10.6 basic concepts of index 451
10.7 ordered indices 452
10.8 b+-tree index files 460
10.9 hash file organization and hash index 474
10.10 index definition in sql 482
10.11 summary 483
review terms 486
practice exercises 487
exercises 488
bibliographical notes 489
chapter 11 query processing and query optimization
11.1 overview 491
11.2 measures of query cost 493
11.3 implementation of relational algebra operation 495
11.4 evaluation of expressions 509
11.5 query optimization 512
11.6 summary 533
review terms 535
practice exercises 536
exercises 537
bibliographical notes 538
chapter 12 transaction management
12.1 transaction concept 541
12.2 transaction atomicity and durability 545
12.3 transaction isolation 548
12.4 serializability 554
12.5 recoverability 557
12.6 concurrency control 559
12.7 recovery system 573
12.8 summary 584
review terms 587
practice exercises 589
exercises 590
bibliographical notes 592
part four advanced topics
chapter 13 data warehousing and mining
13.1 decision-support systems 597
13.2 data warehousing 599
13.3 data mining 603
13.4 summary 610
review terms 611
practice exercises 612
exercises 612
tools 613
bibliographical notes 613
chapter 14 object-based databases
14.1 overview 615
14.2 complex data types 616
14.3 structured types and inheritance in sql 619
14.4 table inheritance 624
14.5 array and multiset types in sql 626
14.6 object-identity and reference types in sql 631
14.7 implementing o-r features 633
14.8 persistent programming languages 634
14.9 object-relational mapping 643
14.10 object-oriented versus object-relational 643
14.11 summary 645
review terms 645
practice exercises 646
exercises 648
tools 650
bibliographical notes 650
chapter 15 xml
15.1 motivation 651
15.2 structure of xml data 656
15.3 xml document schema 660
15.4 querying and transformation 668
15.5 application program interfaces to xml 678
15.6 storage of xml data 679
15.7 xml applications 686
15.8 summary 689
review terms 690
practice exercises 691
exercises 693
tools 694
bibliographical notes 694
chapter 16 advanced application development
16.1 performance tuning 697
16.2 performance benchmarks 713
16.3 other issues in application development 716
16.4 standardization 719
16.5 summary 724
review terms 725
practice exercises 725
exercises 726
bibliographical notes 727
bibliography 729
· · · · · · (收起)
读后感
E文原版书没有看过,但就中译本谈几点看法: 1、书是好书,看译文感觉有些饶舌,在概念的揭示上,该书部分地方显得语言不够精炼; 2、对于专业人士来说,即使已经开发了多个基于数据库的应用系统,这本书仍然值得一读,建议只读喜欢的章节,其中部分章节了解即可,细...
E文原版书没有看过,但就中译本谈几点看法: 1、书是好书,看译文感觉有些饶舌,在概念的揭示上,该书部分地方显得语言不够精炼; 2、对于专业人士来说,即使已经开发了多个基于数据库的应用系统,这本书仍然值得一读,建议只读喜欢的章节,其中部分章节了解即可,细...
我每天读一章。大约每天3小时,在索引,查询处理那两章花了8小时以上,在范式那节重新整理下以前的看法,非常不错的书,翻译的也不错。相比国内的《数据库系统概论》,这书适合自学,并且非常详细,算法伪代码多。 在索引一章,完全可以通过他的算法加例子很好的理解索引的原理...
3年数据库开发经验, 随着系统的增大,越来越觉得设计系统吃力,决定补充一下基础的东西.买了第5版.耐着性子看了前3章,疯狂了.翻译的太差劲了.到处是概念,原理性的东西要一大堆东西证明... 不过在浏览整本书的时候,感觉后面的东西挺实用,为了看后面的东西不要不知所云,还是耐着性...
用户评价
这本书的深度实在令人印象深刻,作者对数据模型和查询语言的阐述简直是教科书级别的典范。读完前几章,我仿佛亲身参与了一场关于关系代数和元组演算的精彩辩论,那些抽象的理论在作者的笔下变得清晰可见,每一个定义、每一个定理的推导都逻辑严密,无可挑剔。尤其是在讲解如何将复杂的业务需求转化为精确的SQL语句时,书中提供的案例分析既贴近实际又极具启发性,让我对“什么是好的数据库设计”有了全新的认识。它不仅仅是告诉你“怎么做”,更深入地挖掘了“为什么这么做”背后的理论根基。对于任何想要从仅仅会写几句`SELECT * FROM table`的水平,迈向真正理解数据库系统底层机制的开发者或者架构师来说,这本书无疑是开启大门的金钥匙。它不是那种囫囵吞枣就能读完的快餐读物,需要投入足够的时间和精力去细细品味那些精妙的数学结构,但投入的每一分钟都是值得的,因为你收获的将是对整个数据管理领域坚实而深刻的理解。
我得说,这本书在处理事务管理和并发控制这部分内容时,展现出了惊人的洞察力。它没有回避那些晦涩难懂的理论,比如两阶段锁定(2PL)的精妙设计,以及更高级别的隔离级别在实际系统中的权衡与取舍。我特别喜欢作者用生动的比喻来解释死锁的预防、检测和恢复机制,这比单纯堆砌公式要有效得多。以前我对并发导致的数据不一致问题总是感到头疼,总觉得像是“黑魔法”,但读完这一章,我才明白这背后是一套严谨的、基于时间戳和日志记录的精妙艺术。作者的叙事风格在这里变得有些像一位经验丰富的现场工程师,他不仅展示了理论模型,还结合了业界常见数据库系统(如Oracle或PostgreSQL的部分实现思想)进行类比,使得那些原本漂浮在空中、难以捉摸的概念,瞬间落到了坚实的地面上,有了可感知的操作细节。这种将理论与实践无缝对接的处理方式,让这本书的实用价值飙升。
这本书的第三部分关于数据存储和查询优化器的讲解,简直是数据库系统的“内功心法”。我一直以为查询优化就是数据库自己瞎猜,直到我看到了书中对代价模型(Cost Model)的详细剖析。作者把查询执行计划的生成过程,描绘成了一场成本最优的路径搜索,每一步——从选择哪个索引,到决定使用哪种连接算法(嵌套循环、哈希连接还是合并连接)——都有明确的数学依据和统计学支撑。书中对B+树结构及其变体的深入剖析也让我茅塞顿开,理解了为什么这种结构能成为磁盘I/O密集型操作下的不二之选。我尤其欣赏作者对“统计信息”重要性的强调,没有准确的统计信息,再牛的优化器也只能瞎指挥。这种自上而下的系统性梳理,让读者对数据库作为一整套复杂系统的运作有了宏观的把握,不再是零散知识点的堆砌。
这本书的写作风格非常古典和严谨,充满了学术的重量感,但绝不枯燥,因为它始终紧密围绕着“如何高效可靠地管理数据”这个核心目标。例如,在谈到数据恢复时,作者对前滚(Rollforward)和回滚(Rollback)的日志记录机制描述得极其细致,仿佛在教你如何为一场突如其来的系统崩溃做好万全准备。它不像很多现代技术书籍那样追求短平快,而是像一位德高望重的宗师,耐心引导你走过每一个技术难点。书中的图表和伪代码清晰得令人赞叹,它们是理解复杂算法逻辑的绝佳辅助工具,每一个流程图都经过了深思熟虑,保证了信息传递的准确性。对于我这种喜欢刨根问底的读者来说,这种深入骨髓的严谨性,远比浮光掠影的介绍要珍贵得多,它给予了阅读者建立知识体系的坚实框架。
如果非要说这本书有什么“个性”的话,那就是它的百科全书式的全面性。它不仅仅关注我们日常使用的关系型系统,还用相当的篇幅介绍了更广阔的数据管理领域,比如对象/关系模型、空间数据、时间序列数据,甚至对新兴的NoSQL范式也进行了必要的理论回顾和定位。这种广度让人感到敬畏,它确保了读者在掌握核心技能的同时,不会对整个技术图景产生盲区。作者巧妙地将这些看似分散的技术点,用数据库系统的基本原理串联起来,展示了底层理论如何支撑起上层应用的多样性。读完后,我不再仅仅把数据库看作一个存储数据的工具,而是将其理解为一个复杂、多层次的计算与管理平台。这种视角上的提升,是我阅读这本书以来最大的收获之一,它成功地拓宽了我对“系统”二字的理解边界。
主要是基礎概念,對於搞清楚什麼是什麼有幫助,對於做dev沒啥幫助。。。
没办法,经典教材必读,不知道中文版译得如何。。。
改编作者自作主张删掉了好多重要内容,太不爽了,还要拿着电子版对着读。长教训了,精编版本的书再也不要买了
主要是基礎概念,對於搞清楚什麼是什麼有幫助,對於做dev沒啥幫助。。。
改编作者自作主张删掉了好多重要内容,太不爽了,还要拿着电子版对着读。长教训了,精编版本的书再也不要买了