Databases Illuminated, 4th Edition
Read it now on the O’Reilly learning platform with a 10-day free trial.
O’Reilly members get unlimited access to books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.
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.
Show and hide more
Table of contents Product information
Table of contents
- Cover
- Title Page
- Copyright Page
- Dedication
- Contents
- Preface
- About the Author
- Acronyms Used in This Book
- 1 Introductory Database Concepts
- 1.1 Uses of Databases
- 1.2 A Sample Database
- 1.3 The Integrated Database Environment
- 1.4 Roles in the Integrated Database Environment
- 1.5 Advantages of the Integrated Database Approach
- 1.6 Historical Developments in Information Systems
- 1.6.1 Developments in Storage Media
- 1.6.2 Database Models
- 2.1 Data as a Resource
- 2.2 Characteristics of Data
- 2.2.1 Data and Information
- 2.2.2 Levels of Discussing Data
- 2.2.3 Data Sublanguages
- 2.4.1 Data Dictionary
- 2.4.2 Diagramming Tools
- 2.4.3 CASE Packages
- 2.5.1 Planning and Design
- 2.5.2 Developing the Database
- 2.5.3 Database Management
- 2.6.1 External Views
- 2.6.2 Logical Model
- 2.6.3 Internal Model
- 2.6.4 Physical Level
- 2.6.5 Record Retrieval
- 2.6.6 Data Independence
- 2.7.1 The Entity-Relationship Model
- 2.7.2 Relational and Other Record-Based Models
- 2.7.3 Object-Oriented Model
- 2.7.4 Object-Relational Model
- 2.7.5 Data Warehouse Models
- 2.7.6 Semistructured Data Models
- 2.7.7 Big Data and NoSQL Models
- 3.1 Purpose of the Entity-Relationship (ER) Model
- 3.2 Entities
- 3.3 Attributes
- 3.3.1 Domains
- 3.3.2 Null Values
- 3.3.3 Multivalued Attributes
- 3.3.4 Composite Attributes
- 3.3.5 Derived Attributes
- 3.4.1 Superkeys
- 3.4.2 Candidate Keys
- 3.4.3 Primary Keys
- 3.5.1 Degree of Relationships
- 3.5.2 Attributes of Relationship Sets
- 3.5.3 Cardinality of a Relationship
- 3.5.4 Showing Cardinalities in an ER Diagram
- 3.5.5 Participation Constraints
- 3.5.6 Using (min,max) Notation for Cardinality and Participation
- 3.10.1 Specialization
- 3.10.2 Generalization
- 3.10.3 Generalization Constraints
- 3.10.4 Multiple Hierarchies and Inheritance
- 4.1 Advantages of the Relational Model
- 4.2 Relational Data Structures
- 4.2.1 Tables
- 4.2.2 Mathematical Relations
- 4.2.3 Database Relations and Tables
- 4.2.4 Properties of Relations
- 4.2.5 Degree and Cardinality
- 4.2.6 Relation Keys
- 4.5.1 Categories of DMLs
- 4.5.2 Relational Algebra
- 4.8.1 Summary of ER to Relational Mapping Concepts
- 4.8.2 Mapping EER Set Hierarchies to Relational Tables
- 4.8.3 Mapping Unions
- 4.8.4 EER to Relational Mapping Example
- 5.1 Brief History of SQL in Relational Database Systems
- 5.2 Architecture of a Relational Database Management System
- 5.3 Defining the Database: SQL Data Definition Language (DDL)
- 5.3.1 Create Database, Create Schema
- 5.3.2 Create Table
- 5.3.3 Create Index
- 5.3.4 Alter Table, Rename Table
- 5.3.5 Drop Statements
- 5.3.6 Additional SQL DDL Example
- 5.4.1 Introduction to the Select Statement
- 5.4.2 Select Using Multiple Tables
- 5.4.3 Select with Aggregate Functions
- 5.4.4 Select With Group By
- 5.4.5 Select with Pattern Strings
- 5.4.6 Operators For Updating: Update, Insert, Delete
- 6.1 Objectives of Normalization
- 6.2 Insertion, Update, and Deletion Anomalies
- 6.3 Functional Dependency
- 6.4 Superkeys, Candidate Keys, and Primary Keys
- 6.5 Normalization Using Candidate Keys
- 6.5.1 First Normal Form
- 6.5.2 Full Functional Dependency and Second Normal Form
- 6.5.3 Transitive Dependency and Third Normal Form
- 6.5.4 Boyce-Codd Normal Form
- 6.5.5 Comprehensive Example of Functional Dependencies
- 6.6.1 Attribute Preservation
- 6.6.2 Dependency Preservation
- 6.6.3 Lossless Decomposition
- 6.6.4 Decomposition Algorithm for Boyce-Codd Normal Form with Lossless Join
- 6.8.1 Analysis
- 6.8.2 Synthesis
- 6.8.3 Normalization from an Entity-Relationship Diagram
- 7.1 Introduction to Advanced SQL Features
- 7.2 Additional SQL Functions
- 7.2.1 Numeric Single-Row Functions
- 7.2.2 Character Single-Row Functions
- 7.2.3 Date and Time Functions
- 7.4.1 User Valid Time
- 7.4.2 Transaction Time
- 7.5.1 SQL Persistent Stored Modules (PSMs)
- 7.5.2 Embedded SQL
- 7.5.3 Application Programming Interfaces (APIs)
- 7.5.4 Dynamic SQL
- 7.7.1 Enabling and Disabling Constraints
- 7.7.2 SQL Triggers
- 7.9.1 Developing a JDBC Application
- 7.9.2 The Statement Object
- 7.9.3 The PreparedStatement Object
- 7.9.4 The CallableStatement Object
- 7.9.5 Updating the Database
- 7.9.6 Querying Metadata
- 8.1 Issues in Database Security
- 8.1.1 Accidental Security Threats
- 8.1.2 Deliberate Security Threats
- 8.2.1 Physical Security
- 8.2.2 Information System Access Control
- 8.6.1 Symmetric Key Encryption
- 8.6.2 Public-Key Encryption
- 8.9.1 Security Features
- 8.9.2 Oracle Security Tools
- 8.9.3 Administrative Accounts
- 8.9.4 User Privileges
- 8.9.5 Creating and Managing User Accounts
- 8.11.1 SQL Vulnerability
- 8.11.2 Further Examples of SQL Injection
- 8.11.3 Mitigation of SQL Injection
- 8.12.1 Proxy Servers
- 8.12.2 Firewalls
- 8.12.3 Digital Signatures
- 8.12.4 Certification Authorities
- 9.1 Rationale for the Object-Oriented Data Model
- 9.2 Object-Oriented Data Concepts
- 9.2.1 Objects and Literals
- 9.2.2 Classes
- 9.2.3 Class Hierarchies and Inheritance
- 9.2.4 Object Identity
- 9.4.1 Class Declarations
- 9.4.2 Extent
- 9.4.3 Attributes
- 9.4.4 Relationships
- 9.4.5 Methods
- 9.4.6 Classes and Inheritance
- 9.4.7 N-ary Relationships and M:N Relationships with Attributes
- 9.4.8 Keys
- 9.6.1 Overview of InterSystems Iris
- 9.6.2 Schema Definition in Iris
- 9.7.1 Large Object Data Types
- 9.7.2 Structured Types
- 9.7.3 UDTs
- 9.7.4 Reference Types
- 9.7.5 Type Hierarchies in Standard SQL
- 9.7.6 Type Hierarchies in Oracle
- 9.7.7 Nested Tables in Oracle
- 9.7.8 Oracle Object Views
- 10.1 Query Processing and Query Optimization
- 10.2 Logical Query Optimization
- 10.2.1 The Query Tree
- 10.2.2 An SQL Query and Its Relational Algebra Translation
- 10.2.3 Performing SELECT Operations Early
- 10.2.4 Evaluating Conjunctive Conditions
- 10.2.5 Performing PROJECT Early
- 10.2.6 Equivalence of Algebraic Operations
- 10.2.7 Heuristics for Query Optimization
- 10.3.1 Cost Factors
- 10.3.2 Cost of Processing Selects
- 10.3.3 Processing Joins
- 10.3.4 Processing Other Operations Projection
- 10.3.5 Adaptive Query Optimization
- 10.3.6 Pipelining
- 11.1 ACID Properties of Transactions
- 11.2 Need for Concurrency Control
- 11.2.1 The Lost Update Problem
- 11.2.2 The Uncommitted Update Problem
- 11.2.3 The Problem of Inconsistent Analysis
- 11.4.1 Deadlock and Starvation
- 11.4.2 Two-Phase Locking Protocol
- 11.4.3 Levels of Locking
- 11.5.1 Basic Timestamping Protocol
- 11.5.2 Thomas’s Write Rule
- 11.5.3 Multiversion Timestamping
- 11.8.1 Deferred Update Protocol
- 11.8.2 Checkpoints
- 11.8.3 Immediate Update Protocol
- 11.8.4 Shadow Paging
- 11.8.5 Overview of the ARIES Recovery Algorithm
- 11.9.1 Transaction Limits
- 11.9.2 Isolation Levels
- 11.9.3 Types of Locks
- 11.9.4 Recovery Management
- 12.1 Rationale for Distribution
- 12.2 Architectures for a Distributed System
- 12.2.1 Distributed Processing Using a Centralized Database
- 12.2.2 Client-Server Systems
- 12.2.3 Parallel Databases
- 12.2.4 Distributed Databases
- 12.2.5 Peer-to-Peer Data Management Systems
- 12.2.6 Cloud Database Systems
- 12.6.1 Concurrency Control
- 12.6.2 Recovery
- 12.7.1 Steps in Distributed Query Processing
- 12.7.2 The Semijoin Operation
- 12.8.1 Blockchain Architecture and Functionality
- 12.8.2 Blockchain Benefits and Future Directions
- 13.1 Data and the Internet
- 13.2 A Semistructured Data Model
- 13.3 JavaScript Object Notation (JSON)
- 13.4 Extensible Markup Language (XML)
- 13.4.1 Standalone XML Documents
- 13.4.2 Document Type Definition (DTD)
- 13.4.3 XML Schema Definition (XSD)
- 13.4.4 XML Data Manipulation
- 13.4.5 XML Parsers
- 13.6.1 JSON in Oracle
- 13.6.2 XML DB
- 13.6.3 Oracle XML Developer Kits
- 14.1 Big Data
- 14.2 Distributed File Systems and Parallel Programming Paradigms
- 14.2.1 Hadoop Distributed File System
- 14.2.2 MapReduce
- 14.2.3 Spark
- 14.2.4 Hive and HiveQL
- 14.3.1 Defining NoSQL Technology
- 14.3.2 NoSQL Systems
- 15.1 Origins of Data Warehousing
- 15.2 Operational Databases and Data Warehouses
- 15.3 Components of a Data Warehouse
- 15.4 Data Warehouse 3-Level Architecture
- 15.5 Data Lakes
- 15.6 Developing a Data Warehouse
- 15.6.1 Top-Down Method
- 15.6.2 Bottom-Up Method
- 15.6.3 Data Vault Method
- 15.7.1 Star Schema and Snowflake Schema
- 15.7.2 Data Cubes and Hypercubes
- 15.7.3 Semistructured Data
- 15.7.4 Column Stores
- 15.10.1 Techniques for ROLAP
- 15.10.2 Basic Data Cube Operations
- 15.10.3 SQL Analytic Functions
- 15.11.1 Purpose of Data Mining
- 15.11.2 Types of Knowledge Discovered
- 15.11.3 Models and Methods Used
- 15.11.4 Applications of Data Mining
- 16.1 Computerization and Society
- 16.2 Ethical Issues in Information Technology
- 16.2.1 A Framework for Ethical Decision Making
- 16.2.2 Ethical Standards for Computing Professionals
- 16.3.1 Privacy and Security
- 16.3.2 Privacy as a Human Right
- 16.3.3 Privacy Legislation in the United States
- 16.3.4 Privacy Legislation in the European Union
- 16.3.5 Privacy Legislation in Other Countries
- 16.4.1 Definition of Intellectual Property
- 16.4.2 Legal Protections for Intellectual Property
- 16.4.3 Intellectual Property Protection for Software
Show and hide more
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