© Chapter opener image: © cherezoff/Shutterstock
1 Introductory Database Concepts
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
2 Database Planning and Database Architecture
2.2.2 Levels of Discussing Data
2.5 Functions of the Database Administrator
2.6 The Three-Level Database Architecture
2.7.1 The Entity-Relationship Model
2.7.2 Relational and Other Record-Based Models
2.7.6 Semistructured Data Models
2.7.7 Big Data and NoSQL Models
3 The Entity-Relationship Model
3.1 Purpose of the Entity-Relationship (ER) Model
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.7 Existence Dependency and Weak Entities
3.9 The Extended Entity-Relationship Model
3.10 Generalization and Specialization
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.3 Database Relations and Tables
4.4 Representing Relational Database Schemas
4.5 Relational Data Manipulation Languages
4.7 Mapping an ER Model to a Relational Schema
4.8 Mapping an EER Model to a Relational Schema
4.8.1 Summary of ER to Relational Mapping Concepts
4.8.2 Mapping EER Set Hierarchies to Relational Tables
4.8.4 EER to Relational Mapping Example
4.9 Forward and Reverse Engineering: ER and Relational Models
5 Relational Database Management Systems and SQL
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.4 Alter Table, Rename Table
5.3.6 Additional SQL DDL Example
5.4 Manipulating the Database: SQL Data Manipulation Language (DML)
5.4.1 Introduction to the Select Statement
5.4.2 Select Using Multiple Tables
5.4.3 Select with Aggregate Functions
5.4.5 Select with Pattern Strings
5.4.6 Operators For Updating: Update, Insert, Delete
6 Normalization and Denormalization
6.1 Objectives of Normalization
6.2 Insertion, Update, and Deletion Anomalies
6.4 Superkeys, Candidate Keys, and Primary Keys
6.5 Normalization Using Candidate Keys
6.5.2 Full Functional Dependency and Second Normal Form
6.5.3 Transitive Dependency and Third Normal Form
6.5.5 Comprehensive Example of Functional Dependencies
6.6 Properties of Relational Decompositions
6.6.4 Decomposition Algorithm for Boyce-Codd Normal Form with Lossless Join
6.8.3 Normalization from an Entity-Relationship Diagram
7.1 Introduction to Advanced SQL Features
7.2.1 Numeric Single-Row Functions
7.2.2 Character Single-Row Functions
7.4 Temporal Databases and SQL
7.5.1 SQL Persistent Stored Modules (PSMs)
7.5.3 Application Programming Interfaces (APIs)
7.6 Using COMMIT and ROLLBACK Statements
7.7.1 Enabling and Disabling Constraints
7.8 Global and Private Temporary Tables
7.9 Java Database Connectivity (JDBC)
7.9.1 Developing a JDBC Application
7.9.3 The PreparedStatement Object
7.9.4 The CallableStatement Object
8 Introduction to Database Security
8.1 Issues in Database Security
8.1.1 Accidental Security Threats
8.1.2 Deliberate Security Threats
8.2 Fundamentals of Access Control
8.2.2 Information System Access Control
8.4 Using Views for Access Control
8.5 Security Logs and Audit Trails
8.6.1 Symmetric Key Encryption
8.8 SQL Data Control Language (DCL)
8.9.5 Creating and Managing User Accounts
8.10 Statistical Database Security
8.11.2 Further Examples of SQL Injection
8.11.3 Mitigation of SQL Injection
8.12 Database Security and the Internet
8.12.4 Certification Authorities
9.1 Rationale for the Object-Oriented Data Model
9.2 Object-Oriented Data Concepts
9.2.3 Class Hierarchies and Inheritance
9.3 Object-Oriented Data Modeling Using UML
9.4 The Object Database Management Group (ODMG) Model and Object Definition Language (ODL)
9.4.7 N-ary Relationships and M:N Relationships with Attributes
9.5 Object Query Language (OQL)
9.6 Developing an OO Database Application
9.6.1 Overview of InterSystems Iris
9.6.2 Schema Definition in Iris
9.7 Extending the Relational Model
9.7.5 Type Hierarchies in Standard SQL
9.7.6 Type Hierarchies in Oracle
9.8 Converting a UML Diagram to an Object-Relational Database Model
9.9 Converting an EER Diagram to an Object-Relational Database Model
10 Relational Query Optimization
10.1 Query Processing and Query Optimization
10.2 Logical Query Optimization
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 Physical Query Optimization
10.3.2 Cost of Processing Selects
10.3.4 Processing Other Operations Projection
10.3.5 Adaptive Query Optimization
10.4 Query Optimization in Oracle
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.2 Two-Phase Locking Protocol
11.5.1 Basic Timestamping Protocol
11.5.3 Multiversion Timestamping
11.8.1 Deferred Update Protocol
11.8.3 Immediate Update Protocol
11.8.5 Overview of the ARIES Recovery Algorithm
11.9 Transaction Management in Oracle
12.1 Rationale for Distribution
12.2 Architectures for a Distributed System
12.2.1 Distributed Processing Using a Centralized Database
12.2.5 Peer-to-Peer Data Management Systems
12.3 Components of a Distributed Database System
12.6 Transaction Control for Distributed Databases
12.7 Distributed Query Processing
12.7.1 Steps in Distributed Query Processing
12.8.1 Blockchain Architecture and Functionality
12.8.2 Blockchain Benefits and Future Directions
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.5 JSON and XML in Relational Databases
13.6 Oracle Implementation of Semistructured Data
13.6.3 Oracle XML Developer Kits
14.2 Distributed File Systems and Parallel Programming Paradigms
14.2.1 Hadoop Distributed File System
14.3.1 Defining NoSQL Technology
14.4 A Document Database System: MongoDB
14.5 A Graph Database System: Neo4j
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.6 Developing a Data Warehouse
15.7 Data Models for Data Warehouses
15.7.1 Star Schema and Snowflake Schema
15.7.2 Data Cubes and Hypercubes
15.8 Data Warehouse Administration
15.9 Views and View Materialization
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 Social, Ethical, and Legal Issues
16.1 Computerization and Society
16.2 Ethical Issues in Information Technology
16.2.2 Ethical Standards for Computing Professionals
16.3 Databases and Privacy Issues
16.3.2 Privacy as a Human Right
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
3.145.53.76