本书介绍了数据库的基本概念,包括数据库设计、语言和系统实现。所有概念都通过直接描述来介绍,有清晰的、组织结构良好的图形和一些取代形式化证明的示例。书中通过一个生动的商业银行案例将核心的概念代入实际情境。本书修订和新增内容包括:实体关系模型及UML表示;结构查询语言;实例查询语言包括微软的Access QBE实现;规范化;面向对象和对象关系模型;新增的XML章节;查询处理;数据库管理;应用开发问题,包括通过Web访问数据库;数据仓库、OLAP和数据挖掘;信息检索内容的更新和扩展。新增附录还介绍了商用数据库系统的内核设计。
Preface xv\r\n\r\nChapter 1 Introduction\r\n\r\n1.1 Database System Applications \r\n1.2 Database Systems versus File Systems \r\n1.3 View of Data \r\n1.4 Data Models \r\n1.5 Database Languages \r\n1.6 Database Users and Administrators \r\n1.7 Transaction Management \r\n1.8 Database System Structure \r\n1.9 Application Architectures \r\n1.10 History of Database Systems \r\n1.11 Summary \r\nExercises \r\nBibliographical Notes \r\n\r\nPART 1 DATA MODELS\r\n\r\nChapter 2 Entity-Relationship Model\r\n\r\n2.1 Basic Concepts \r\n2.2 Constraints \r\n2.3 Keys \r\n2.4 Design Issues \r\n2.5 Entity-Relationship Diagram \r\n2.6 Weak Entity Sets \r\n2.7 Extended E-R Features \r\n2.8 Design of an E-R Database Schema \r\n2.9 Reduction of an E-R Schema to Tables \r\n2.10 The Unified Modeling Language UML \r\n2.11 Summary \r\nExercises \r\nBibliographical Notes \r\n\r\nChapter 3 Relational Model\r\n\r\n3.1 Structure of Relational Databases \r\n3.2 The Relational Algebra \r\n3.3 Extended Relational-Algebra Operations \r\n3.4 Modification of the Database \r\n3.5 Views \r\n3.6 The Tuple Relational Calculus \r\n3.7 The Domain Relational Calculus \r\n3.8 Surnmary \r\nExercises \r\nBibliographical Notes \r\n\r\nPART 2 RELATIONAL DATABASES\r\n\r\nChapter 4 SQL\r\n\r\n4.1 Background \r\n4.2 Basic Structure \r\n4.3 Set Operations 1M\r\n4.4 Aggregate Functions \r\n4.5 Null Values \r\n4.6 Nested Subqueries \r\n4.7 Views \r\n4.8 Complex Queries \r\n4.9 Modification of the Database \r\n4.10 Joined Relations \r\n4.11 Data-Definition Language \r\n4.12 Embedded SQL \r\n4.13 Dynamic SQL \r\n4.14 Other SQL Features \r\n4.15 Summary \r\nExercises \r\nBibliographical Notes \r\n\r\nChapter 5 Other Relational Languages\r\n\r\n5.1 Query-by-Example \r\n5.2 Datalog \r\n5.3 User Interfaces and Tools \r\n5.4 Summary \r\nExercises \r\nBibliographical Notes \r\n\r\nChapter 6 Integrity and Security\r\n\r\n6.1 Domain Constraints \r\n6.2 Referential Integrity \r\n6.3 Assertions \r\n6.4 Triggers \r\n6.5 Security and Authorization \r\n6.6 Authorization in SQL \r\n6.7 Encryption and Authentication \r\n6.8 Summary \r\nExercises \r\nBibliographical Notes \r\n\r\nChapter 7 Relational-Database Design\r\n\r\n7.l First Normal Form \r\n7.2 Pitfalls in Relational-Database Design \r\n7.3 Functional Dependencies \r\n7.4 Decomposition \r\n7.5 Desirable Properties of Decomposition \r\n7.6 Boyce--Codd Normal Form \r\n7.7 Third Normal Form \r\n7.8 Fourth Normal Form \r\n7.9 More Normal Forms \r\n7.10 Overall Database Design Process \r\n7.11 Surrunary \r\nExercises \r\nBibliographical Notes \r\n\r\nPART 3 OBJECT-BASED DATABASES AND XML\r\n\r\nChapter 8 Object-Oriented Databases\r\n\r\n8.1 Need for Complex Data Types \r\n8.2 The Object-Oriented Data Model \r\n8.3 Object-Oriented Languages \r\n8.4 Persistent Programming Languages \r\n8.5 Persistent C++ Systems \r\n8.6 Persistent Java Systems \r\n8.7 Summary \r\nExercises \r\nBibliographical Notes \r\n\r\nChapter 9 Object-Relational Databases\r\n\r\n9.1 Nested Relations \r\n9.2 Complex Types \r\n9.3 Inheritance \r\n9.4 Reference Types \r\n9.5 Querying with Complex Types \r\n9.6 Functions and Procedures \r\n9.7 Obect-Oriented versus Object-Relational \r\n9.8 Summary \r\nExercises \r\nBibliographical Notes \r\n\r\nChapter 10 XML\r\n\r\n10.1 Background \r\n10.2 Structure of XML Data \r\n10.3 XML Document Schema \r\n10.4 Querying and Transformation \r\n10.5 The App1ication Program Interface \r\n10.6 Storage of XML Data \r\n10.7 XML Applications \r\n10.8 Summary \r\nExercises \r\nBibliographical Notes \r\n\r\nPART 4 DATA STORAGE AND QUERYING\r\n\r\nChapter 11 Storage and File Structure\r\n\r\n11.1 Overview of Physical Storage Media \r\n11.2 Magnetic Disks \r\n1l.3 RAID \r\n11.4 Tertiary Storage \r\n11.5 Storage Access \r\n11.6 File Organization \r\n11.7 Organization of Records in Files \r\n11.8 Data-Dictionary Storage \r\n1l.9 Storage for Object-Oriented Databases \r\n11.10 Summary \r\nExercises \r\nBibliographical Notes \r\n\r\nChapter 12 Indexing and Hashing\r\n\r\nl2.1 Basic Concepts \r\n12.2 Ordered Indices \r\n12.3 B+-Tree Index Files \r\n12.4 B-Tree Index Files \r\nl2.5 Static Hashing \r\n12.6 Dynamic Hashing\r\n12.7 Comparison of Ordered Indexing and Hashing \r\n12.8 Index Definition in SQL \r\n12.9 Multiple-Key Access \r\n12.10 Summary \r\nExercises \r\nBibliographical Notes \r\n\r\nChapter 13 Query Processing\r\n\r\n13.l Overview \r\n13.2 Measures of Query Cost \r\n13.3 Selection Operation \r\n13.4 Sorting \r\n13.5 Join Operation \r\n13.6 Other Operations \r\n13.7 Evaluation of Expressions \r\n13.8 Summary \r\nExercises \r\nBibliographical Notes \r\n\r\nChapter 14 Query Optimization\r\n\r\nl4.1 Overview \r\n14.2 Estimating Statistics of Expression Results \r\n14.3 Transformation of Relational Expressions \r\n14.4 Choice of Evaluation Plans \r\n14.5 Materialized Views \r\n14.6 Summary \r\nExercises \r\nBibliographical Notes \r\n\r\nPART 5 TRANSACTION MANAGEMENT\r\n\r\nChapter 15 Transactions\r\n\r\n15.1 Transaction Concept \r\n15.2 TransactionState \r\n15.3 Implementation of Atomicity and Durability \r\n15.4 Concurrent Executions \r\n15.5 Serializability \r\n15.6 Recoverability \r\n15.7 Implementation of Isolation \r\n15.8 Transaction Definition in SQL \r\n15.9 Testing for Serializability \r\n15.10 Summary \r\nExercises \r\nBibliographical Notes \r\n\r\nChapter 16 Concurrency Control\r\n\r\n16.1 Lock-Based Protocols \r\n16.2 Timestamp-Based Protocols \r\n16.3 Validation-Based Protocols \r\n16.4 Multiple Granularity \r\n16.5 Multiversion Schemes \r\nl6.6 Deadlock Handling \r\n16.7 Insert and Delete Operations \r\n16.8 Weak Levels of Consistency \r\n16.9 Concurrency in Index Structures \r\n16.10 Summary \r\nExercises \r\nBibliographical Notes \r\n\r\nChapter 17 Recovery System\r\n\r\n17.1 Failure Classification \r\n17.2 Storage Structure \r\n17.3 Recovery and Atomicity \r\n17.4 Log-Based Recovery \r\n17.5 Shadow Paging \r\n17.6 Recovery with Concurrent Transactions \r\n17.7 Buffer Management \r\n17.8 Failure with Loss of Nonvolatile Storage \r\n17.9 Advanced Recovery Techniques \r\n17.10 Remote Backup Systems \r\n17.11 Summary \r\nExercises \r\nBibliographical Notes \r\n\r\nPART 6 DATABASE SYSTEM ARCHITECTURE\r\n\r\nChapter 18 Database System Architectures\r\n\r\n18.1 Centralized and Client--Server Architectures \r\n18.2 Server System Architectures \r\n18.3 Parallel Systems \r\n18.4 Distributed Systems \r\n18.5 NetWorkTypes \r\n18.6 Summary \r\nExercises \r\nBibliographical Notes \r\n\r\nChapter 19 Distributed Databases\r\n\r\nl9.1 Homogeneous and Heterogeneous Databases \r\n19.2 Distributed Data Storage \r\n19.3 Distributed Transactions \r\n19.4 Commit Protocols \r\n19.5 Concurrency Control in Distributed Databases \r\n19.6 Asailability \r\n19.7 Distributed Query Processing \r\n19.8 Heterogeneous Distributed Databases \r\nl9.9 Directory Systems \r\n19.10 Summary \r\nExercises \r\nBibliographical Notes \r\n\r\nChapter 20 Parallel Databases\r\n\r\n20.1 Introduction \r\n20.2 I/O Parallelism \r\n20.3 Interquery Parallelism \r\n20.4 Intraquery Parallelism \r\n20.5 Intraoperation Parallelism \r\n20.6 Interoperation Parallelism \r\n20.7 Design of Parallel Systems \r\n20.8 Summary \r\nExercises \r\nBibliographical Notes \r\n\r\nPART 7 OTHER TOPICS\r\n\r\nChapter 21 Application Development and Administration\r\n\r\n2l.1 Web Interfaces to Databases \r\n21.2 Performance Tuning \r\n21.3 Performance Benchmarks \r\n2l.4 Standardization \r\n2l.5 E-Commerce \r\n21.6 Legacy Systems \r\n2l.7 Summary \r\nExercises \r\nBibliographical Notes \r\n\r\nChapter 22 Advanced Querying and Information Retrieval\r\n\r\n22.1 Decision-Support Systems \r\n22.2 Data Analysis and OLAP \r\n22.3 Data Mining \r\n22.4 Data Warehousing \r\n22.5 Information-Retrieval Systems \r\n22.6 Summary \r\nExercises \r\nBibliographical Notes \r\n\r\nChapter 23 Advanced Data Types and New Applications\r\n\r\n23.1 Motivation \r\n23.2 Time in Databases \r\n23.3 Spatial and Geographic Data \r\n23.4 Multimedia Databases \r\n23.5 Mobility and Personal Databases \r\n23.6 Summary \r\nExercises \r\nBibliographical Notes \r\n\r\nChapter 24 Advanced Transaction Processing\r\n\r\n24.1 Transaction-Processing Monitors \r\n24.2 Transactional Workflows \r\n24.3 Main-Memory Databases \r\n24.4 Real-Time Transaction Systems \r\n24.5 Long-Duration Transactions \r\n24.6 Transaction Management in Multidatabases \r\n24.7 Summary \r\nExercises \r\nBibliographical Notes \r\n\r\nPART 8 CASE STUDIES\r\n\r\nChapter 25 Oracle\r\n\r\n25.1 Database Design and Querying Tools \r\n25.2 SQL Variations and Extensions \r\n25.3 Storage and Indexing \r\n25.4 Query Processing and Optimization \r\n25.5 Concurrency Control and Recovery \r\n25.6 System Architecture \r\n25.7 Replication, Distribution, and External Data \r\n25.8 Database Administration Tools\r\nBibliographical Notes \r\n\r\nChapter 26 IBM DB2 Universal Database\r\n\r\n26.1 Database Design and Querying Tools \r\n26.2 SQL Variations and Extensions \r\n26.3 Storage and Indexing \r\n26.4 Query Processing and Optimization \r\n26.5 Concurrency Control and Recovery \r\n26.6 System Architecture \r\n26.7 Replication, Distribution, and External Data \r\n26.8 Database Administration Tools \r\n26.9 Summary \r\nBibliographical Notes \r\n\r\nChapter 27 Microsoft SQL Server\r\n\r\n27.1 Management, Design, and Querying Tools \r\n27.2 SQL Variations and Extensions \r\n27.3 Storage and Indexing \r\n27.4 Query Processing and Optimization\r\n27.5 Concurrency and Recovery \r\n27.6 System Architecture \r\n27.7 Data Access \r\n27.8 Distribution and Replication \r\n27.9 Full-Text Queries on Relational Data \r\n27.10 Data Warehousing and Analysis Services \r\n27.11 XML and Web Support \r\n27.12 Summary \r\nBibliographical Notes \r\n\r\nPART 9 APPENDICES\r\n\r\nAppendix A Network Model (contents online)\r\n\r\nA.1 Basic Concepts \r\nA.2 Data-Structure Diagrams \r\nA.3 The DBTG CODASYL Model \r\nA.4 DBTG Data-Retrieval Facility \r\nA.5 DBTG Update Facility \r\nA.6 DBTG Set-Processing Facility \r\nA.7 Mapping of NetWorks to Files \r\nA.8 Summary \r\nExercises \r\nBibliographical Notes \r\n\r\nAppendix B Hierarchical Model (contents online)\r\n\r\nB.1 Basic Concepts \r\nB.2 Tree-Structure Diagrams \r\nB.3 Data-Retrieval Facility \r\nB.4 Update Facility \r\nB.5 Virtual Records \r\nB.6 Mapping of Hierarchies to Files \r\nB.7 The IMS Database System \r\nB.8 Summary \r\nExercises \r\nBibliographical Notes \r\n\r\nAppendix C Advanced Relational Design (contents online)\r\n\r\nC.1 Multivalued Dependencies\r\nC.2 Join Dependencies \r\nC.3 Domain-Key Normal Form \r\nC.4 Summary \r\nExercises \r\nBibliographical Notes \r\n\r\nBibliography \r\nIndex
20世纪末, 以计算机和通信技术为代表的信息科学和技术对世界经济. 科技. 军事. 教育和文化等产生了深刻影响. 信息科学技术的迅速普及和应用, 带动了世界范围信息产业的蓬勃发展, 为许多国家带来了丰厚的回报.
进入2l世纪, 尤其随着我国加入WTO, 信息产业的国际竞争将更加激烈. 我国信息产业虽然在20世纪末取得了迅猛发展, 但与发达国家相比, 甚至与印度. 爱尔兰等国家相比, 还有很大差距. 国家信息化约发展速度和信息产业的国际竞争能力, 最终都将取决于信息科学技术人才的质量和数量. 引进国外信息科学和技术优秀教材, 在有条件的学校推动开展英语授课或双语教学. 是教育部为加快培养大批高质量的信息技术人才采取的一项重要举措.
为此, 教育部要求由高等教育出版社首先开展信息科学和技术教材的引进试点工作. 同时提出了两点要, 一是要高水平, 二是要低价格. 在高等教育出版社和信息科学技术引进教材专家组的努力下, 经过比较短的间, 第一批引进的20多种教材已经陆续出版. 这套教材出版后受到了广泛的好评, 其中有不少是世界信息科学技术领域著名专家. 教授的经典之作和反映信息科学技术最新进展的优秀作品, 代表了目前世界信息科学技术育的一流水平, 而且价格也是最优惠的, 与国内同类自编教材相当.
这项教材引进工作是在教育部高等教育司和高教社的共同组织下, 由国内信息科学技术领域的专家. 教授广泛参与, 在对大量国外教材进行多次遴选的基础上, 参考了国内和国外著名大学相关专业的课程设置进行系统引进的. 其中, JohnWiley公司出版的贝尔实验室信息科学研究中心副总裁Silberschatz教授的经典著作《操作系统概念》, 是我们经过反复谈判, 做了很多努力才得以引进的. William Stallings先生曾编写了在美国深受欢迎的信息科学技术系列教材, 其中有多种教材获得过美国教材和学术著作者协会颁发的计算机科学与工程教材奖, 这批引进教材中就有他的两本著作. 留美中国学者Jiawei Han先生的《数据挖掘》是该领域中具有里程碑意义的著作. 由达特茅斯学院Thomas Cormen和麻省理工学院. 哥伦比亚大学的几位学者共同编著的经典著作《算法导论》, 在经历了11年的锤炼之后于2001年出版了第二版. 目前任教于美国Massachusetts大学的James Kurose教授, 曾在美国三所高校先后10次获得杰出教师或杰出教学奖, 由他主编的《计算机网络》出版后, 以其体系新颖. 内容先进而倍受欢迎. 在努力降低引进教材售价方面, 高等教育出版社做了大量和细致的工作. 这套引进的教材体现了权威性. 系统性. 先进性和经济性等特点.
教育部也希望国内和国外的出版商积极参与此项工作, 共同促进中国信息技术教育和信息产业的发展. 我们在与外商的谈判工作中, 不仅要坚定不移地引进国外最优秀的教材, 而且还要千方百计地将版权转让费降下来, 要让引进教材的价格与国内自编教材相当, 让广大教师和学生负担得起. 中国的教育市场巨大, 外国出版公司和国内出版社要通过扩大发行数量取得效益.
在引进教材的同时, 我们还应做好消化吸收, 注意学习国外先进的教学思想教学方法, 提高自编教材的水平, 使我们的教学和教材在内容体系上, 在理论与实践的结合上, 在培养学生的动手能力上能有较大的突破和创新.
目前, 教育部正在全国35所高校推动示范性软件学院的建设和实施, 这也是加快培养信息科学技术人才的重要举措之一. 示范性软件学院要立足于培养具有国际竞争力的实用性软件人才, 与国外知名高校或著名企业合作办学, 以国内外著名IT企业为实践教学基地, 聘请国内外知名教授和软件专家授课, 还要率先使用引进教材开展教学.
我们希望通过这些举措, 能在较短的时间, 为我国培养一大批高质量的信息技术人才, 提高我国软件人才的国际竞争力, 促进我国信息产业的快速发展, 加快推动国家信息化进程, 进而带动整个国民经济的跨越式发展.