数据库系统概念(英文精编版·原书第7版)
作者 : [美] 亚伯拉罕·西尔伯沙茨 (Abraham Silberschatz) [美] 亨利·F. 科思 (Henry F. Korth) [印] S. 苏达尔尚(S. Sudarshan) 著
丛书名 : 经典原版书库
出版日期 : 2021-10-15
ISBN : 978-7-111-69221-8
适用人群 : 高校学校计算机及相关专业本科生
定价 : 139.00元
教辅资源下载
扩展信息
语种 : 英文
页数 : 740
开本 : 16
原书名 : Database System Concepts,Seventh Edition
原出版社: McGraw-Hill
属性分类: 教材
包含CD : 无CD
绝版 :
图书简介

《数据库系统概念》是数据库系统方面的经典教材之一,其内容由浅入深,既包含数据库系统基本概念,又反映数据库技术新进展。本书基于该书第7版进行改编,保留其中的基本内容,压缩或删除了一些高级内容,更加适合作为国内高校计算机及相关专业本科生数据库双语课程教材。

图书特色

图书前言

Database management has evolved from a specialized computer application to a central component of a modern computing environment, and, as a result, knowledge about database systems has become an essential part of an education in computer science.
This book is adapted from the seventh edition of Database System Concepts, for a first course in databases at the junior or senior undergraduate level. In this text, we present the fundamental concepts of database management. These concepts include aspects of database design, database languages, and database-system implementation. In addition to basic material for a first course, the text contains advanced material that can be used for course supplements, or as introductory material for an advanced course.
We assume only a familiarity with basic data structures, computer organization, and a high-level programming language such as Java, C, C++, or Python. We present concepts as intuitive descriptions, many of which are based on our running example of a university. Important theoretical results are covered, but formal proofs are omitted. In place of proofs, figures and examples are used to suggest why a result is true. Formal descriptions and proofs of theoretical results may be found in research papers and advanced texts that are referenced in the bibliographical notes.
The fundamental concepts and algorithms covered in the book are often based on those used in existing commercial or experimental database systems. Our aim is to present these concepts and algorithms in a general setting that is not tied to one particular database system.
In this adapted text of the seventh edition of Database System Concepts, we have retained essential contents of Database System Concepts, condensed or deleted some of the advanced materials. The purpose is to make this book more suitable for a first course in databases at the undergraduate level. Now we describe organization of this book in brief.
Content of This Book
The text is mainly organized in four parts.
Overview (Chapter 1). Chapter 1 provides a general overview of the nature and purpose of database systems. We explain how the concept of a database system has developed, what the common features of database systems are, what a database system does for the user, and how a database system interfaces with operating systems. We also introduce an example database application: a university organization consisting of multiple departments, instructors, students, and courses. This application is used as a running example throughout the book. This chapter is motivational, historical, and explanatory in nature.
Part 1: Relational Languages (Chapters 2 through 6). Chapter 2 introduces the relational model of data, covering basic concepts such as the structure of relational databases, database schemas, keys, schema diagrams, relational query languages, and relational operations. Chapters 3, 4, and 5 focus on the most influential of the user-oriented relational languages: SQL. Chapter 6 covers the formal relational query languages: relational algebra, tuple relational calculus, domain relational calculus, and Expressive Power of Pure Relational Query Languages.
The chapters in this part describe data manipulation: queries, updates, insertions, and deletions, assuming a schema design has been provided. Schema design issues are deferred to Part 2.
Part 2: Database Design and Application Development(Chapters 7 through 9). Chapter 7 provides an overview of the database-design process, with major emphasis on database design using the entity-relationship data model. The entity-relationship data model provides a high-level view of the issues in database design, and of the problems that we encounter in capturing the semantics of realistic applications within the constraints of a data model. UML class-diagram notation is also covered in this chapter.
Chapter 8 introduces relational database design. The theory of functional dependencies and normalization is covered, with emphasis on the motivation and intuitive understanding of each normal form. This chapter begins with an overview of relational design and relies on an intuitive understanding of logical implication of functional dependencies. This allows the concept of normalization to be introduced prior to full coverage of functional-dependency theory, which is presented later in the chapter. Instructors may choose to use only this initial coverage without loss of continuity. Instructors covering the entire chapter will benefit from students having a good understanding of normalization concepts to motivate them to learn some of the challenging concepts of functional-dependency theory. The chapter ends with a section on modeling of temporal data.
Chapter 9 discusses tools and technologies that are used to build interactive web-based and mobile database applications. This chapter includes detailed coverage on both the server side and the client side. Among the topics covered are servlets, JSP, Django, JavaScript, and web services. Also discussed are application architecture, object-relational mapping systems including Hibernate and Django, performance (including caching using memcached and Redis), and the unique challenges in ensuring web-application security.
Part 3: Data Management Implementation (Chapters 10 through 14). Chapter 10 first introduces storage devices and how the properties of those devices influence database physical organization and performance, and then discusses the data-storage structures, including file organization, Data-Dictionary Storage and Database buffer management. Chapter 11 describes several types of indices used in database systems.Chapter 12 describes how queries are processed, presents algorithms for implementing individual operations, and then describes the process of query optimization.
Chapter 13 focuses on the fundamentals of a transaction processing system: atomicity, consistency, isolation, and durability. It provides an overview of the methods used to ensure these properties, including log-based recovery and concurrency control using locking, timestamp-based techniques, and snapshot isolation.
Chapter 14 first focuses on concurrency control and presents several techniques for ensuring serializability, including locking, timestamping, and validation techniques.It also discusses Multiversion concurrency control techniques. Next, it discusses the primary techniques for ensuring correct transaction execution despite system crashes and storage failures. These techniques include logs, checkpoints, and database dumps.
Part 4: Advanced Topics (Chapters 15 through 17). Chapter 15 first provides an overview of large-scale data-analytic applications, with a focus on how those applications place distinct demands on data management compared with the demands of traditional database applications. Next, discusses semi-structured data. Finally, introduces the concepts and methodology of data warehousing and data mining.
Chapter 16 looks at blockchain technology from a database perspective. It describes blockchain data structures and the use of cryptographic hash functions and public-key encryption to ensure the blockchain properties of anonymity, irrefutability, and tamper resistance.
Chapter 17 expands upon the coverage of Chapter 9 with a discussion of performance tuning, benchmarking, testing, and migration from legacy systems, standardization, and distributed directory systems.
We keeps the same as the sixth edition of Database System Concepts, the exercises are divided into two sets: practice exercises and exercises. The solutions for the practice exercises are publicly available on the Web site of the book. Students are encouraged to solve the practice exercises on their own, and later use the solutions on the Web site to check their own solutions. Solutions to the exercises are available only to instructors.
Instructor抯 Note
The book contains both basic and advanced material, which might not be covered in a single semester.
The first 14 chapters are basic materials. For an introductory course, the instructor can choose to teach materials in Chapter 1 to Chapters 14 and introduce some materials in Chapter 15 to Chapter 17.

