Databases Illuminated, 4th Edition

Book description

Databases Illuminated, Fourth Edition is designed to help students integrate theoretical material with practical knowledge, using an approach that applies theory to practical database implementation.

Table of contents

  1. Cover
  2. Title Page
  3. Copyright Page
  4. Dedication
  5. Contents
  6. Preface
  7. About the Author
  8. Acronyms Used in This Book
  9. 1 Introductory Database Concepts
    1. 1.1 Uses of Databases
    2. 1.2 A Sample Database
    3. 1.3 The Integrated Database Environment
    4. 1.4 Roles in the Integrated Database Environment
    5. 1.5 Advantages of the Integrated Database Approach
    6. 1.6 Historical Developments in Information Systems
      1. 1.6.1 Developments in Storage Media
      2. 1.6.2 Database Models
    7. 1.7 Big Data
    8. 1.8 Chapter Summary
    9. Exercises
  10. 2 Database Planning and Database Architecture
    1. 2.1 Data as a Resource
    2. 2.2 Characteristics of Data
      1. 2.2.1 Data and Information
      2. 2.2.2 Levels of Discussing Data
      3. 2.2.3 Data Sublanguages
    3. 2.3 Stages in Database Design
    4. 2.4 Design Tools
      1. 2.4.1 Data Dictionary
      2. 2.4.2 Diagramming Tools
      3. 2.4.3 CASE Packages
    5. 2.5 Functions of the Database Administrator
      1. 2.5.1 Planning and Design
      2. 2.5.2 Developing the Database
      3. 2.5.3 Database Management
    6. 2.6 The Three-Level Database Architecture
      1. 2.6.1 External Views
      2. 2.6.2 Logical Model
      3. 2.6.3 Internal Model
      4. 2.6.4 Physical Level
      5. 2.6.5 Record Retrieval
      6. 2.6.6 Data Independence
    7. 2.7 Overview of Data Models
      1. 2.7.1 The Entity-Relationship Model
      2. 2.7.2 Relational and Other Record-Based Models
      3. 2.7.3 Object-Oriented Model
      4. 2.7.4 Object-Relational Model
      5. 2.7.5 Data Warehouse Models
      6. 2.7.6 Semistructured Data Models
      7. 2.7.7 Big Data and NoSQL Models
    8. 2.8 Chapter Summary
    9. Exercises
  11. 3 The Entity-Relationship Model
    1. 3.1 Purpose of the Entity-Relationship (ER) Model
    2. 3.2 Entities
    3. 3.3 Attributes
      1. 3.3.1 Domains
      2. 3.3.2 Null Values
      3. 3.3.3 Multivalued Attributes
      4. 3.3.4 Composite Attributes
      5. 3.3.5 Derived Attributes
    4. 3.4 Keys
      1. 3.4.1 Superkeys
      2. 3.4.2 Candidate Keys
      3. 3.4.3 Primary Keys
    5. 3.5 Relationships
      1. 3.5.1 Degree of Relationships
      2. 3.5.2 Attributes of Relationship Sets
      3. 3.5.3 Cardinality of a Relationship
      4. 3.5.4 Showing Cardinalities in an ER Diagram
      5. 3.5.5 Participation Constraints
      6. 3.5.6 Using (min,max) Notation for Cardinality and Participation
    6. 3.6 Roles
    7. 3.7 Existence Dependency and Weak Entities
    8. 3.8 Sample ER Diagrams
    9. 3.9 The Extended Entity-Relationship Model
    10. 3.10 Generalization and Specialization
      1. 3.10.1 Specialization
      2. 3.10.2 Generalization
      3. 3.10.3 Generalization Constraints
      4. 3.10.4 Multiple Hierarchies and Inheritance
    11. 3.11 Union
    12. 3.12 Sample EER Diagrams
    13. 3.13 Chapter Summary
    14. Exercises
  12. 4 The Relational Model
    1. 4.1 Advantages of the Relational Model
    2. 4.2 Relational Data Structures
      1. 4.2.1 Tables
      2. 4.2.2 Mathematical Relations
      3. 4.2.3 Database Relations and Tables
      4. 4.2.4 Properties of Relations
      5. 4.2.5 Degree and Cardinality
      6. 4.2.6 Relation Keys
    3. 4.3 Integrity Constraints
    4. 4.4 Representing Relational Database Schemas
    5. 4.5 Relational Data Manipulation Languages
      1. 4.5.1 Categories of DMLs
      2. 4.5.2 Relational Algebra
    6. 4.6 Views
    7. 4.7 Mapping an ER Model to a Relational Schema
    8. 4.8 Mapping an EER Model to a Relational Schema
      1. 4.8.1 Summary of ER to Relational Mapping Concepts
      2. 4.8.2 Mapping EER Set Hierarchies to Relational Tables
      3. 4.8.3 Mapping Unions
      4. 4.8.4 EER to Relational Mapping Example
    9. 4.9 Forward and Reverse Engineering: ER and Relational Models
    10. 4.10 Chapter Summary
    11. Exercises
  13. 5 Relational Database Management Systems and SQL
    1. 5.1 Brief History of SQL in Relational Database Systems
    2. 5.2 Architecture of a Relational Database Management System
    3. 5.3 Defining the Database: SQL Data Definition Language (DDL)
      1. 5.3.1 Create Database, Create Schema
      2. 5.3.2 Create Table
      3. 5.3.3 Create Index
      4. 5.3.4 Alter Table, Rename Table
      5. 5.3.5 Drop Statements
      6. 5.3.6 Additional SQL DDL Example
    4. 5.4 Manipulating the Database: SQL Data Manipulation Language (DML)
      1. 5.4.1 Introduction to the Select Statement
      2. 5.4.2 Select Using Multiple Tables
      3. 5.4.3 Select with Aggregate Functions
      4. 5.4.4 Select With Group By
      5. 5.4.5 Select with Pattern Strings
      6. 5.4.6 Operators For Updating: Update, Insert, Delete
    5. 5.5 Creating and Using Views
    6. 5.6 The System Catalog
    7. 5.7 Chapter Summary
    8. Exercises
  14. 6 Normalization and Denormalization
    1. 6.1 Objectives of Normalization
    2. 6.2 Insertion, Update, and Deletion Anomalies
    3. 6.3 Functional Dependency
    4. 6.4 Superkeys, Candidate Keys, and Primary Keys
    5. 6.5 Normalization Using Candidate Keys
      1. 6.5.1 First Normal Form
      2. 6.5.2 Full Functional Dependency and Second Normal Form
      3. 6.5.3 Transitive Dependency and Third Normal Form
      4. 6.5.4 Boyce-Codd Normal Form
      5. 6.5.5 Comprehensive Example of Functional Dependencies
    6. 6.6 Properties of Relational Decompositions
      1. 6.6.1 Attribute Preservation
      2. 6.6.2 Dependency Preservation
      3. 6.6.3 Lossless Decomposition
      4. 6.6.4 Decomposition Algorithm for Boyce-Codd Normal Form with Lossless Join
    7. 6.7 Higher Normal Forms
    8. 6.8 The Normalization Process
      1. 6.8.1 Analysis
      2. 6.8.2 Synthesis
      3. 6.8.3 Normalization from an Entity-Relationship Diagram
    9. 6.9 When to Stop Normalizing
    10. 6.10 Non-normalized Databases
    11. 6.11 Chapter Summary
    12. Exercises
  15. 7 Advanced SQL
    1. 7.1 Introduction to Advanced SQL Features
    2. 7.2 Additional SQL Functions
      1. 7.2.1 Numeric Single-Row Functions
      2. 7.2.2 Character Single-Row Functions
      3. 7.2.3 Date and Time Functions
    3. 7.3 Sequences
    4. 7.4 Temporal Databases and SQL
      1. 7.4.1 User Valid Time
      2. 7.4.2 Transaction Time
    5. 7.5 SQL Programming
      1. 7.5.1 SQL Persistent Stored Modules (PSMs)
      2. 7.5.2 Embedded SQL
      3. 7.5.3 Application Programming Interfaces (APIs)
      4. 7.5.4 Dynamic SQL
    6. 7.6 Using COMMIT and ROLLBACK Statements
    7. 7.7 Active Databases
      1. 7.7.1 Enabling and Disabling Constraints
      2. 7.7.2 SQL Triggers
    8. 7.8 Global and Private Temporary Tables
    9. 7.9 Java Database Connectivity (JDBC)
      1. 7.9.1 Developing a JDBC Application
      2. 7.9.2 The Statement Object
      3. 7.9.3 The PreparedStatement Object
      4. 7.9.4 The CallableStatement Object
      5. 7.9.5 Updating the Database
      6. 7.9.6 Querying Metadata
    10. 7.10 Chapter Summary
    11. Exercises
  16. 8 Introduction to Database Security
    1. 8.1 Issues in Database Security
      1. 8.1.1 Accidental Security Threats
      2. 8.1.2 Deliberate Security Threats
    2. 8.2 Fundamentals of Access Control
      1. 8.2.1 Physical Security
      2. 8.2.2 Information System Access Control
    3. 8.3 Database Access Control
    4. 8.4 Using Views for Access Control
    5. 8.5 Security Logs and Audit Trails
    6. 8.6 Encryption
      1. 8.6.1 Symmetric Key Encryption
      2. 8.6.2 Public-Key Encryption
    7. 8.7 Data De-identification
    8. 8.8 SQL Data Control Language (DCL)
    9. 8.9 Security in Oracle
      1. 8.9.1 Security Features
      2. 8.9.2 Oracle Security Tools
      3. 8.9.3 Administrative Accounts
      4. 8.9.4 User Privileges
      5. 8.9.5 Creating and Managing User Accounts
    10. 8.10 Statistical Database Security
    11. 8.11 SQL Injection
      1. 8.11.1 SQL Vulnerability
      2. 8.11.2 Further Examples of SQL Injection
      3. 8.11.3 Mitigation of SQL Injection
    12. 8.12 Database Security and the Internet
      1. 8.12.1 Proxy Servers
      2. 8.12.2 Firewalls
      3. 8.12.3 Digital Signatures
      4. 8.12.4 Certification Authorities
    13. 8.13 Chapter Summary
    14. Exercises
  17. 9 Object-Based Models
    1. 9.1 Rationale for the Object-Oriented Data Model
    2. 9.2 Object-Oriented Data Concepts
      1. 9.2.1 Objects and Literals
      2. 9.2.2 Classes
      3. 9.2.3 Class Hierarchies and Inheritance
      4. 9.2.4 Object Identity
    3. 9.3 Object-Oriented Data Modeling Using UML
    4. 9.4 The ODMG Model and Object Definition Language (ODL)
      1. 9.4.1 Class Declarations
      2. 9.4.2 Extent
      3. 9.4.3 Attributes
      4. 9.4.4 Relationships
      5. 9.4.5 Methods
      6. 9.4.6 Classes and Inheritance
      7. 9.4.7 N-ary Relationships and M:N Relationships with Attributes
      8. 9.4.8 Keys
    5. 9.5 Object Query Language (OQL)
    6. 9.6 Developing an OO Database Application
      1. 9.6.1 Overview of InterSystems Iris
      2. 9.6.2 Schema Definition in Iris
    7. 9.7 Extending the Relational Model
      1. 9.7.1 Large Object Data Types
      2. 9.7.2 Structured Types
      3. 9.7.3 UDTs
      4. 9.7.4 Reference Types
      5. 9.7.5 Type Hierarchies in Standard SQL
      6. 9.7.6 Type Hierarchies in Oracle
      7. 9.7.7 Nested Tables in Oracle
      8. 9.7.8 Oracle Object Views
    8. 9.8 Converting a UML Diagram to an Object-Relational Database Model
    9. 9.9 Converting an EER Diagram to an Object-Relational Database Model
    10. 9.10 Chapter Summary
    11. Exercises
  18. 10 Relational Query Optimization
    1. 10.1 Query Processing and Query Optimization
    2. 10.2 Logical Query Optimization
      1. 10.2.1 The Query Tree
      2. 10.2.2 An SQL Query and Its Relational Algebra Translation
      3. 10.2.3 Performing SELECT Operations Early
      4. 10.2.4 Evaluating Conjunctive Conditions
      5. 10.2.5 Performing PROJECT Early
      6. 10.2.6 Equivalence of Algebraic Operations
      7. 10.2.7 Heuristics for Query Optimization
    3. 10.3 Physical Query Optimization
      1. 10.3.1 Cost Factors
      2. 10.3.2 Cost of Processing Selects
      3. 10.3.3 Processing Joins
      4. 10.3.4 Processing Other Operations Projection
      5. 10.3.5 Adaptive Query Optimization
      6. 10.3.6 Pipelining
    4. 10.4 Query Optimization in Oracle
    5. 10.5 Chapter Summary
    6. Exercises
  19. 11 Transaction Management
    1. 11.1 ACID Properties of Transactions
    2. 11.2 Need for Concurrency Control
      1. 11.2.1 The Lost Update Problem
      2. 11.2.2 The Uncommitted Update Problem
      3. 11.2.3 The Problem of Inconsistent Analysis
    3. 11.3 Serializability
    4. 11.4 Locking
      1. 11.4.1 Deadlock and Starvation
      2. 11.4.2 Two-Phase Locking Protocol
      3. 11.4.3 Levels of Locking
    5. 11.5 Timestamping
      1. 11.5.1 Basic Timestamping Protocol
      2. 11.5.2 Thomas’s Write Rule
      3. 11.5.3 Multiversion Timestamping
    6. 11.6 Optimistic Techniques
    7. 11.7 Need for Recovery
    8. 11.8 Recovery Techniques
      1. 11.8.1 Deferred Update Protocol
      2. 11.8.2 Checkpoints
      3. 11.8.3 Immediate Update Protocol
      4. 11.8.4 Shadow Paging
      5. 11.8.5 Overview of the ARIES Recovery Algorithm
    9. 11.9 Transaction Management in Oracle
      1. 11.9.1 Transaction Limits
      2. 11.9.2 Isolation Levels
      3. 11.9.3 Types of Locks
      4. 11.9.4 Recovery Management
    10. 11.10 Chapter Summary
    11. Exercises
  20. 12 Distributed Databases
    1. 12.1 Rationale for Distribution
    2. 12.2 Architectures for a Distributed System
      1. 12.2.1 Distributed Processing Using a Centralized Database
      2. 12.2.2 Client-Server Systems
      3. 12.2.3 Parallel Databases
      4. 12.2.4 Distributed Databases
      5. 12.2.5 Peer-to-Peer Data Management Systems
      6. 12.2.6 Cloud Database Systems
    3. 12.3 Components of a Distributed Database System
    4. 12.4 Data Placement
    5. 12.5 Transparency
    6. 12.6 Transaction Control for Distributed Databases
      1. 12.6.1 Concurrency Control
      2. 12.6.2 Recovery
    7. 12.7 Distributed Query Processing
      1. 12.7.1 Steps in Distributed Query Processing
      2. 12.7.2 The Semijoin Operation
    8. 12.8 Blockchain Technology
      1. 12.8.1 Blockchain Architecture and Functionality
      2. 12.8.2 Blockchain Benefits and Future Directions
    9. 12.9 Chapter Summary
    10. Exercises
  21. 13 Semistructured Data
    1. 13.1 Data and the Internet
    2. 13.2 A Semistructured Data Model
    3. 13.3 JavaScript Object Notation (JSON)
    4. 13.4 Extensible Markup Language (XML)
      1. 13.4.1 Standalone XML Documents
      2. 13.4.2 Document Type Definition (DTD)
      3. 13.4.3 XML Schema Definition (XSD)
      4. 13.4.4 XML Data Manipulation
      5. 13.4.5 XML Parsers
    5. 13.5 JSON and XML in Relational Databases
    6. 13.6 Oracle Implementation of Semistructured Data
      1. 13.6.1 JSON in Oracle
      2. 13.6.2 XML DB
      3. 13.6.3 Oracle XML Developer Kits
    7. 13.7 Chapter Summary
    8. Exercises
  22. 14 Big Data and NoSQL
    1. 14.1 Big Data
    2. 14.2 Distributed File Systems and Parallel Programming Paradigms
      1. 14.2.1 Hadoop Distributed File System
      2. 14.2.2 MapReduce
      3. 14.2.3 Spark
      4. 14.2.4 Hive and HiveQL
    3. 14.3 NoSQL
      1. 14.3.1 Defining NoSQL Technology
      2. 14.3.2 NoSQL Systems
    4. 14.4 A Document Database System: MongoDB
    5. 14.5 A Graph Database System: Neo4j
    6. 14.6 Chapter Summary
    7. Exercises
  23. 15 Data Warehouses
    1. 15.1 Origins of Data Warehousing
    2. 15.2 Operational Databases and Data Warehouses
    3. 15.3 Components of a Data Warehouse
    4. 15.4 Data Warehouse 3-Level Architecture
    5. 15.5 Data Lakes
    6. 15.6 Developing a Data Warehouse
      1. 15.6.1 Top-Down Method
      2. 15.6.2 Bottom-Up Method
      3. 15.6.3 Data Vault Method
    7. 15.7 Data Models for Data Warehouses
      1. 15.7.1 Star Schema and Snowflake Schema
      2. 15.7.2 Data Cubes and Hypercubes
      3. 15.7.3 Semistructured Data
      4. 15.7.4 Column Stores
    8. 15.8 Data Warehouse Administration
    9. 15.9 Views and View Materialization
    10. 15.10 Data Analytics
      1. 15.10.1 Techniques for ROLAP
      2. 15.10.2 Basic Data Cube Operations
      3. 15.10.3 SQL Analytic Functions
    11. 15.11 Data Mining
      1. 15.11.1 Purpose of Data Mining
      2. 15.11.2 Types of Knowledge Discovered
      3. 15.11.3 Models and Methods Used
      4. 15.11.4 Applications of Data Mining
    12. 15.12 Chapter Summary
    13. Exercises
  24. 16 Social, Ethical, and Legal Issues
    1. 16.1 Computerization and Society
    2. 16.2 Ethical Issues in Information Technology
      1. 16.2.1 A Framework for Ethical Decision Making
      2. 16.2.2 Ethical Standards for Computing Professionals
    3. 16.3 Databases and Privacy Issues
      1. 16.3.1 Privacy and Security
      2. 16.3.2 Privacy as a Human Right
      3. 16.3.3 Privacy Legislation in the United States
      4. 16.3.4 Privacy Legislation in the European Union
      5. 16.3.5 Privacy Legislation in Other Countries
    4. 16.4 Intellectual Property
      1. 16.4.1 Definition of Intellectual Property
      2. 16.4.2 Legal Protections for Intellectual Property
      3. 16.4.3 Intellectual Property Protection for Software
    5. 16.5 Chapter Summary
    6. Exercises
  25. Index

Product information

  • Title: Databases Illuminated, 4th Edition
  • Author(s): Catherine M. Ricardo, Susan D. Urban, Karen C. Davis
  • Release date: March 2022
  • Publisher(s): Jones & Bartlett Learning
  • ISBN: 9781284231595