经典原版书库:数据库系统概念(英文精编版·第6版)
定 价:69 元
丛书名:经典原版书库
- 作者:(美),西尔伯沙茨 ,(Abraham Silberschatz),(美),(Henry F.Korht),(美),(S.Sudarshan) 著 杨冬青 编
- 出版时间:2013/1/1
- ISBN:9787111400868
- 出 版 社:机械工业出版社
- 中图法分类:TP311.13
- 页码:750
- 纸张:胶版纸
- 版次:1
- 开本:32开
《经典原版书库:数据库系统概念(英文精编版·第6版)》内容由浅入深,既包含数据库系统基本概念,又反映数据库技术新进展。它被国际上许多著名大学所采用,包括斯坦福大学、耶鲁大学、得克萨斯大学、康奈尔大学、伊利诺伊大学等。我国也有多所大学采用《经典原版书库:数据库系统概念(英文精编版·第6版)》作为本科生和研究生数据库课程的教材和主要教学参考书,收到了良好的效果。《经典原版书库:数据库系统概念(英文精编版·第6版)》基于该书第6版进行改编,保留其中的基本内容,压缩或删除了一些高级内容,更加适合作为国内高校计算机及相关专业本科生数据库课程教材。
数据库系统是对数据进行存储、管理、处理和维护的软件系统,是现代计算环境中的一个核心成分。随着计算机硬件、软件技术的飞速发展和计算机系统在各行各业的广泛应用,数据库技术的发展尤其迅速,引人注目。有关数据库系统的理论和技术是计算机科学技术教育中必不可少的部分。《数据库系统概念》是一本经典的、备受赞扬的数据库系统教科书,其内容由浅入深,既包含数据库系统的基本概念,又反映数据库技术新进展。本书被国际上许多著名大学采用,并多次再版。
我们先后将本书的第3版、第4版、第5版和第6版译成中文,由机械工业出版社分别于2000年、2003年、2006年和2012年出版发行。国内许多大学采用《数据库系统概念》作为本科生和研究生数据库课程的教材或主要教学参考书,收到了良好的效果。
我们基于《数据库系统概念》第5版进行了改编,保留其中的基本内容,压缩或删除了一些高级内容,形成了该书的本科教学版,其目的是使它更适合本科生的数据库课程使用。该本科教学版由机械工业出版社于2008年出版发行,被国内许多高校采用作为本科生数据库课程的教材或主要教学参考书。
现在我们又基于《数据库系统概念》第6版进行了改编工作,希望它能够成为一本效果更好、更实用的本科生数据库课程的教材。
……
Abraham Silberchatz,于纽约州立大学石溪分校获得博士学位,现为耶鲁大学计算机科学SidneyJWeinberg教授,计算机科学系主任,曾任贝尔实验室信息科学研究中心副主任。
HenryF.Korth,于普林斯顿大学获得博士学位,现为利哈伊大学计算机科学与工程系Weiseman教授,曾任贝尔实验室数据库原理研究中心主任。他是ACM Fellow和IEEE Fellow,是VLDB10年贡献奖的获得者。
S.Sudarshan,于威斯康星大学麦迪逊分校获得博士学位,现为印度理工学院计算机科学与工程系教授,曾为贝尔实验室数据库研究组技术人员。
Chapter 1 Introduction
1.1 Database-System Applications
1.2 Purpose of Data base Systems
1.3 View of Data
1.4 Database Languages
1.5 Relational Databases
1.6 Database Design
1.7 Data Storage and Querying
1.8 Transaction Management
1.9 Database Architecture
1.10 Data Mining and Information Retrieval
1.11 Specialty Databases
1.12 Database Users and Administrators
1.13 History of Database Systems
1.14 Summary
Review Terms
Practice Exercises
Exercises
Tools
Bibliographical Notes
PART ONE RELATIONAL DATABASES
Chapter 2 Introduction to the Relational Model
2.1 Structure of Relational Databases
2.2 Database Schema
2.3 Keys
2.4 Schema Diagrams
2.5 Relational Query Languages
2.6 Relational Operations
2.7 Summary
Review Terms
Practice Exercises
Exercises
Bibliographical Notes
Chapter3 Introduction to SQL
3.1 Overview of the SQL Query Language
3.2 SQL Data Definition 3.3 Basic Structure of SQL Queries
3.4 Additional Basic Operations
3.5 Set Operations
3.6 Null Values
3.7 Aggregate Functions
3.8 Nested Subqueries
3.9 Modification of the Database
3.10 Summary
Review Terms
Practice Exercises
Exercises
Tools
Bibliographical Notes
Chapter 4 Intermediate SQL
4.1 Join Expressions
4.2 Views
4.3 Transactions
4.4 Integrity Constraints
4.5 SQL Data Types and Schemas
4.6 Authorization
4.7 Summary
Review Terms
Practice Exercises
Exercises
Bibliographical Notes
Chapter 5 Advanced SQL
5.1 Accessing SQL From a Programming Language
5.2 Functions and Procedures
5.3 Triggers
5.4 Recursive Queries
5.5 Advanced Aggregation Features
5.6 OLAP
5.7 Summary
Review Terms
Practice Exercises
Exercises
Tools
Bibliographical Notes
Chapter 6 Formal Relational Query Languages
6.1 The Relational Algebra
6.2 The Tuple Relational Calculus
6.3 The Domain Relational Calculus
6.4 Summary
Review Terms
Practice Exercises
Exercises
Bibliographical Notes
PART TWO DATABASE DESIGN
Chapter 7 Database Design and the E-R Model
7.1 Overview of the Design Process
7.2 The Entity-Relationship Model
7.3 Constraints 269
7.4 Removing Redundant Attributes in Entity Sets
7.5 Entity-Relationship Diagrams
7.6 Reduction to Relational Schemas
7.7 Entity-Relationship Design Issues
7.8 Extended E-R Features
7.9 Alternative Notations for Modeling Data
7.10 0ther Aspects of Database Design
7.11 Summary
Review Terms
Practice Exercises
Exercises
Tools
Bibliographical Notes
Chapter 8 Relational Database Design
8.1 Features of Good Relational Designs
8.2 Atomic Domains and First Normal Form
8.3 Decomposition Using Functional Dependencies
8.4 Functional-Dependency Theory
8.5 Algorithms for Decomposition
8.6 Decomposition Using Multivalued Dependencies
8.7 More Normal Forms
8.8 Database-Design Process
8.9 Modeling Temporal Data
8.10 Summary
Review Terms
Practice Exercises
Exercises
Bibliographical Notes
PART THREE DATA STORAGE , QUERYING, AND TRANSACTION MANAGEMENT
PART FOUR ADVANCED TOPICS
Bibliography
Atomicity: Suppose that, just before the execution of transaction Ti, the values of accounts A and B are $1000 and $2000, respectively. Now suppose that, during the execution of transaction Ti, a failure occurs that prevents Ti from completing its execution successfully. Further, suppose that the failure happened after the write(A) operation but before the write(B) operation. In this case, the values of accounts A and B reflected in the database are $950 and $2000. The system destroyed $50 as a result of this failure. In particular, we note that the sum A + B is no longer preserved.
Thus, because of the failure, the state of the system no longer reflects a real state of the world that the database is supposed to capture. We term such a state an inconsistent state. We must ensure that such inconsistencies are not visible in a database system. Note, however, that the system must at some point be in an inconsistent state. Even if transaction Ti is executed to completion, there exists a point at which the value of account A is $950 and the value of account B is $2000, which is clearly an inconsistent state. This state, however, is eventually replaced by the consistent state where the value of account A is $950, and the value of account B is $2050.Thus, if the transaction never started or was guaranteed to complete, such an inconsistent state would not be visible except during the execution of the transaction. That is the reason for the atomicity requirement: If the atomicity property is present, all actions of the transaction are reflected in the database, or none are.
The basic idea behind ensuring atomicity is this: The database system keeps track (on disk) of the old values of any data on which a transaction performs a write. This information is written to a file called the log. If the transaction does not complete its execution, the database system restores the old values from the log to make it appear as though the transaction never executed. Ensuring atomicity is the responsibility of the database system; specifically, it is handled by a component of the database called the recovery system, which we describe in detail in Section 12.7.
Durability: Once the execution of the transaction completes successfully, and the user who initiated the transaction has been notified that the transfer of funds has taken place, it must be the case that no system failure can result in a loss of data corresponding to this transfer of funds. The durability property guarantees that, once a transaction completes successfully, all the updates that it carried out on the database persist, even if there is a system failure
after the transaction completes execution.
We assume for now that a failure of the computer system may result in loss of data in main memory, but data written to disk are never lost. We can guarantee durability by ensuring that either:
1. The updates carried out by the transaction have been written to disk before the transaction completes.
2. Information about the updates carried out by the transaction is written to disk, and such information is sufficient to enable the database to reconstruct the updates when the database system is restarted after the failure.
……