An abstract graphic consisting of small, medium, and large cubes.

© Chapter opener image: © cherezoff/Shutterstock

CONTENTS

Preface

About the Authors

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

1.7 Big Data

1.8 Chapter Summary

2 Database Planning and Database Architecture

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.3 Stages in Database Design

2.4 Design Tools

2.4.1 Data Dictionary

2.4.2 Diagramming Tools

2.4.3 CASE Packages

2.5 Functions of the Database Administrator

2.5.1 Planning and Design

2.5.2 Developing the Database

2.5.3 Database Management

2.6 The Three-Level Database Architecture

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 Overview of Data Models

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

2.8 Chapter Summary

3 The Entity-Relationship Model

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 Keys

3.4.1 Superkeys

3.4.2 Candidate Keys

3.4.3 Primary Keys

3.5 Relationships

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.6 Roles

3.7 Existence Dependency and Weak Entities

3.8 Sample ER Diagrams

3.9 The Extended Entity-Relationship Model

3.10 Generalization and Specialization

3.10.1 Specialization

3.10.2 Generalization

3.10.3 Generalization Constraints

3.10.4 Multiple Hierarchies and Inheritance

3.11 Union

3.12 Sample EER Diagrams

3.13 Chapter Summary

4 The Relational Model

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.3 Integrity Constraints

4.4 Representing Relational Database Schemas

4.5 Relational Data Manipulation Languages

4.5.1 Categories of DMLs

4.5.2 Relational Algebra

4.6 Views

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.3 Mapping Unions

4.8.4 EER to Relational Mapping Example

4.9 Forward and Reverse Engineering: ER and Relational Models

4.10 Chapter Summary

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.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 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.4 Select With Group By

5.4.5 Select with Pattern Strings

5.4.6 Operators For Updating: Update, Insert, Delete

5.5 Creating and Using Views

5.6 The System Catalog

5.7 Chapter Summary

6 Normalization and Denormalization

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 Properties of Relational Decompositions

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.7 Higher Normal Forms

6.8 The Normalization Process

6.8.1 Analysis

6.8.2 Synthesis

6.8.3 Normalization from an Entity-Relationship Diagram

6.9 When to Stop Normalizing

6.10 Non-normalized Databases

6.11 Chapter Summary

7 Advanced SQL

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.3 Sequences

7.4 Temporal Databases and SQL

7.4.1 User Valid Time

7.4.2 Transaction Time

7.5 SQL Programming

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.6 Using COMMIT and ROLLBACK Statements

7.7 Active Databases

7.7.1 Enabling and Disabling Constraints

7.7.2 SQL Triggers

7.8 Global and Private Temporary Tables

7.9 Java Database Connectivity (JDBC)

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

7.10 Chapter Summary

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.1 Physical Security

8.2.2 Information System Access Control

8.3 Database Access Control

8.4 Using Views for Access Control

8.5 Security Logs and Audit Trails

8.6 Encryption

8.6.1 Symmetric Key Encryption

8.6.2 Public-Key Encryption

8.7 Data De-identification

8.8 SQL Data Control Language (DCL)

8.9 Security in Oracle

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.10 Statistical Database Security

8.11 SQL Injection

8.11.1 SQL Vulnerability

8.11.2 Further Examples of SQL Injection

8.11.3 Mitigation of SQL Injection

8.12 Database Security and the Internet

8.12.1 Proxy Servers

8.12.2 Firewalls

8.12.3 Digital Signatures

8.12.4 Certification Authorities

8.13 Chapter Summary

9 Object-Based Models

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.3 Object-Oriented Data Modeling Using UML

9.4 The Object Database Management Group (ODMG) Model and Object Definition Language (ODL)

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.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.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

9.8 Converting a UML Diagram to an Object-Relational Database Model

9.9 Converting an EER Diagram to an Object-Relational Database Model

9.10 Chapter Summary

10 Relational Query Optimization

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 Physical 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

10.4 Query Optimization in Oracle

10.5 Chapter Summary

11 Transaction Management

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.3 Serializability

11.4 Locking

11.4.2 Two-Phase Locking Protocol

11.4.3 Levels of Locking

11.5 Timestamping

11.5.1 Basic Timestamping Protocol

11.5.2 Thomas’s Write Rule

11.5.3 Multiversion Timestamping

11.6 Optimistic Techniques

11.7 Need for Recovery

11.8 Recovery Techniques

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 Transaction Management in Oracle

11.9.1 Transaction Limits

11.9.2 Isolation Levels

11.9.3 Types of Locks

11.9.4 Recovery Management

11.10 Chapter Summary

12 Distributed Databases

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.3 Components of a Distributed Database System

12.4 Data Placement

12.5 Transparency

12.6 Transaction Control for Distributed Databases

12.6.1 Concurrency Control

12.6.2 Recovery

12.7 Distributed Query Processing

12.7.1 Steps in Distributed Query Processing

12.7.2 The Semijoin Operation

12.8 Blockchain Technology

12.8.1 Blockchain Architecture and Functionality

12.8.2 Blockchain Benefits and Future Directions

12.9 Chapter Summary

13 Semistructured Data

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.5 JSON and XML in Relational Databases

13.6 Oracle Implementation of Semistructured Data

13.6.1 JSON in Oracle

13.6.2 XML DB

13.6.3 Oracle XML Developer Kits

13.7 Chapter Summary

14 Big Data and NoSQL

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 NoSQL

14.3.1 Defining NoSQL Technology

14.3.2 NoSQL Systems

14.4 A Document Database System: MongoDB

14.5 A Graph Database System: Neo4j

14.6 Chapter Summary

15 Data Warehouses

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 Data Models for Data Warehouses

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.8 Data Warehouse Administration

15.9 Views and View Materialization

15.10 Data Analytics

15.10.1 Techniques for (ROLAP)

15.10.2 Basic Data Cube Operations

15.10.3 SQL Analytic Functions

15.11 Data Mining

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

15.12 Chapter Summary

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.1 Privacy and Security

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 Intellectual Property

16.4.1 Definition of Intellectual Property

16.4.2 Legal Protections for Intellectual Property

16.4.3 Intellectual Property Protection for Software

INDEX

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset
3.145.53.76