MARC details
000 -LEADER |
fixed length control field |
12356cam a2200217 a 4500 |
020 ## - INTERNATIONAL STANDARD BOOK NUMBER |
International Standard Book Number |
1558605800 (pbk.) |
020 ## - INTERNATIONAL STANDARD BOOK NUMBER |
International Standard Book Number |
1558604383 (hard) |
040 ## - CATALOGING SOURCE |
Transcribing agency |
CUS |
082 00 - DEWEY DECIMAL CLASSIFICATION NUMBER |
Classification number |
005.74 |
Item number |
NEI/D |
100 1# - MAIN ENTRY--PERSONAL NAME |
Personal name |
O'Neil, Patrick. |
245 10 - TITLE STATEMENT |
Title |
Database--principles, programming, and performance / |
Statement of responsibility, etc. |
Patrick O'Neil, Elizabeth O'Neil. |
250 ## - EDITION STATEMENT |
Edition statement |
2nd ed. |
260 ## - PUBLICATION, DISTRIBUTION, ETC. (IMPRINT) |
Place of publication, distribution, etc. |
San Francisco : |
Name of publisher, distributor, etc. |
Morgan Kaufmann Publishers, |
Date of publication, distribution, etc. |
c2001. |
300 ## - PHYSICAL DESCRIPTION |
Extent |
xxiv, 870 p. |
Other physical details |
ill. ; |
Dimensions |
23 cm. |
504 ## - BIBLIOGRAPHY, ETC. NOTE |
Bibliography, etc |
Includes bibliographical references and index. |
505 ## - FORMATTED CONTENTS NOTE |
Formatted contents note |
1.1 Fundamental Database Concepts<br/>History of Database Systems<br/>The Relational and Object-Relational Models<br/>The Database Systems Covered<br/>A Relational Database Example<br/>An Object-Relational Database Example<br/>1.2 Database Users<br/>1.3 Overview of Relational and Object-Relational DBMS<br/>Chapter 2: The Relational Model<br/>Chapter 3: Basic SQL Query Language<br/>Chapter 4: The Object-Relational Model<br/>Chapter 5: Programs to Access a Database<br/>Chapter 6: Database Design<br/>Chapter 7: Integrity, Views, Security, and Catalogs<br/>Chapter 8: Indexing<br/>Chapter 9: Query Processing<br/>Chapter 10: Update Transactions<br/>Chapter 11: Parallel and Distributed Databases<br/>1.4 Putting It All Together<br/>The Relational Model<br/>2.1 The CAP Database<br/>2.2 Naming the Parts of a Database<br/>Domains and Datatypes<br/>Tables and Relations<br/>2.3 Relational Rules<br/>2.4 Keys. Superkeys. and Null Values<br/>Null Values<br/>2.5 Relational Algebra<br/>Fundamental Operations of Relational Algebra<br/>2.6 Set-Theoretic Operations<br/>The Union, Intersection, and Difference Operations<br/>Assignment and Alias<br/>The Product Operation<br/>2.7 Native Relational Operations<br/>The Projection Operation<br/>The Selection Operation<br/>Precedence of Relational Operations<br/>The Join Operation<br/>The Division Operation<br/>2.8 The Interdependence of Operations<br/>2.9 Illustrative Examples<br/>2.10 Other Relational Operations<br/>Outer Join<br/>Theta Join<br/>Basic SQL Query Language<br/>3.1 Introduction<br/>SQL Capabilities<br/>SQL History—Standards and Dialects<br/>3.2 Setting Up the Database<br/>Standard Typographical Conventions<br/>A Practical Exercise<br/>3.3 Simple Select Statements<br/>3.4 Subqueries<br/>3.5<br/>The IN Predicate<br/>The Quantified Comparison Predicate<br/>The EXISTS Predicate<br/>A Weakness of SQL: Too Many Equivalent Forms<br/>UNION Operators and FOR ALL Conditions<br/>The UNION Operator<br/>Division: SQL "FOR ALL " Conditions<br/>3.6 Some Advanced SQL Syntax<br/>The INTERSECT and EXCEPT Operators in Advanced SQL<br/>Join Forms in Advanced SQL<br/>OUTER JOIN<br/>Join Forms Implemented in Database Systems<br/>3.7 Set Functions in SQL<br/>Handling Null Values<br/>3.8 Groups of Rows in SQL<br/>3.9 A Complete Description of SQL Select<br/>Identifiers<br/>Expressions, Predicates, and the search_condition<br/>Scalar Subqueries as Expressions: Advanced SQL<br/>SQL versus Advanced SQL: Summary<br/>A Discussion of the Predicates<br/>3.10 Insert, Update, and Delete Statements<br/>The Insert Statement<br/>The Update Statement<br/>The Delete Statement<br/>3.11 The Power of the Select Statement<br/>The Non-Procedural Select Statement<br/>Turing Power<br/>Limited Power of the Basic SQL Select Statement<br/>Object-Relational SQL<br/>4.1 Introduction<br/>ORSQL Capabilities<br/>Form of Presentation for This Chapter<br/>Object-Relational History<br/>4.2 Objects and Tables<br/>4.2.1 Object Types in ORACLE<br/>Definition of the REF Object Reference<br/>4.2.2 INFORMIX Row Types for Objects<br/>Absence of REFs in INFORMIX<br/>Type Inheritance in INFORMIX<br/>4.2.3 Objects and Tables: Summary<br/>Object Orientation<br/>4.3 Collection Types<br/>4.3.1 Collection Tjqses in ORACLE<br/>Table Types and Nested Tables<br/>Two Techniques for Retrieving from a Table of Tables<br/>Unnesting via Table Products<br/>Nested Cursors<br/>Array Types for VARRAYs<br/>SQL Syntax for Collections in ORACLE<br/>Inserts and Updates in ORACLE<br/>4.3.2 Collection Types in INFORMIX<br/>Sets in INFORMIX<br/>Lists in INFORMIX<br/>SQL Syntax for Collections in INFORMIX<br/>Inserts and Updates in INFORMIX<br/>4.3.3 Collection Types: Summary<br/>4.4 Procedural SQL, User-Defined Functions (UDFs), and Methods<br/>4.4.1 ORACLE PL/SQL Procedures. UDFs, and Methods<br/>PL/SQL: ORACLE'S Procedural SQL Language<br/>Using PL/SQL to Implement Methods in ORACLE<br/>Update Methods<br/>4.4.2 INFORMIX User-Defined Functions<br/>SPL: INFORMIX'S Procedural SQL Language<br/>Using SPL to Implement UDFs in INFORMIX<br/>Update Functions<br/>4.4.3 User-Defined Functions: Summary<br/>4.5 External Functions and Packaged User-Defined Types (UDTs)<br/>Binary Data and BLOBs<br/>External Functions<br/>Encapsulation<br/>Distinct Types<br/>BLOB Objects<br/>Packaged UDTs and Other Encapsulated UDTs<br/>Summary<br/>Programs to Access a Database<br/>5.1 Introduction to Embedded SQL in C<br/>A Simple Program Using Embedded SQL<br/>Selecting Multiple Rows with a Cursor<br/>5.2 Condition Handling<br/>Whenever Statement: Scope and Flow of Control<br/>Explicit Error Checking<br/>Handling Errors: Getting Error Messages from the Database<br/>Indicator Variables<br/>5.3 Some Common Embedded SQL Statements<br/>The Select Statement<br/>The Declare Cursor Statement<br/>The Delete Statement<br/>The Update Statement<br/>The Insert Statement<br/>Cursor Open, Fetch, and Close<br/>Other Embedded SQL Operations<br/>5.4 Programming for Transactions<br/>The Concept of a Transaction<br/>How Transactions Are Specified in Programs<br/>A Transaction Example<br/>The Transaction Isolation Guarantee and Locking<br/>Special Considerations in Transactions<br/>5.5 The Power of Procedural SQL Programs<br/>C-'stomized Set Functions<br/>5.6 Dynamic SQL<br/>Execute Immediate<br/>Prepare, Execute, and Using<br/>Dynamic Select; The Describe Statement and the SQLDA<br/>5.7 Some Advanced Programming Concepts<br/>Scrollable Cursors<br/>Cursor Sensitivity<br/>Other Development Environments for Database Programming<br/>Database Design<br/>6.1 Introduction to E-R Concepts<br/>Entities. Attributes, and Simple E-R Diagrams<br/>Transforming Entities and Attributes to Relations<br/>Relationships among Entities<br/>6.2 Further Details of E-R Modeling<br/>Cardinality of Entity Participation in a Relationship<br/>One-to-One, Many-to-Many, and Many-to-One Relationships<br/>Transforming Binary Relationships to Relations<br/>6.3 Additional E-R Concepts<br/>Cardinality of Attributes<br/>Weak Entities<br/>Generalization Hierarchies<br/>6.4 Case Study<br/>6.5 Normalization: Preliminaries<br/>A Running Example: Employee Information<br/>Anomalies of a Bad Database Design<br/>6.6 Functional Dependencies<br/>Logical Implications among Functional Dependencies<br/>Armstrong's Axioms<br/>Closure. Cover, and Minimal Cover<br/>6.7 Lossless Decompositions<br/>6.8 Normal Forms<br/>A Succession of Decompositions to Eliminate Anomalies<br/>Normal Forms: BCNF. 3NF. and 2NF<br/>An Algorithm to Achieve Well-Behaved 3NF Decomposition<br/>A Review of Normalization<br/>6.9 Additional Design Considerations<br/>Database Design Tools<br/>Integrity, Views. Security, and Catalogs<br/>7.1 Integrity Constraints<br/>Integrity Constraints in the Create Table Statement<br/>Primary Keys. Foreign Keys, and Referential Integrity<br/>Foreign Key Constraints: Product Variations<br/>The Alter Table Statement<br/>Non-Procedural and Procedural Integrity Constraints: Triggers<br/>7.2 Creating Views<br/>Updatable and Read-Only Views<br/>The Value of Views<br/>7.3 Security: The Grant Statement in SQL<br/>Variations in Database Products<br/>7.4 System Catalogs and Schemas<br/>Schemas<br/>Catalog Variations in Database Products<br/>The INFORMIX System Catalog<br/>Catalog Tables for Object-Relational Constructs: ORACLE<br/>and INFORMIX<br/>Indexing<br/>8.1 The Concept of Indexing<br/>8.2 Disk Storage<br/>Disk Access Is Excruciatingly Slow<br/>The DBA and Disk Resource Allocation in ORACLE<br/>Data Storage Pages and Row Pointers: ORACLE and DB2 UDB<br/>8.3 The B-Tree Index<br/>Dynamic Changes in the B-Tree<br/>Properties of the B-Tree<br/>Index Node Layout and Free Space<br/>The Create Index Statement in ORACLE and DB2 UDB<br/>Duplicate Key Values in an Index<br/>The ORACLE Bitmap Index<br/>8.4 Clustered and Non-Clustered Indexes<br/>Clustering Indexes in DB2 UDB<br/>ORACLE Special Indexing Features<br/>8.5 A Hash Primary Index<br/>Tuning HASHKEYS and SIZE in a Hash Cluster<br/>No Incremental Changes in the Number of Slots Used<br/>Advantages and Disadvantages of a Hash Primary Index<br/>8.6 Throwing Darts at Random Slots<br/>Unlimited Slot Occupancy: How Many Slots Are Occupied?<br/>Slot Occupancy of One: Number of Retries (Rehash Chain)<br/>When Do Hash Pages Fill Up<br/>Query Processing<br/>9.1 Introductory Concepts<br/>Query Resource Utilization<br/>Gathering Statistics<br/>Retrieving the Query Plan<br/>9.2 Tablespace Scans and I/O<br/>Assumptions about I/O<br/>9.3 Simple Indexed Access in DB2<br/>Equal Unique Match Index Access<br/>Index-Only Retrieval<br/>9.4 Filter Factors and Statistics<br/>DB2 Statistics<br/>Filter Factors in DB2<br/>9.5 Matching Index Scans, Composite Indexes<br/>Definition of a Matching Index Scan<br/>Predicate Screening and Screening Predicates<br/>Indexable Predicates and Performance<br/>9.6 Multiple Index Access<br/>List Prefetch and the RID Pool<br/>Point of Diminishing Returns in Multiple Index Access<br/>9.7 Methods for Joining Tables<br/>Nested-Loop Join<br/>Merge Join<br/>Hybrid Join<br/>Multiple Table Joins<br/>Transforming Nested Queries to Joins<br/>9.8 Disk Sorts<br/>9.9<br/>9.10<br/>The N-Way Merge Disk Sort Algonthm<br/>Query Performance Benchmarks; A Case Study<br/>The BENCH Table<br/>Load Measurements<br/>Query Performance Measurements<br/>Query Ql<br/>Query Q2A<br/>Query Q2B<br/>Query Q3A<br/>Query Q3B<br/>Queries Q4A and Q4B<br/>Query Q5<br/>Query Q6A<br/>Query Q6B<br/>9.11 Cost-Performance Assessment<br/>Elapsed Time versus CPU Time Rating<br/>Customizing the Rating<br/>Variations in Indexing Use between DB2 and ORACLE<br/>Update Transactions<br/>10.1 Transactional Histories<br/>Fundamental Atomic Read and Write Actions in the Database<br/>Predicate Read Actions<br/>Transactional Histories with Reads and Writes<br/>Interleaved Read-Write Operations<br/>Serializability and the Precedence Graph<br/>The Precedence Graph<br/>Locking to Ensure Serializability<br/>The Waits-For Graph<br/>10.5 Levels of Isolation<br/>The Read Uncommitted Isolation Level<br/>The Read Committed Isolation Level and Cursor Stability<br/>Repeatable Read Isolation Level<br/>Serializability and Phantom Updates<br/>10.6 Transactional Recovery<br/>10.7 Recovery in Detail: Log Formats<br/>Guarantees That Needed Log Entries Are on Disk<br/>10.8 Checkpoints<br/>The Commit-Consistent Checkpoint<br/>Motivation for Other Kinds of Checkpoints<br/>The Cache-Consistent Checkpoint<br/>The Fuzzy Checkpoint<br/>10.9 Media Recovery<br/>Stable Storage<br/>10.10 Performance: The TPC-A Benchmark<br/>The TPC-A Benchmark Specification<br/>Lessons from the TPC-A Benchmark<br/>Parallel and Distributed Databases<br/>11.1 Some Multi-CPU Architectures<br/>Client-Server Architectures<br/>11.2 The Curve of CPU Cost versus Power<br/>11.3 Shared-Nothing Database Architecture<br/>Two-Phase Commit<br/>Further Problems with Shared-Nothing Architecture<br/>11.4 Query Parallelism<br/>Intra-Query Parallelism<br/>Appendix A Introductory Tutorial<br/>A.1 Setting Up the CAP Database in ORACLE<br/>Creating the CAP Database<br/>Using the SQL* Loader<br/>Using SQL*Plus<br/>A.2 Setting Up the CAP Database in INFORMIX<br/>Creating the CAP Database (in UNIX)<br/>Using DB-Access (UNIX Systems)<br/>A.3 Datatypes<br/>Appendix B Programming Details<br/>B.I The prompt() Function<br/>Use of Numeric Constants in Code Examples<br/>B.2 The print_dberror() Function<br/>B.3 Building Embedded C Programs<br/>Precompilation and Compilation Procedure Using ORACLE/UNIX<br/>Precompilation and Compilation Procedure Using DB2 UDBAJNIX<br/>Appendix C SQL Statement Syntax<br/>C.I Alter Table Statement<br/>C.2 Close Cursor Statement<br/>C.3 Commit Work Statement<br/>0.4 Connect Statement<br/>C.5 Create Function Statement (UDF)<br/>C.6 Create Index Statement<br/>C.7 Create Row Type Statement (0-R)<br/>C.8 Create Schema Statement<br/>C.9 Create Table Statement<br/>C.10 Create Tablespace Statement in ORACLE and DB2 UDB<br/>C.11 Create Trigger Statement<br/>0.12 Create Type Statement (O-R)<br/>C.I 3 Create View Statement<br/>C.14 Declare Cursor Statement<br/>C.I 5 Delete Statement<br/>C.I 6 Describe Statement<br/>C.17 Disconnect Statement<br/>C.18 Drop Function Statement<br/>C.19 Drop Index Statement<br/>C.20 Drop Trigger Statement<br/>C.21 Drop (Row) Type Statement (O-R)<br/>C.22 Drop {Schema | Table | View} Statement<br/>C.23 Execute Statement<br/>C.24 Execute Immediate Statement<br/>C.25 Fetch Statement<br/>C.26 Grant Statement<br/>C.27 Insert Statement<br/>C.28 Open Cursor Statement<br/>C.29 Prepare Statement<br/>C.30 Revoke Statement<br/>C.31 Rollback Statement<br/>C.32 Select Statement<br/>C.33 Update Statement<br/>Appendix D Set Query Counts<br/>Solutions to Selected Exercises |
650 #0 - SUBJECT |
Keyword |
Database management. |
942 ## - ADDED ENTRY ELEMENTS (KOHA) |
Koha item type |
GN Books |