上架指导

计算机\数据库

封底文字

数据库领域的殿堂级作品
夯实数据库理论基础,修炼数据库技术内功的必备之选
对深入理解数据库,深入研究数据库,深入操作数据库都具有极强的指导作用!

《数据库系统概念》是数据库系统方面的经典教材之一,其内容由浅入深,既包含数据库系统基本概念,又反映数据库技术新进展。它被国际上许多著名大学所采用,包括斯坦福大学、耶鲁大学、得克萨斯大学、康奈尔大学、伊利诺伊大学等。我国也有多所大学采用本书作为本科生和研究生数据库课程的教材和主要教学参考书,收到了良好的效果。本书基于该书第7版进行改编,保留其中的基本内容,压缩或删除了一些高级内容,更加适合作为国内高校计算机及相关专业本科生数据库双语课程教材。
本书特色
内容简练。保留了原书最基本的内容,讲述数据库系统的基本概念;对数据库设计技术以及数据管理实现与应用的高级主题进行了有选择性的介绍。
直观易懂。采用直观的方式描述概念,以结构清晰的图示和示例代替形式化的证明。
实用性强。以大学数据库实例生动地解释重要概念,通俗易懂。
内容新颖。反映了数据库在设计、管理和使用方式等方面的变化及数据库概念方面的发展趋势。

