Computer Science ppt

917 1,467 0
  • Loading ...
    Loading ...
    Loading ...

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Tài liệu liên quan

Thông tin tài liệu

Ngày đăng: 07/03/2014, 08:20

Computer Science Silberschatz−Korth−Sudarshan • Database System Concepts, Fourth Edition For Evaluation Only.ddddddFor Evaluation Only.Copyright (c) by Foxit Software Company, 2004Edited by Foxit PDF EditorFor Evaluation Only.Copyright (c) by Foxit Software Company, 2004Edited by Foxit PDF EditorComputer ScienceVolume 1Silberschatz−Korth−Sudarshan • Database System Concepts, Fourth Edition Front Matter 1Preface 11. Introduction 11Text 11I. Data Models 35Introduction 352. Entity−Relationship Model 363. Relational Model 87II. Relational Databases 140Introduction 1404. SQL 1415. Other Relational Languages 1946. Integrity and Security 2297. Relational−Database Design 260III. Object−Based Databases and XML 307Introduction 3078. Object−Oriented Databases 3089. Object−Relational Databases 33710. XML 363IV. Data Storage and Querying 393Introduction 39311. Storage and File Structure 39412. Indexing and Hashing 44613. Query Processing 49414. Query Optimization 529V. Transaction Management 563Introduction 56315. Transactions 56416. Concurrency Control 59017. Recovery System 637iiiVI. Database System Architecture 679Introduction 67918. Database System Architecture 68019. Distributed Databases 70520. Parallel Databases 750VII. Other Topics 773Introduction 77321. Application Development and Administration 77422. Advanced Querying and Information Retrieval 81023. Advanced Data Types and New Applications 85624. Advanced Transaction Processing 884ivSilberschatz−Korth−Sudarshan: Database System Concepts, Fourth EditionFront Matter Preface1© The McGraw−Hill Companies, 2001PrefaceDatabase management has evolved from a specialized computer application to acentral component of a modern computing environment, and, as a result, knowl-edge about database systems has become an essential part of an education in com-puter science. In this text, we present the fundamental concepts of database manage-ment. These concepts include aspects of database design, database languages, anddatabase-system implementation.This text is intended for a first course in databases at the junior or senior under-graduate, or first-year graduate, level. In addition to basic material for a first course,the text contains advanced material that can be used for course supplements, or asintroductory 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, or Pascal. We present con-cepts as intuitive descriptions, many of which are based on our running example ofa bank enterprise. Important theoretical results are covered, but formal proofs areomitted. The bibliographical notes contain pointers to research papers in which re-sults were first presented and proved, as well as references to material for furtherreading. In place of proofs, figures and examples are used to suggest why a result istrue.The fundamental concepts and algorithms covered in the book are often basedon those used in existing commercial or experimental database systems. Our aim isto present these concepts and algorithms in a general setting that is not tied to oneparticular database system. Details of particular commercial database systems arediscussed in Part 8, “Case Studies.”In this fourth edition of Database System Concepts, we have retained the overall styleof the first three editions, while addressing the evolution of database management.Several new chapters have been added to cover new technologies. Every chapter hasbeen edited, and most have been modified extensively. We shall describe the changesin detail shortly.xvSilberschatz−Korth−Sudarshan: Database System Concepts, Fourth EditionFront Matter Preface2© The McGraw−Hill Companies, 2001xvi PrefaceOrganizationThe text is organized in eight major parts, plus three appendices:• Overview (Chapter 1). Chapter 1 provides a general overview of the natureand purpose of database systems. We explain how the concept of a databasesystem has developed, what the common features of database systems are,what a database system does for the user, and how a database system inter-faces with operating systems. We also introduce an example database applica-tion: a banking enterprise consisting of multiple bank branches. This exampleis used as a running example throughout the book. This chapter is motiva-tional, historical, and explanatory in nature.• Data models (Chapters 2 and 3). Chapter 2 presents the entity-relationshipmodel. This model provides a high-level view of the issues in database design,and of the problems that we encounter in capturing the semantics of realisticapplications within the constraints of a data model. Chapter 3 focuses on therelational data model, covering the relevant relational algebra and relationalcalculus.• Relational databases (Chapters 4 through 7). Chapter 4 focuses on the mostinfluential of the user-oriented relational languages:SQL. Chapter 5 coverstwo other relational languages,QBE and Datalog. These two chapters describedata manipulation: queries, updates, insertions, and deletions. Algorithmsand design issues are deferred to later chapters. Thus, these chapters are suit-able for introductory courses or those individuals who want to learn the basicsof database systems, without getting into the details of the internal algorithmsand structure.Chapter 6 presents constraints from the standpoint of database integrityand security; Chapter 7 shows how constraints can be used in the design ofa relational database. Referential integrity; mechanisms for integrity mainte-nance, such as triggers and assertions; and authorization mechanisms are pre-sented in Chapter 6. The theme of this chapter is the protection of the databasefrom accidental and intentional damage.Chapter 7 introduces the theory of relational database design. The theoryof functional dependencies and normalization is covered, with emphasis onthe motivation and intuitive understanding of each normal form. The overallprocess of database design is also described in detail.• Object-based databases andXML (Chapters 8 through 10). Chapter 8 coversobject-oriented databases. It introduces the concepts of object-oriented pro-gramming, and shows how these concepts form the basis for a data model.No prior knowledge of object-oriented languages is assumed. Chapter 9 cov-ers object-relational databases, and shows how theSQL:1999 standard extendsthe relational data model to include object-oriented features, such as inheri-tance, complex types, and object identity.Silberschatz−Korth−Sudarshan: Database System Concepts, Fourth EditionFront Matter Preface3© The McGraw−Hill Companies, 2001Preface xviiChapter 10 covers the XML standard for data representation, which is see-ing increasing use in data communication and in the storage of complex datatypes. The chapter also describes query languages forXML.• Data storage and querying (Chapters 11 through 14). Chapter 11 deals withdisk, file, and file-system structure, and with the mapping of relational andobject data to a file system. A variety of data-access techniques are presentedin Chapter 12, including hashing, B+-tree indices, and grid file indices. Chap-ters 13 and 14 address query-evaluation algorithms, and query optimizationbased on equivalence-preserving query transformations.These chapters provide an understanding of the internals of the storage andretrieval components of a database.• Transaction management (Chapters 15 through 17). Chapter 15 focuses onthe fundamentals of a transaction-processing system, including transactionatomicity, consistency, isolation, and durability, as well as the notion of serial-izability.Chapter 16 focuses on concurrency control and presents several techniquesfor ensuring serializability, including locking, timestamping, and optimistic(validation) techniques. The chapter also covers deadlock issues. Chapter 17covers the primary techniques for ensuring correct transaction execution de-spite system crashes and disk failures. These techniques include logs, shadowpages, checkpoints, and database dumps.• Database system architecture (Chapters 18 through 20). Chapter 18 coverscomputer-system architecture, and describes the influence of the underlyingcomputer system on the database system. We discuss centralized systems,client–server systems, parallel and distributed architectures, and networktypes in this chapter. Chapter 19 covers distributed database systems, revis-iting the issues of database design, transaction management, and query eval-uation and optimization, in the context of distributed databases. The chap-ter also covers issues of system availability during failures and describes theLDAP directory system.Chapter 20, on parallel databases explores a variety of parallelization tech-niques, includingI/O parallelism, interquery and intraquery parallelism, andinteroperation and intraoperation parallelism. The chapter also describesparallel-system design.• Other topics (Chapters 21 through 24). Chapter 21 covers database appli-cation development and administration. Topics include database interfaces,particularly Web interfaces, performance tuning, performance benchmarks,standardization, and database issues in e-commerce. Chapter 22 covers query-ing techniques, including decision support systems, and information retrieval.Topics covered in the area of decision support include online analytical pro-cessing (OLAP) techniques, SQL:1999 support for OLAP, data mining, and datawarehousing. The chapter also describes information retrieval techniques forSilberschatz−Korth−Sudarshan: Database System Concepts, Fourth EditionFront Matter Preface4© The McGraw−Hill Companies, 2001xviii Prefacequerying textual data, including hyperlink-based techniques used in Websearch engines.Chapter 23 covers advanced data types and new applications, includingtemporal data, spatial and geographic data, multimedia data, and issues in themanagement of mobile and personal databases. Finally, Chapter 24 deals withadvanced transaction processing. We discuss transaction-processing monitors,high-performance transaction systems, real-time transaction systems, andtransactional workflows.• Case studies (Chapters 25 through 27). In this part we present case studies ofthree leading commercial database systems, including Oracle,IBM DB2,andMicrosoftSQL Server. These chapters outline unique features of each of theseproducts, and describe their internal structure. They provide a wealth of in-teresting information about the respective products, and help you see how thevarious implementation techniques described in earlier parts are used in realsystems. They also cover several interesting practical aspects in the design ofreal systems.• Online appendices. Although most new database applications use either therelational model or the object-oriented model, the network and hierarchicaldata models are still in use. For the benefit of readers who wish to learn aboutthese data models, we provide appendices describing the network and hier-archical data models, in Appendices A and B respectively; the appendices areavailable only online (http://www.bell-labs.com/topic/books/db-book).Appendix C describes advanced relational database design, including thetheory of multivalued dependencies, join dependencies, and the project-joinand domain-key normal forms. This appendix is for the benefit of individualswho wish to cover the theory of relational database design in more detail, andinstructors who wish to do so in their courses. This appendix, too, is availableonly online, on the Web page of the book.The Fourth EditionThe production of this fourth edition has been guided by the many comments andsuggestions we received concerning the earlier editions, by our own observationswhile teaching atIIT Bombay, and by our analysis of the directions in which databasetechnology is evolving.Our basic procedure was to rewrite the material in each chapter, bringing the oldermaterial up to date, adding discussions on recent developments in database technol-ogy, and improving descriptions of topics that students found difficult to understand.Each chapter now has a list of review terms, which can help you review key topicscovered in the chapter. We have also added a tools section at the end of most chap-ters, which provide information on software tools related to the topic of the chapter.We have also added new exercises, and updated references.We have added a new chapter coveringXML, and three case study chapters cov-ering the leading commercial database systems, including Oracle,IBM DB2,andMi-crosoftSQL Server.Silberschatz−Korth−Sudarshan: Database System Concepts, Fourth EditionFront Matter Preface5© The McGraw−Hill Companies, 2001Preface xixWe have organized the chapters into several parts, and reorganized the contentsof several chapters. For the benefit of those readers familiar with the third edition,we explain the main changes here:• Entity-relationship model. We have improved our coverage of the entity-relationship (E-R) model. More examples have been added, and some changed,to give better intuition to the reader. A summary of alternativeE-R notationshas been added, along with a new section onUML.• Relational databases.OurcoverageofSQL in Chapter 4 now references theSQL:1999 standard, which was approved after publication of the third edition.SQL coverage has been significantly expanded to include the with clause, ex-panded coverage of embeddedSQL,andcoverageofODBC and JDBC whoseusage has increased greatly in the past few years. Coverage of Quel has beendropped from Chapter 5, since it is no longer in wide use. Coverage ofQBEhas been revised to remove some ambiguities and to add coverage of the QBEversion used in the Microsoft Access database.Chapter 6 now covers integrity constraints and security. Coverage of se-curity has been moved to Chapter 6 from its third-edition position of Chap-ter 19. Chapter 6 also covers triggers. Chapter 7 covers relational-databasedesign and normal forms. Discussion of functional dependencies has beenmoved into Chapter 7 from its third-edition position of Chapter 6. Chapter7 has been significantly rewritten, providing several short-cut algorithms fordealing with functional dependencies and extended coverage of the overalldatabase design process. Axioms for multivalued dependency inference,PJNFand DKNF, have been moved into an appendix.• Object-based databases. Coverage of object orientation in Chapter 8 has beenimproved, and the discussion ofODMG updated. Object-relational coverage inChapter 9 has been updated, and in particular theSQL:1999 standard replacesthe extendedSQL used in the third edition.• XML. Chapter 10, coveringXML, is a new chapter in the fourth edition.• Storage, indexing, and query processing. Coverage of storage and file struc-tures, in Chapter 11, has been updated; this chapter was Chapter 10 in thethird edition. Many characteristics of disk drives and other storage mecha-nisms have changed greatly in the past few years, and our coverage has beencorrespondingly updated. Coverage of RAID has been updated to reflect tech-nology trends. Coverage of data dictionaries (catalogs) has been extended.Chapter 12, on indexing, now includes coverage of bitmap indices; thischapter was Chapter 11 in the third edition. The B+-tree insertion algorithmhas been simplified, and pseudocode has been provided for search. Parti-tioned hashing has been dropped, since it is not in significant use.Our treatment of query processing has been reorganized, with the earlierchapter (Chapter 12 in the third edition) split into two chapters, one on queryprocessing (Chapter 13) and another on query optimization (Chapter 14). Alldetails regarding cost estimation and query optimization have been moved[...]... large applications, and for applications that run on the World Wide Web 1.10 History of Database Systems Data processing drives the growth of computers, as it has from the earliest days of commercial computers In fact, automation of data processing tasks predates computers Punched cards, invented by Hollerith, were used at the very beginning of the twentieth century to record U.S census data, and mechanical... credit card statements, or through agents such as bank tellers and airline reservation agents Then automated teller machines came along and let users interact directly with databases Phone interfaces to computers (interactive voice response systems) also allowed users to deal directly with databases— a caller could dial a number, and press phone keys to enter information or to select alternative options,... File Systems 3 1.2 Database Systems versus File Systems Consider part of a savings-bank enterprise that keeps information about all customers and savings accounts One way to keep the information on a computer is to store it in operating system files To allow users to manipulate the information, the system has a number of application programs that manipulate the files, including • A program to debit or... However, when new constraints are added, it is difficult to change the programs to enforce them The problem is compounded when constraints involve several data items from different files • Atomicity problems A computer system, like any other mechanical or electrical device, is subject to failure In many applications, it is crucial that, if a failure occurs, the data be restored to the consistent state that existed... system to be usable, it must retrieve data efficiently The need for efficiency has led designers to use complex data structures to represent data in the database Since many database-systems users are not computer trained, developers hide the complexity from users through several levels of abstraction, to simplify users’ interactions with the system: • Physical level The lowest level of abstraction describes... types is defined as well Programmers using a programming language work at this level of abstraction Similarly, database administrators usually work at this level of abstraction Finally, at the view level, computer users see a set of application programs that hide details of the data types Similarly, at the view level, several views of the database are defined, and database users see these views In addition... interface for naive users is a forms interface, where the user can fill in appropriate fields of the form Naive users may also simply read reports generated from the database • Application programmers are computer professionals who write application programs Application programmers can choose from many tools to develop user interfaces Rapid application development (RAD) tools are tools that enable an application... mining in Chapter 22 • Specialized users are sophisticated users who write specialized database applications that do not fit into the traditional data-processing framework Among these applications are computer- aided design systems, knowledge- Silberschatz−Korth−Sudarshan: Database System Concepts, Fourth Edition 1 Introduction 25 © The McGraw−Hill Companies, 2001 Text 1.7 Transaction Management 15 base... responsibility of the concurrency-control manager to control the interaction among the concurrent transactions, to ensure the consistency of the database Database systems designed for use on small personal computers may not have all these features For example, many small systems allow only one user to access the database at a time Others do not offer backup and recovery, leaving that to the user These restrictions... Fourth Edition 1 Introduction 27 © The McGraw−Hill Companies, 2001 Text 1.8 Database System Structure 17 (1 billion bytes), and a terabyte is 1 million megabytes (1 trillion bytes) Since the main memory of computers cannot store this much information, the information is stored on disks Data are moved between disk storage and main memory as needed Since the movement of data to and from disk is slow relative . Computer Science Silberschatz−Korth−Sudarshan. Only.Copyright (c) by Foxit Software Company, 2004Edited by Foxit PDF Editor Computer Science Volume 1Silberschatz−Korth−Sudarshan • Database System Concepts,
- Xem thêm -

Xem thêm: Computer Science ppt, Computer Science ppt, Computer Science ppt, III. Object-Based Databases and XML, IV. Data Storage and Querying