You are previewing Introduction to Database Management Systems.
O'Reilly logo
Introduction to Database Management Systems

Book Description

Introduction to Database Management Systems is designed specifically for a single semester, namely, the first course on Database Systems. The book covers all the essential aspects of database systems, and also covers the areas of RDBMS. The book in

Table of Contents

  1. Cover Page
  2. Title Page
  3. Copyright Page
  4. Dedication Page
  5. Foreword
  6. Preface
  7. Acknowledgements
  8. Contents
  9. Chapter 1 - File Systems
    1. 1.1: Need for a File
    2. 1.2: Files
      1. 1.2.1: Sample File
      2. 1.2.2: Records and Fields
      3. 1.2.3: Master and Transaction Data
    3. 1.3: Computer Files
    4. 1.4: Library Management – A Case Study
      1. 1.4.1: Record Keys
      2. 1.4.2: Searching Records
    5. 1.5: Sequential Organisation
      1. 1.5.1: What is Sequential Organisation?
      2. 1.5.2: Advantages of Sequential Organisation
      3. 1.5.3: Problems with Sequential Organisation
    6. 1.6: Pointers and Chains
      1. 1.6.1: Problems with One-Way Chains
      2. 1.6.2: Two-Way Chains
      3. 1.6.3: Queries Based on Other Fields
    7. 1.7: Indexed Organisation
      1. 1.7.1: Using Indexes
      2. 1.7.2: Improvements to Index-Chain Method
      3. 1.7.3: Maintaining a List of All Items in the Index
      4. 1.7.4: Keeping a Count of Records
      5. 1.7.5: Complex Queries and Query Optimisation
      6. 1.7.6: Indexed Organisation in Computer Files
    8. 1.8: Direct Organisation
      1. 1.8.1: Basic Concepts
      2. 1.8.2: Non-Hashed Files
      3. 1.8.3: Hashed Files
    9. Key Terms and Concepts
    10. Chapter Summary
    11. Practice Set
  10. Chapter 2 - Introduction to Database Systems
    1. 2.1: What is DBMS?
    2. 2.2: File Management Systems (FMS)
    3. 2.3: Database Management Systems (DBMS)
    4. 2.4: FMS Versus DBMS
    5. 2.5: An Overview of Database Management
      1. 2.5.1: DBMS Basics
      2. 2.5.2: Internal Process
      3. 2.5.3: Tables, Rows and Columns
      4. 2.5.4: SQL and its Power
    6. 2.6: Brief Introduction to SQL
      1. 2.6.1: Data Definition Language (DDL)
      2. 2.6.2: Data Manipulation Language (DML)
      3. 2.6.3: Select, Insert, Update and Delete
      4. 2.6.4: Multiple Tables and Joins
      5. 2.6.5: Nested Queries
      6. 2.6.6: Data Control Language
    7. 2.7: Embedded SQL
      1. 2.7.1: Embedding SQL Statements Inside 3GL
      2. 2.7.2: Embedded SQL Program Lifecycle
      3. 2.7.3: Cursors
    8. 2.8: Dynamic SQL
    9. 2.9: DBMS models
      1. 2.9.1: The Hierarchical Model
        1. 2.9.1.1: Retrieval
        2. 2.9.1.2: Insert
        3. 2.9.1.3: Delete
        4. 2.9.1.4: Update
      2. 2.9.2: Network Model
        1. 2.9.2.1: Retrieval
        2. 2.9.2.2: Insert
        3. 2.9.2.3: Delete
        4. 2.9.2.4: Update
      3. 2.9.3: Relational Model
        1. 2.9.3.1: Retrieval
    10. 2.10: Database System Architecture
    11. Key Terms and Concepts
    12. Chapter Summary
    13. Practice Set
  11. Chapter 3 - The Relational Model
    1. 3.1: Relational Databases Primer
      1. 3.1.1: Tabular Representation of Data
      2. 3.1.2: Some Terminology
      3. 3.1.3: Domains
    2. 3.2: Relational Database Characteristics
    3. 3.3: Relational Algebra
      1. 3.3.1: Relational Algebra Operators
        1. 3.3.1.1: Restrict
        2. 3.3.1.2: Project
        3. 3.3.1.3: Product
        4. 3.3.1.4: Union
        5. 3.3.1.5: Intersection
        6. 3.3.1.6: Difference
        7. 3.3.1.7: Join
        8. 3.3.1.8: Divide
      2. 3.3.2: Grouping
    4. 3.4: Relational Calculus
    5. 3.5: Database Integrity
      1. 3.5.1: Constraints
      2. 3.5.2: Declarative and Procedural Constraints
        1. 3.5.2.1: Type Constraints
        2. 3.5.2.2: Attribute Constraints
        3. 3.5.2.3: Instance Constraints
        4. 3.5.2.4: Database Constraints
      3. 3.5.3: More on Constraints
    6. 3.6: Keys
      1. 3.6.1: Superkey and Key
      2. 3.6.2: Composite Key
      3. 3.6.3: Candidate Key
      4. 3.6.4: Primary Key
      5. 3.6.5: Alternate Key or Secondary Key
      6. 3.6.6: Foreign Key
      7. 3.6.7: Keys and SQL
        1. 3.6.7.1: Defining Primary Keys in SQL
        2. 3.6.7.2: Defining Foreign Keys in SQL
    7. 3.7: Entity and Referential Integrity
      1. 3.7.1: Entity Integrity
      2. 3.7.2: Referential Integrity
    8. 3.8: Views
      1. 3.8.1: What is a View?
      2. 3.8.2: Updating Data Through Views
    9. Key Terms and Concepts
    10. Chapter Summary
    11. Practice Set
  12. Chapter 4 - Database Design
    1. 4.1: Design Considerations
    2. 4.2: Functional Dependency
    3. 4.3: Normalisation and Normal Forms
      1. 4.3.1: Decomposition
      2. 4.3.2: What is Normalisation?
      3. 4.3.3: First Normal Form (1NF)
      4. 4.3.4: Second Normal Form (2NF)
      5. 4.3.5: Third Normal Form (3NF)
      6. 4.3.6: Boyce-Codd Normal Form (BCNF)
      7. 4.3.7: Fourth Normal Form (4NF)
      8. 4.3.8: Fifth Normal Form (5NF)
      9. 4.3.9: Normalisation Summary
      10. 4.3.10: Denormalisation
    4. 4.4: Entity/Relationship (E/R) Modelling
      1. 4.4.1: Aspects of E/R Modelling
      2. 4.4.2: Types of Relationships
    5. Key Terms and Concepts
    6. Chapter Summary
    7. Practice Set
  13. Chapter 5 - Transaction Processing and Management
    1. 5.1: Transaction
      1. 5.1.1: Transactions – Need and Mechanisms
      2. 5.1.2: Transaction Processing (TP) Monitor
      3. 5.1.3: Transaction Properties
    2. 5.2: Recovery
      1. 5.2.1: Classification of Recovery
      2. 5.2.2: System Recovery
        1. 5.2.2.1: Failure Recovery
        2. 5.2.2.2: Media Recovery
    3. 5.3: Transaction Models
      1. 5.3.1: Flat Transactions
      2. 5.3.2: Chained Transactions
      3. 5.3.3: Nested Transactions
    4. 5.4: Two-Phase Commit
    5. 5.5: Concurrency Problems
      1. 5.5.1: Lost Update Problem
      2. 5.5.2: Dirty (Uncommitted) Read Problem
      3. 5.5.3: Non-Repeatable Read Problem
      4. 5.5.4: Phantom Read Problem
    6. 5.6: Locking
    7. 5.7: Concurrency Problems Revisited
      1. 5.7.1: Lost Update Problem Revisited
      2. 5.7.2: Dirty (Uncommitted) Read Problem Revisited
      3. 5.7.3: Non-Repeatable Read Problem Revisited
      4. 5.7.4: Phantom Read Problem Revisited
    8. 5.8: Deadlocks
    9. 5.9: Transaction Serialisability
    10. 5.10: Two-Phase Locking
    11. 5.11: Isolation Levels
    12. Key Terms and Concepts
    13. Chapter Summary
    14. Practice Set
  14. Chapter 6 - Database Security
    1. 6.1: Data Classification
      1. 6.1.1: Importance of Data
      2. 6.1.2: Private Organisations Versus Military Classifications
    2. 6.2: Threats and Risks
      1. 6.2.1: Confidentiality
      2. 6.2.2: Authentication
      3. 6.2.3: Integrity
      4. 6.2.4: Non-Repudiation
    3. 6.3: Cryptography
      1. 6.3.1: Types of Cryptography
        1. 6.3.1.1: Symmetric Key Cryptography
        2. 6.3.1.2: Asymmetric Key Cryptography
    4. 6.4: Digital Signature
    5. 6.5: Database Control
      1. 6.5.1: Discretionary Control
      2. 6.5.2: Mandatory Control
    6. 6.6: Users and Database Privileges
    7. 6.7: Types of Privileges
    8. 6.8: Object Privileges
      1. 6.8.1: Operations and Privileges
      2. 6.8.2: Granting Object Privileges
      3. 6.8.3: Restricting Object Privileges to Certain Columns
      4. 6.8.4: Granting All Privileges at the Same Time
      5. 6.8.5: Allowing Others to Grant Privileges
    9. 6.9: Taking Away Privileges
    10. 6.10: Filtering Table Privileges
    11. 6.11: Statistical Databases
    12. Key Terms and Concepts
    13. Chapter Summary
    14. Practice Set
  15. Chapter 7 - Query Execution and Optimisation
    1. 7.1: Query Processing
    2. 7.2: Using Indexes
    3. 7.3: Optimiser Functionality
      1. 7.3.1: Driver Index
      2. 7.3.2: List Merge
    4. 7.4: Implementing Select
      1. 7.4.1: Simple Select
      2. 7.4.2: Complex Select Implementation
      3. 7.4.3: Join Implementation
      4. 7.4.4: Project Implementation
      5. 7.4.5: Set Operator Implementation
      6. 7.4.6: Aggregate Functions Implementation
    5. 7.5: Optimisation Recommendations
    6. 7.6: Database Statistics
    7. Key Terms and Concepts
    8. Chapter Summary
    9. Practice Set
  16. Chapter 8 - Distributed Databases
    1. 8.1: Distributed Database Concepts
      1. 8.1.1: Distributed Computing
      2. 8.1.2: Distributed Databases
    2. 8.2: Distributed Database Architectures
    3. 8.3: Advantages of Distributed Databases
    4. 8.4: Distributed Database Requirements
    5. 8.5: Distributed Database Techniques
      1. 8.5.1: Data Fragmentation
      2. 8.5.2: Data Replication
    6. 8.6: Distributed Query Processing
      1. 8.6.1: Costs
      2. 8.6.2: Semi-Join
      3. 8.6.3: Distributed Query Decomposition
    7. 8.7: Distributed Concurrency Control and Recovery
      1. 8.7.1: Concurrency and Recovery Problems
      2. 8.7.2: Distinguished Copy
        1. 8.7.2.1: Primary Site Technique
        2. 8.7.2.2: Primary Site with Backup Site Technique
        3. 8.7.2.3: Primary Copy Technique
      3. 8.7.3: Dealing with Coordinator Failures
      4. 8.7.4: Voting Method
      5. 8.7.5: Distributed Recovery
    8. 8.8: Distributed Deadlocks
      1. 8.8.1: Prevent a Deadlock
      2. 8.8.2: Avoid a Deadlock
      3. 8.8.3: Detect a Deadlock
    9. 8.9: Client/Server Computing and DDBMS
      1. 8.9.1: Client/Server Computing
      2. 8.9.2: Client/Server Computing and DDBMS
    10. 8.10: Date's 12: Rules
    11. Key Terms and Concepts
    12. Chapter Summary
    13. Practice Set
  17. Chapter 9 - Decision Support Systems, Data Warehousing and Data Mining
    1. 9.1: Information and Decision Making
      1. 9.1.1: Data and Information
      2. 9.1.2: Need for Information
      3. 9.1.3: Quality of Information
      4. 9.1.4: Value of Timely Information
      5. 9.1.5: Historical Data
    2. 9.2: What is a Data Warehouse?
    3. 9.3: Data Warehousing Concepts
    4. 9.4: Data Warehousing Approaches
      1. 9.4.1: Enterprise Data Warehouse
      2. 9.4.2: Data Marts
        1. 9.4.2.1: Dependent Data Mart
        2. 9.4.2.2: Independent Data Mart
      3. 9.4.3: Operational Data Stores
    5. 9.5: Online Analytical Processing (OLAP)
      1. 9.5.1: Desktop OLAP
      2. 9.5.2: Relational OLAP (ROLAP)
      3. 9.5.3: Multidimensional OLAP (MOLAP)
      4. 9.5.4: Hybrid OLAP
    6. Key Terms and Concepts
    7. Chapter Summary
    8. Practice Set
  18. Chapter 10 - Object Technology and DBMS
    1. 10.1: An Introduction to Object Technology
      1. 10.1.1: Attributes and Methods
      2. 10.1.2: Messages
      3. 10.1.3: What is Modelling?
      4. 10.1.4: Practical Example of an Object
      5. 10.1.5: Classes
      6. 10.1.6: The Essence of Classes and Objects
    2. 10.2: Abstraction
    3. 10.3: Encapsulation
    4. 10.4: Inheritance
    5. 10.5: Object Technology and RDBMS
      1. 10.5.1: Identifying a Record Uniquely
      2. 10.5.2: Mapping Classes to Tables
      3. 10.5.3: Mapping Binary Associations to Tables
      4. 10.5.4: Modelling Generalisations to Tables
    6. 10.6: Object Oriented Database Management Systems (OODBMS)
      1. 10.6.1: Basic Concepts
      2. 10.6.2: When should OODBMS be Used?
      3. 10.6.3: Advantages of OODBMS
      4. 10.6.4: Examples of ODL, OQL and OML
    7. Key Terms and Concepts
    8. Chapter Summary
    9. Practice Set
  19. Chapter 11 - Advanced Topics in DBMS
    1. 11.1: Deductive Databases
      1. 11.1.1: Features of Deductive Databases
      2. 11.1.2: An Overview of Logic
      3. 11.1.3: Knowledge Representation
    2. 11.2: Internet and DBMS
      1. 11.2.1: What is WWW?
      2. 11.2.2: Web Server and Web Browser
      3. 11.2.3: Hyper Text Markup Language (HTML)
      4. 11.2.4: Dynamic Web Pages
      5. 11.2.5: Issues in Web Databases
    3. 11.3: Multimedia Databases
      1. 11.3.1: What is Multimedia?
      2. 11.3.2: Sampling and Quantising
      3. 11.3.3: Issues in Multimedia Databases
    4. 11.4: Digital Libraries
    5. 11.5: Mobile Databases
      1. 11.5.1: What is Mobile Computing?
      2. 11.5.2: Case Study - WAP
      3. 11.5.3: Data in Mobile Applications
      4. 11.5.4: Mobile Databases: Problem Areas
    6. Key Terms and Concepts
    7. Chapter Summary
    8. Practice Set
  20. Appendix A: Data Structures
  21. Appendix B: Sorting Techniques
  22. Appendix C: Database Management with Access
  23. Appendix D: Case Studies
  24. Index
  25. Back Cover