作者简介
亚伯拉罕·西尔伯沙茨(Abraham Silberschatz) 于纽约州立大学石溪分校获得博士学位,现为耶鲁大学计算机科学系Sidney J. Weinberg教授,曾任贝尔实验室信息科学研究中心副主任。他是ACM会士、IEEE 会士以及康涅狄格科学与工程学会的成员,获得了48项专利和24项授权。他还是教科书《操作系统概念》的作者。
亨利·F. 科思(Henry F. Korth) 于普林斯顿大学获得博士学位,现为理海大学计算机科学与工程系教授和计算机科学与商业项目联合主任,曾任贝尔实验室数据库原理研究中心主任、松下科技副总裁、得克萨斯大学奥斯汀分校副教授以及IBM研究中心研究人员。他是ACM会士、IEEE会士以及VLDB会议10年贡献奖的获得者。他的研究涉及数据库系统的方方面面,最近,他的研究致力于解决区块链在企业数据库中的应用问题。
S. 苏达尔尚(S. Sudarshan) 于威斯康星大学获得博士学位,现为印度理工学院孟买校区Subrao M. Nilekani讲席教授,曾为贝尔实验室技术人员。他是ACM会士,发表了100余篇论文并获得15项专利。他目前的研究领域包括SQL查询的测试和分级、通过重写命令式代码来优化数据库应用程序,以及并行数据库的查询优化。

作者简介

[美] 亚伯拉罕·西尔伯沙茨 (Abraham Silberschatz) [美] 亨利·F. 科思 (Henry F. Korth) [印] S. 苏达尔尚(S. Sudarshan) 著:亚伯拉罕·西尔伯沙茨
(Abraham Silberschatz)
于纽约州立大学石溪分校获得博士学位,现为耶鲁大学计算机科学系Sidney J. Weinberg教授,曾任贝尔实验室信息科学研究中心副主任。他是ACM会士、IEEE 会士以及康涅狄格科学与工程学会的成员,获得了48项专利和24项授权。他还是教科书《操作系统概念》的作者。
亨利·F. 科思
(Henry F. Korth)
于普林斯顿大学获得博士学位,现为理海大学计算机科学与工程系教授和计算机科学与商业项目联合主任,曾任贝尔实验室数据库原理研究中心主任、松下科技副总裁、得克萨斯大学奥斯汀分校副教授以及IBM研究中心研究人员。他是ACM会士、IEEE会士以及VLDB会议10年贡献奖的获得者。他的研究涉及数据库系统的方方面面,最近,他的研究致力于解决区块链在企业数据库中的应用问题。
S. 苏达尔尚
(S. Sudarshan)
于威斯康星大学获得博士学位,现为印度理工学院孟买校区Subrao M. Nilekani讲席教授,曾为贝尔实验室技术人员。他是ACM会士,发表了100余篇论文并获得15项专利。他目前的研究领域包括SQL查询的测试和分级、通过重写命令式代码来优化数据库应用程序,以及并行数据库的查询优化。

图书目录

