基本信息

内容简介
作译者
(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查询的测试和分级、通过重写命令式代码来优化数据库应用程序,以及并行数据库的查询优化。
目录
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
前言
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.
媒体评论
夯实数据库理论基础,修炼数据库技术内功的必备之选
对深入理解数据库,深入研究数据库,深入操作数据库都具有极强的指导作用!
《数据库系统概念》是数据库系统方面的经典教材之一,其内容由浅入深,既包含数据库系统基本概念,又反映数据库技术新进展。它被国际上许多著名大学所采用,包括斯坦福大学、耶鲁大学、得克萨斯大学、康奈尔大学、伊利诺伊大学等。我国也有多所大学采用本书作为本科生和研究生数据库课程的教材和主要教学参考书,收到了良好的效果。本书基于该书第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查询的测试和分级、通过重写命令式代码来优化数据库应用程序,以及并行数据库的查询优化。