Chapter 1 Introduction 1
1.1 Database-System Applications1
1.2 Purpose of Database Systems5
1.3 View of Data8
1.3.1 Data Models8
1.3.2 Relational Data Model9
1.3.3 Data Abstraction9
1.3.4 Instances and Schemas12
1.4 Database Languages 13
1.4.1 Data-Definition Language 13
1.4.2 The SQL Data-Definition Language 14
1.4.3 Data-Manipulation Language 15
1.4.4 The SQL Data-Manipulation Language 16
1.4.5 Database Access from Application Programs 16
1.5 Database Design 17
1.6 Database Engine 18
1.6.1 Storage Manager 19
1.6.2 The Query Processor 20
1.6.3 Transaction Management 20
1.7 Database and Application Architecture 21
1.8 Database Users and Administrators 23
1.8.1 Database Users and User Interfaces 24
1.8.2 Database Administrator 24
1.9 History of Database Systems 25
1.10 Summary 29
Review Terms 30
Practice Exercises 31
Exercises 32
Tools 33
Further Reading 33
Bibliography 33
PART 1 RELATIONAL LANGUAGES
Chapter 2 Introduction to the Relational Model 37
2.1 Structure of Relational Databases37
2.2 Database Schema41
2.3 Keys43
2.4 Schema Diagrams46
2.5 Relational Query Languages47
2.6 Summary48
Review Terms49
Practice Exercises49
Exercises50
Further Reading51
Bibliography51
Chapter 3 Introduction to SQL 53
3.1 Overview of the SQL Query Language53
3.2 SQL Data Definition54
3.2.1 Basic Types55
3.2.2 Basic Schema Definition 56
3.3 Basic Structure of SQL Queries 59
3.3.1 Queries on a Single Relation 59
3.3.2 Queries on Multiple Relations 62
3.4 Additional Basic Operations 67
3.4.1 The Rename Operation 67
3.4.2 String Operations 70
3.4.3 Attribute Specification in the Select Clause 71
3.4.4 Ordering the Display of Tuples 71
3.4.5 Where-Clause Predicates 72
3.5 Set Operations 73
3.5.1 The Union Operation 74
3.5.2 The Intersect Operation 75
3.5.3 The Except Operation 76
3.6 Null Values 77
3.7 Aggregate Functions 79
3.7.1 Basic Aggregation 79
3.7.2 Aggregation with Grouping 80
3.7.3 The Having Clause 83
3.7.4 Aggregation with Null and Boolean Values 84
3.8 Nested Subqueries 86
3.8.1 Set Membership 86
3.8.2 Set Comparison 87
3.8.3 Test for Empty Relations 89
3.8.4 Test for the Absence of Duplicate Tuples 91
3.8.5 Subqueries in the From Clause 92
3.8.6 The With Clause 93
3.8.7 Scalar Subqueries 94
3.8.8 Scalar Without a From Clause 95
3.9 Modification of the Database 96
3.9.1 Deletion 96
3.9.2 Insertion 98
3.9.3 Updates 99
3.10 Summary 102
Review Terms 103
Practice Exercises 103
Exercises 107
Tools 111
Further Reading 112
Bibliography 112
Chapter 4 Intermediate SQL 113
4.1 Join Expressions113
4.1.1 The Natural Join114
4.1.2 Join Conditions118
4.1.3 Outer Joins119
4.1.4 Join Types and Conditions124
4.2 Views125
4.2.1 View Definition126
4.2.2 Using Views in SQL Queries126
4.2.3 Materialized Views128
4.2.4 Update of a View128
4.3 Transactions131
4.4 Integrity Constraints133
4.4.1 Constraints on a Single Relation134
4.4.2 Not Null Constraint134
4.4.3 Unique Constraint135
4.4.4 The Check Clause135
4.4.5 Referential Integrity137
4.4.6 Assigning Names to Constraints139
4.4.7 Integrity Constraint Violation During a Transaction139
4.4.8 Complex Check Conditions and Assertions 140
4.5 SQL Data Types and Schemas 141
4.5.1 Date and Time Types in SQL 142
4.5.2 Type Conversion and Formatting Functions 143
4.5.3 Default Values 144
4.5.4 Large-Object Types 144
4.5.5 User-Defined Types 146
4.5.6 Generating Unique Key Values 148
4.5.7 Create Table Extensions 150
4.5.8 Schemas, Catalogs, and Environments 150
4.6 Index Definition in SQL 152
4.7 Authorization 153
4.7.1 Granting and Revoking of Privileges 154
4.7.2 Roles 155
4.7.3 Authorization on Views 157
4.7.4 Authorizations on Schema 158
4.7.5 Transfer of Privileges 158
4.7.6 Revoking of Privileges 159
4.7.7 Row-Level Authorization 161
4.8 Summary 161
Review Terms 163
Practice Exercises 164
Exercises 167
Further Reading 168
Bibliography 168
Chapter 5 Advanced SQL 171
5.1 Accessing SQL from a Programming Language171
5.1.1 JDBC172
5.1.2 Database Access from Python181
5.1.3 ODBC182
5.1.4 Embedded SQL185
5.2 Functions and Procedures 186
5.2.1 Declaring and Invoking SQL Functions and Procedures 187
5.2.2 Language Constructs for Procedures and Functions 189
5.2.3 External Language Routines 191
5.3 Triggers 194
5.3.1 Need for Triggers 194
5.3.2 Triggers in SQL 195
5.3.3 When Not to Use Triggers 198
5.4 Recursive Queries 201
5.4.1 Transitive Closure Using Iteration 202
5.4.2 Recursion in SQL 204
5.5 Advanced Aggregation Features 207
5.5.1 Ranking 207
5.5.2 Windowing 211
5.5.3 Pivoting 214
5.5.4 Rollup and Cube 215
5.6 Summary 219
Review Terms 219
Practice Exercises 220
Exercises 223
Tools 225
Further Reading 226
Chapter 6 Formal-Relational Query Languages 227
6.1 The Relational Algebra227
6.1.1 The Select Operation228
6.1.2 The Project Operation228
6.1.3 Composition of Relational Operations229
6.1.4 The Cartesian-Product Operation230
6.1.5 The Join Operation 231
6.1.6 Set Operations 232
6.1.7 The Assignment Operation 234
6.1.8 The Rename Operation 235
6.1.9 Equivalent Queries 237
6.2 The Tuple Relational Calculus 237
6.2.1 Example Queries 237
6.2.2 Formal Definition 241
6.2.3 Safety of Expressions 242
6.3 The Domain Relational Calculus 243
6.3.1 Formal Definition 243
6.3.2 Example Queries 244
6.3.3 Safety of Expressions 245
6.4 Expressive Power of Pure Relational Query Languages 246
6.5 Summary 247
Review Terms 247
Practice Exercises 247
Exercises 250
Further Reading 252
Bibliography 253
PART 2 DATABASE DESIGN AND APPLICATION DEVELOPMENT
Chapter 7 Database Design Using the E-R Model 257
7.1 Overview of the Design Process257
7.1.1 Design Phases257
7.1.2 Design Alternatives259
7.2 The Entity-Relationship Model260
7.2.1 Entity Sets260
7.2.2 Relationship Sets262
7.3 Complex Attributes 265
7.4 Mapping Cardinalities 268
7.5 Primary Key 272
7.5.1 Entity Sets 273
7.5.2 Relationship Sets 273
7.5.3 Weak Entity Sets 275
7.6 Removing Redundant Attributes in Entity Sets 277
7.7 Reducing E-R Diagrams to Relational Schemas 280
7.7.1 Representation of Strong Entity Sets 281
7.7.2 Representation of Strong Entity Sets with Complex Attributes 281
7.7.3 Representation of Weak Entity Sets 283
7.7.4 Representation of Relationship Sets 284
7.7.5 Redundancy of Schemas 285
7.7.6 Combination of Schemas 286
7.8 Extended E-R Features 287
7.8.1 Specialization 287
7.8.2 Generalization 289
7.8.3 Attribute Inheritance 290
7.8.4 Constraints on Specializations 291
7.8.5 Aggregation 292
7.8.6 Reduction to Relation Schemas 293
7.9 Entity-Relationship Design Issues 295
7.9.1 Common Mistakes in E-R Diagrams 296
7.9.2 Use of Entity Sets versus Attributes 297
7.9.3 Use of Entity Sets versus Relationship Sets 298
7.9.4 Binary versus n-ary Relationship Sets 299
7.10 Alternative Notations for Modeling Data 301
7.10.1 Alternative E-R Notations 301
7.10.2 The Unified Modeling Language UML 304
7.11 Other Aspects of Database Design 307
7.11.1 Functional Requirements 307
7.11.2 Data Flow, Workflow 307
7.11.3 Schema Evolution 308
7.12 Summary 308
Review Terms 310
Practice Exercises 310
Exercises 313
Tools 316
Further Reading 316
Bibliography 317
Chapter 8 Relational Database Design 319
8.1 Features of Good Relational Designs 319
8.1.1 Decomposition 321
8.1.2 Lossless Decomposition 323
8.1.3 Normalization Theory 324
8.2 Decomposition Using Functional Dependencies 324
8.2.1 Notational Conventions 325
8.2.2 Keys and Functional Dependencies 325
8.2.3 Lossless Decomposition and Functional Dependencies 328
8.3 Normal Forms 329
8.3.1 Boyce-Codd Normal Form 329
8.3.2 Third Normal Form 333
8.3.3 Comparison of BCNF and 3NF 334
8.3.4 Higher Normal Forms 335
8.4 Functional-Dependency Theory 336
8.4.1 Closure of a Set of Functional Dependencies 336
8.4.2 Closure of Attribute Sets 338
8.4.3 Canonical Cover 340
8.4.4 Dependency Preservation 344
8.5 Algorithms for Decomposition Using Functional Dependencies 346
8.5.1 BCNF Decomposition 346
8.5.2 3NF Decomposition 349
8.5.3 Correctness of the 3NF Algorithm 350
8.6 Decomposition Using Multivalued Dependencies 352
8.6.1 Multivalued Dependencies 353
8.6.2 Fourth Normal Form 355
8.6.3 4NF Decomposition 356
8.7 More Normal Forms 357
8.8 Atomic Domains and First Normal Form 358
8.9 Database-Design Process 359
8.9.1 E-R Model and Normalization 360
8.9.2 Naming of Attributes and Relationships 361
8.9.3 Denormalization for Performance 362
8.9.4 Other Design Issues 362
8.10 Modeling Temporal Data 363
8.11 Summary 367
Review Terms 368
Practice Exercises 369
Exercises 373
Further Reading 376
Bibliography 377
Chapter 9 Application Development 379
9.1 Application Programs and User Interfaces 379
9.2 Web Fundamentals 381
9.2.1 Uniform Resource Locators 381
9.2.2 HyperText Markup Language 382
9.2.3 Web Servers and Sessions 384
9.3 Servlets 387
9.3.1 A Servlet Example 387
9.3.2 Servlet Sessions 389
9.3.3 Servlet Life Cycle 391
9.3.4 Application Servers 392
9.4 Alternative Server-Side Frameworks 392
9.4.1 Server-Side Scripting 392
9.4.2 Web Application Frameworks 394
9.4.3 The Django Framework 395
9.5 Client-Side Code and Web Services 397
9.5.1 JavaScript 397
9.5.2 Web Services 402
9.5.3 Disconnected Operation 403
9.5.4 Mobile Application Platforms 404
9.6 Application Architectures 405
9.6.1 The Business-Logic Layer 407
9.6.2 The Data-Access Layer and Object-Relational Mapping 407
9.7 Application Performance 410
9.7.1 Reducing Overhead by Caching 411
9.7.2 Parallel Processing 413
9.8 Application Security 413
9.8.1 SQL Injection 414
9.8.2 Cross-Site Scripting and Request Forgery 415
9.8.3 Password Leakage 416
9.8.4 Application-Level Authentication 417
9.8.5 Application-Level Authorization 419
9.8.6 Audit Trails 421
9.8.7 Privacy 422
9.9 Encryption and Its Applications 423
9.9.1 Encryption Techniques 423
9.9.2 Encryption Support in Databases 425
9.9.3 Encryption and Authentication 426
9.10 Summary 429
Review Terms 430
Practice Exercises 431
Exercises 432
Project Suggestions 434
Tools 438
Further Reading 438
Bibliography 439
PART 3 DATA MANAGEMENT IMPLEMANTATION
Chapter 10 Storage Management 443
10.1 Overview of Physical Storage Media443
10.2 Storage Interfaces446
10.3 Magnetic Disks447
10.3.1 Physical Characteristics of Disks 447
10.3.2 Performance Measures of Disks 449
10.4 Flash Memory 451
10.5 File Organization 454
10.5.1 Fixed-Length Records 454
10.5.2 Variable-Length Records 457
10.5.3 Storing Large Objects 459
10.6 Organization of Records in Files 460
10.6.1 Heap File Organization 461
10.6.2 Sequential File Organization 463
10.6.3 Multitable Clustering File Organization 465
10.6.4 Partitioning 467
10.7 Data-Dictionary Storage 467
10.8 Database Buffer 470
10.8.1 Buffer Manager 470
10.8.2 Buffer-Replacement Strategies 473
10.8.3 Reordering of Writes and Recovery 475
10.9 Summary 476
Review Terms 477
Practice Exercises 479
Exercises 480
Further Reading 481
Bibliography 482
Chapter 11 Indexing 483
11.1 Basic Concepts483
11.2 Ordered Indices485
11.2.1 Dense and Sparse Indices486
11.2.2 Multilevel Indices488
11.2.3 Index Update490
11.2.4 Secondary Indices492
11.2.5 Indices on Multiple Keys493
11.3 B+-Tree Index Files 494
11.3.1 Structure of a B+-Tree 494
11.3.2 Queries on B+-Trees 497
11.3.3 Updates on B+-Trees 501
11.3.4 Complexity of B+-Tree Updates 507
11.3.5 Nonunique Search Keys 509
11.4 Hash Indices 510
11.5 Multiple-Key Access  513
11.5.1 Using Multiple Single-Key Indices 513
11.5.2 Indices on Multiple Keys 514
11.5.3 Covering Indices 515
11.6 Creation of Indices 516
11.7 Bitmap Indices 517
11.8 Summary 519
Review Terms 520
Practice Exercises 521
Exercises 523
Further Reading 524
Bibliography 524
Chapter 12 Query Processing and Optimization 525
12.1 Overview525
12.2 Measures of Query Cost528
12.3 Execution of Relational Algebra Operations531
12.3.1 Selection Operation531
12.3.2 Sorting537
12.3.3 Join Operation540
12.3.4 Other Operations555
12.4 Evaluation of Expressions560
12.4.1 Materialization560
12.4.2 Pipelining 561
12.4.3 Pipelines for Continuous-Stream Data 564
12.5 Query Optimization 564
12.5.1 Overview 565
12.5.2 Transformation of Relational Expressions 567
12.5.3 Estimating Statistics of Expression Results 578
12.5.4 Choice of Evaluation Plans 587
12.6 Summary 599
Review Terms 602
Practice Exercises 603
Exercises 609
Further Reading 611
Bibliography 611
Chapter 13 Transaction Management 613
13.1 Transaction Concept 613
13.2 A Simple Transaction Model 615
13.3 Storage Structure 618
13.4 Transaction Atomicity and Durability 619
13.5 Transaction Isolation 621
13.6 Serializability 626
13.7 Transaction Isolation and Atomicity 633
13.7.1 Recoverable Schedules 633
13.7.2 Cascadeless Schedules 634
13.8 Transaction Isolation Levels 635
13.9 Implementation of Isolation Levels 637
13.9.1 Locking 637
13.9.2 Timestamps 639
13.9.3 Multiple Versions and Snapshot Isolation 639
13.10 Transactions as SQL Statements 640
13.11 Summary 642
Review Terms 644
Practice Exercises 645
Exercises 646
Further Reading 648
Bibliography 648
Chapter 14 Concurrency Control and Recovery 649
14.1 Lock-Based Protocols649
14.1.1 Locks649
14.1.2 Granting of Locks654
14.1.3 The Two-Phase Locking Protocol 655
14.1.4 Implementation of Locking 658
14.1.5 Graph-Based Protocols 660
14.2 Deadlock Handling 663
14.2.1 Deadlock Prevention 663
14.2.2 Deadlock Detection and Recovery 665
14.3 Multiple Granularity 667
14.4 Insert Operations, Delete Operations, and Predicate Reads 671
14.4.1 Deletion 671
14.4.2 Insertion 672
14.4.3 Predicate Reads and The Phantom Phenomenon 672
14.5 Timestamp-Based Protocols 675
14.5.1 Timestamps 675
14.5.2 The Timestamp-Ordering Protocol 676
14.5.3 Thomas?Write Rule 678
14.6 Validation-Based Protocols 680
14.7 Multiversion Schemes 683
14.7.1 Multiversion Timestamp Ordering 684
14.7.2 Multiversion Two-Phase Locking 685
14.8 Failure Classification 686
14.9 Storage 688
14.9.1 Stable-Storage Implementation 688
14.9.2 Data Access 690
14.10 Recovery and Atomicity 692
14.10.1 Log Records 692
14.10.2 Database Modification 694
14.10.3 Concurrency Control and Recovery 695
14.10.4 Transaction Commit 696
14.10.5 Using the Log to Redo and Undo Transactions 696
14.10.6 Checkpoints 700
14.11 Recovery Algorithm 702
14.11.1 Transaction Rollback 702
14.11.2 Recovery After a System Crash 702
14.11.3 Optimizing Commit Processing 704
14.12 Buffer Management 705
14.12.1 Log-Record Buffering 706
14.12.2 Database Buffering 707
14.12.3 Operating System Role in Buffer Management 709
14.12.4 Fuzzy Checkpointing 710
14.13 Summary 710
Review Terms 714
Practice Exercises 716
Exercises 719
Further Reading 721
Bibliography 721
PART 4 ADVANCED TOPICS
Chapter 15 Big Data Analytics
Chapter 16 Blockchain Databases 
Chapter 17 Advanced Application Development
Appendix A Detailed University Schema

 第四部分和附录A为在线章节,请扫描本书前面衬纸上的二维码,在获取正版官方授权后进行阅读。—编辑注

教学资源推荐
作者: [美]迪卫艾肯特?阿格拉沃尔(Divyakant Agrawal) 苏迪皮托?达斯(Sudipto Das) 阿姆鲁?埃尔?阿巴迪(Amr El Abbadi) 著
作者: (美)Abraham Silberschatz 耶鲁大学 (美)Henry F. Korth利哈伊大学 (印)S. Sudarshan印度理工学院 著
作者: [比利时]维尔弗里德·勒玛肖(Wilfried Lemahieu) 赛普·凡登·布鲁克(Seppe vanden Broucke) 巴特·巴森斯(Bart Baesens) 著
作者: [美]拉姆什·沙尔达(Ramesh Sharda) 杜尔森·德伦(Dursun Delen)埃弗瑞姆·特班(Efraim Turban) 著
参考读物推荐
作者: (美)Hannu Krosing, Jim Mlodgenski, Kirk Roybal 著
作者: 申德荣 寇月 聂铁铮 于戈 等编著
作者: (美)Donald K.Burleson