Database Systems: A Practical Approach to Design, Implementation, and Management, 6th edition
- Thomas Connolly
- , Carolyn Begg
- Study simpler and faster
Use flashcards and other study tools in your eTextbook
- Listen on the go
Learn how you like with full eTextbook audio
- Find it fast
Quickly navigate your eTextbook with search
- Stay organized
Access all your eTextbooks in one place
- Easily continue access
Keep learning with auto-renew
This book is ideal for a one- or two-term course in database management or database design in an undergraduate or graduate level course. With its comprehensive coverage, this book can also be used as a reference for IT professionals.
This best-selling text introduces the theory behind databases in a concise yet comprehensive manner, providing database design methodology that can be used by both technical and non-technical readers. The methodology for relational Database Management Systems is presented in simple, step-by-step instructions in conjunction with a realistic worked example using three explicit phases—conceptual, logical, and physical database design.
Teaching and Learning Experience
This program presents a better teaching and learning experience–for you and your students. It provides:
- Database Design Methodology that can be Used by Both Technical and Non-technical Readers
- A Comprehensive Introduction to the Theory behind Databases
- A Clear Presentation that Supports Learning
Published by Pearson (July 14th 2021) - Copyright © 2013
ISBN-13: 9780137517053
Subject: Database
Category: Database Systems
Table of Contents
Part 1 Background
- Chapter 1 Introduction to Databases
- 1.1 Introduction
- 1.2 Traditional File-Based Systems
- 1.2.1 File-Based Approach
- 1.2.2 Limitations of the File-Based Approach
- 1.3 Database Approach
- 1.3.1 The Database
- 1.3.2 The Database Management System (DBMS)
- 1.3.3 (Database) Application Programs
- 1.3.4 Components of the DBMS Environment
- 1.3.5 Database Design: The Paradigm Shift
- 1.4 Roles in the Database Environment
- 1.4.1 Data and Database Administrators
- 1.4.2 Database Designers
- 1.4.3 Application Developers
- 1.4.4 End-Users
- 1.5 History of Database Management Systems
- 1.6 Advantages and Disadvantages of DBMSs
- Chapter Summary
- Review Questions
- Exercises
- Chapter 2 Database Environment
- 2.1 The Three-Level ANSI-SPARC Architecture
- 2.1.1 External Level
- 2.1.2 Conceptual Level
- 2.1.3 Internal Level
- 2.1.4 Schemas, Mappings, and Instances
- 2.1.5 Data Independence
- 2.2 Database Languages
- 2.2.1 The Data Definition Language (DDL)
- 2.2.2 The Data Manipulation Language (DML)
- 2.2.3 Fourth-Generation Languages (4GLs)
- 2.3 Data Models and Conceptual Modeling
- 2.3.1 Object-Based Data Models
- 2.3.2 Record-Based Data Models
- 2.3.3 Physical Data Models
- 2.3.4 Conceptual Modeling
- 2.4 Functions of a DBMS
- Chapter Summary
- Review Questions
- Exercises
- 2.1 The Three-Level ANSI-SPARC Architecture
- Chapter 3 Database Architectures and the Web
- 3.1 Multi-user DBMS Architectures
- 3.1.1 Teleprocessing
- 3.1.2 File-Server Architecture
- 3.1.3 Traditional Two-Tier Client—Server Architecture
- 3.1.4 Three-Tier Client—Server Architecture
- 3.1.5 N-Tier Architectures
- 3.1.6 Middleware
- 3.1.7 Transaction Processing Monitors
- 3.2 Web Services and Service-Oriented Architectures
- 3.2.1 Web Services
- 3.2.2 Service-Oriented Architectures (SOA)
- 3.3 Distributed DBMSs
- 3.4 Data Warehousing
- 3.5 Cloud Computing
- 3.5.1 Benefits and Risks of Cloud Computing
- 3.5.2 Cloud-based database solutions
- 3.6 Components of a DBMS
- 3.7 Oracle Architecture
- 3.7.1 Oracle’s Logical Database Structure
- 3.7.2 Oracle’s Physical Database Structure
- Chapter Summary
- Review Questions
- Exercises
Part 2 The Relational Model and Languages
- Chapter 4 The Relational Model
- 4.1 Brief History of the Relational Model
- 4.2 Terminology
- 4.2.1 Relational Data Structure
- 4.2.2 Mathematical Relations
- 4.2.3 Database Relations
- 4.2.4 Properties of Relations
- 4.2.5 Relational Keys
- 4.2.6 Representing Relational Database Schemas
- 4.3 Integrity Constraints
- 4.3.1 Nulls
- 4.3.2 Entity Integrity
- 4.3.3 Referential Integrity
- 4.3.4 General Constraints
- 4.4 Views
- 4.4.1 Terminology
- 4.4.2 Purpose of Views
- 4.4.3 Updating Views
- Chapter Summary
- Review Questions
- Exercises
- Chapter 5 Relational Algebra and Relational Calculus
- 5.1 The Relational Algebra
- 5.1.1 Unary Operations
- 5.1.2 Set Operations
- 5.1.3 Join Operations
- 5.1.4 Division Operation
- 5.1.5 Aggregation and Grouping Operations
- 5.1.6 Summary of the Relational Algebra Operations
- 5.2 The Relational Calculus
- 5.2.1 Tuple Relational Calculus
- 5.2.2 Domain Relational Calculus
- 5.3 Other Languages
- 5.1 The Relational Algebra
- Chapter Summary
- Review Questions
- Exercises
- 3.1 Multi-user DBMS Architectures
- Chapter 6 SQL: Data Manipulation
- 6.1 Introduction to SQL
- 6.1.1 Objectives of SQL
- 6.1.2 History of SQL
- 6.1.3 Importance of SQL
- 6.1.4 Terminology
- 6.2 Writing SQL Commands
- 6.3 Data Manipulation
- 6.3.1 Simple Queries
- 6.3.2 Sorting Results (ORDER BY Clause)
- 6.3.3 Using the SQL Aggregate Functions
- 6.3.4 Grouping Results (GROUP BY Clause)
- 6.3.5 Subqueries
- 6.3.6 ANY and ALL
- 6.3.7 Multi-table Queries
- 6.3.8 EXISTS and NOT EXISTS
- 6.3.9 Combining Result Tables (UNION, INTERSECT, EXCEPT)
- 6.3.10 Database Updates
- Chapter Summary
- Review Questions
- Exercises
- 6.1 Introduction to SQL
- Chapter 7 SQL: Data Definition
- 7.1 The ISO SQL Data Types
- 7.1.1 SQL Identifiers
- 7.1.2 SQL Scalar Data Types
- 7.2 Integrity Enhancement Feature
- 7.2.1 Required Data
- 7.2.2 Domain Constraints
- 7.2.3 Entity Integrity
- 7.2.4 Referential Integrity
- 7.2.5 General Constraints
- 7.3 Data Definition
- 7.3.1 Creating a Database
- 7.3.2 Creating a Table (CREATE TABLE)
- 7.3.3 Changing a Table Definition (ALTER TABLE)
- 7.3.4 Removing a Table (DROP TABLE)
- 7.3.5 Creating an Index (CREATE INDEX)
- 7.3.6 Removing an Index (DROP INDEX)
- 7.4 Views
- 7.4.1 Creating a View (CREATE VIEW)
- 7.4.2 Removing a View (DROP VIEW)
- 7.4.3 View Resolution
- 7.4.4 Restrictions on Views
- 7.4.5 View Updatability
- 7.4.6 WITH CHECK OPTION
- 7.4.7 Advantages and Disadvantages of Views
- 7.4.8 View Materialization
- 7.5 Transactions
- 7.5.1 Immediate and Deferred Integrity Constraints
- 7.6 Discretionary Access Control
- 7.6.1 Granting Privileges to Other Users (GRANT)
- 7.6.2 Revoking Privileges from Users (REVOKE)
- Chapter Summary
- Review Questions
- Exercises
- 7.1 The ISO SQL Data Types
- Chapter 8 Advanced SQL
- 8.1 The SQL Programming Language
- 8.1.1 Declarations
- 8.1.2 Assignments
- 8.1.3 Control Statements
- 8.1.4 Exceptions in PL/SQL
- 8.1.5 Cursors in PL/SQL
- 8.2 Subprograms, Stored Procedures, Functions, and Packages
- 8.3 Triggers
- 8.4 Recursion
- Chapter Summary
- Review Questions
- Exercises
- 8.1 The SQL Programming Language
- Chapter 9 Object-Relational DBMSs
- 9.1 Advanced Database Applications
- 9.2 Weaknesses of RDBMSs
- 9.3 Storing Objects in a Relational Database
- 9.3.1 Mapping Classes to Relations
- 9.3.2 Accessing Objects in the Relational Database
- 9.4 Introduction to Object-Relational Database Systems
- 9.5 SQL:2011
- 9.5.1 Row Types
- 9.5.2 User-Defined Types
- 9.5.3 Subtypes and Supertypes
- 9.5.4 User-Defined Routines
- 9.5.5 Polymorphism
- 9.5.6 Reference Types and Object Identity
- 9.5.7 Creating Tables
- 9.5.8 Querying Data
- 9.5.9 Collection Types
- 9.5.10 Typed Views
- 9.5.11 Persistent Stored Modules
- 9.5.12 Triggers
- 9.5.13 Large Objects
- 9.5.14 Recursion
- 9.6 Object-Oriented Extensions in Oracle
- 9.6.1 User-Defined Data Types
- 9.6.2 Manipulating Object Tables
- 9.6.3 Object Views
- 9.6.4 Privileges
- Chapter Summary
- Review Questions
- Exercises
Part 3 Database Analysis and Design
- Chapter 10 Database System Development Lifecycle
- 10.1 The Information Systems Lifecycle
- 10.2 The Database System Development Lifecycle
- 10.3 Database Planning
- 10.4 System Definition
- 10.4.1 User Views
- 10.5 Requirements Collection and Analysis
- 10.5.1 Centralized Approach
- 10.5.2 View Integration Approach
- 10.6 Database Design
- 10.6.1 Approaches to Database Design
- 10.6.2 Data Modeling
- 10.6.3 Phases of Database Design
- 10.7 DBMS Selection
- 10.7.1 Selecting the DBMS
- 10.8 Application Design
- 10.8.1 Transaction Design
- 10.8.2 User Interface Design Guidelines
- 10.9 Prototyping
- 10.10 Implementation
- 10.11 Data Conversion and Loading
- 10.12 Testing
- 10.13 Operational Maintenance
- 10.14 CASE Tools
- Chapter Summary
- Review Questions
- Exercises
- Chapter 11 Database Analysis and the DreamHome Case Study
- 11.1 When Are Fact-Finding Techniques Used?
- 11.2 What Facts Are Collected?
- 11.3 Fact-Finding Techniques
- 11.3.1 Examining Documentation
- 11.3.2 Interviewing
- 11.3.3 Observing the Enterprise in Operation
- 11.3.4 Research
- 11.3.5 Questionnaires
- 11.4 Using Fact-Finding Techniques: A Worked -Example
- 11.4.1 The DreamHome Case Study–An Overview of the Current System
- 11.4.2 The DreamHome Case Study–Database Planning
- 11.4.3 The DreamHome Case Study–System Definition
- 11.4.4 The DreamHome Case Study–Requirements Collection and Analysis
- 11.4.5 The DreamHome Case Study–Database Design
- Chapter Summary
- Review Questions
- Exercises
- Chapter 12 Entity—Relationship Modeling
- 12.1 Entity Types
- 12.2 Relationship Types
- 12.2.1 Degree of Relationship Type
- 12.2.2 Recursive Relationship
- 12.3 Attributes
- 12.3.1 Simple and Composite Attributes
- 12.3.2 Single-valued and Multi-valued Attributes
- 12.3.3 Derived Attributes
- 12.3.4 Keys
- 12.4 Strong and Weak Entity Types
- 12.5 Attributes on Relationships
- 12.6 Structural Constraints
- 12.6.1 One-to-One (1:1) Relationships
- 12.6.2 One-to-Many (1:*) Relationships
- 12.6.3 Many-to-Many (*:*) Relationships
- 12.6.4 Multiplicity for Complex Relationships
- 12.6.5 Cardinality and Participation Constraints
- 12.7 Problems with ER Models
- 12.7.1 Fan Traps
- 12.7.2 Chasm Traps
- Chapter Summary
- Review Questions
- Exercises
- Chapter 13 Enhanced Entity—Relationship Modeling
- 13.1 Specialization/Generalization
- 13.1.1 Superclasses and Subclasses
- 13.1.2 Superclass/Subclass Relationships
- 13.1.3 Attribute Inheritance
- 13.1.4 Specialization Process
- 13.1.5 Generalization Process
- 13.1.6 Constraints on Specialization/Generalization
- 13.1.7 Worked Example of using Specialization/ Generalization to Model the Branch View of the DreamHome Case Study
- 13.2 Aggregation
- 13.3 Composition
- Chapter Summary
- Review Questions
- Exercises
- 13.1 Specialization/Generalization
- Chapter 14 Normalization
- 14.1 The Purpose of Normalization
- 14.2 How Normalization Supports Database Design
- 14.3 Data Redundancy and Update Anomalies
- 14.3.1 Insertion Anomalies
- 14.3.2 Deletion Anomalies
- 14.3.3 Modification Anomalies
- 14.4 Functional Dependencies
- 14.4.1 Characteristics of Functional Dependencies
- 14.4.2 Identifying Functional Dependencies
- 14.4.3 Identifying the Primary Key for a Relation Using Functional Dependencies
- 14.5 The Process of Normalization
- 14.6 First Normal Form (1NF)
- 14.7 Second Normal Form (2NF)
- 14.8 Third Normal Form (3NF)
- 14.9 General Definitions of 2NF and 3NF
- Chapter Summary
- Review Questions
- Exercises
- Chapter 15 Advanced Normalization
- 15.1 More on Functional Dependencies
- 15.1.1 Inference Rules for Functional Dependencies
- 15.1.2 Minimal Sets of Functional Dependencies
- 15.2 Boyce—Codd Normal Form (BCNF)
- 15.2.1 Definition of BCNF
- 15.3 Review of Normalization Up to BCNF
- 15.4 Fourth Normal Form (4NF)
- 15.4.1 Multi-Valued Dependency
- 15.4.2 Definition of Fourth Normal Form
- 15.5 Fifth Normal Form (5NF)
- 15.5.1 Lossless-Join Dependency
- 15.5.2 Definition of Fifth Normal Form
- Chapter Summary
- Review Questions
- Exercises
- 15.1 More on Functional Dependencies
Part 4 Methodology
- Chapter 16 Methodology–Conceptual Database Design
- 16.1 Introduction to the Database Design Methodology
- 16.1.1 What Is a Design Methodology?
- 16.1.2 Conceptual, Logical, and Physical Database Design
- 16.1.3 Critical Success Factors in Database Design
- 16.2 Overview of the Database Design Methodology
- 16.3 Conceptual Database Design Methodology
- Step 1: Build Conceptual Data Model
- Chapter Summary
- Review Questions
- Exercises
- 16.1 Introduction to the Database Design Methodology
- Chapter 17 Methodology–Logical Database Design for the Relational Model
- 17.1 Logical Database Design Methodology for the Relational Model
- Step 2: Build Logical Data Model
- Chapter Summary
- Review Questions
- Exercises
- Chapter 18 Methodology–Physical Database Design for Relational Databases
- 18.1 Comparison of Logical and Physical Database Design
- 18.2 Overview of the Physical Database Design Methodology
- 18.3 The Physical Database Design Methodology for Relational Databases
- Step 3: Translate Logical Data Model for Target DBMS
- Step 4: Design File Organizations and Indexes
- Step 5: Design User Views
- Step 6: Design Security Mechanisms
- Chapter Summary
- Review Questions
- Exercises
- Chapter 19 Methodology–Monitoring and Tuning the Operational System
- 19.1 Denormalizing and Introducing Controlled Redundancy
- Step 7: Consider the Introduction of Controlled Redundancy
- 19.2 Monitoring the System to Improve Performance
- Step 8: Monitor and Tune the Operational System
- Chapter Summary
- Review Questions
- Exercises
Part 5 Selected Database Issues
- Chapter 20 Security and Administration
- 20.1 Database Security
- 20.1.1 Threats
- 20.2 Countermeasures–Computer-Based Controls
- 20.2.1 Authorization
- 20.2.2 Access Controls
- 20.2.3 Views
- 20.2.4 Backup and Recovery
- 20.2.5 Integrity
- 20.2.6 Encryption
- 20.2.7 RAID (Redundant Array of Independent Disks)
- 20.3 Security in Microsoft Office Access DBMS
- 20.4 Security in Oracle DBMS
- 20.5 DBMSs and Web Security
- 20.5.1 Proxy Servers
- 20.5.2 Firewalls
- 20.5.3 Message Digest Algorithms and Digital Signatures
- 20.5.4 Digital Certificates
- 20.5.5 Kerberos
- 20.5.6 Secure Sockets Layer and Secure HTTP
- 20.5.7 Secure Electronic Transactions and Secure Transaction Technology
- 20.5.8 Java Security
- 20.5.9 ActiveX Security
- 20.6 Data Administration and Database Administration
- 20.6.1 Data Administration
- 20.6.2 Database Administration
- 20.6.3 Comparison of Data and Database Administration
- Chapter Summary
- Review Questions
- Exercises
- 20.1 Database Security
- Chapter 21 Professional, Legal, and Ethical Issues in Data Management
- 21.1 Defining Legal and Ethical Issues in IT
- 21.1.1 Defining Ethics in the Context of IT
- 21.1.2 The Difference Between Ethical and Legal Behavior
- 21.1.3 Ethical Behavior in IT
- 21.2 Legislation and Its Impact on the IT Function
- 21.2.1 Securities and Exchange Commission (SEC) Regulation National Market System (NMS)
- 21.2.2 The Sarbanes-Oxley Act, COBIT, and COSO
- 21.2.3 The Health Insurance Portability and Accountability Act
- 21.2.4 The European Union (EU) Directive on Data Protection of 1995
- 21.2.5 The United Kingdom’s Data Protection Act of 1998
- 21.2.6 Access to Information Laws
- 21.2.7 International Banking–Basel II Accords
- 21.3 Establishing a Culture of Legal and Ethical Data Stewardship
- 21.3.1 Developing an Organization-Wide Policy for Legal and Ethical Behavior
- 21.3.2 Professional Organizations and Codes of Ethics
- 21.3.3 Developing an Organization-Wide Policy for Legal and Ethical Behavior for DreamHome
- 21.4 Intellectual Property
- 21.4.1 Patent
- 21.4.2 Copyright
- 21.4.3 Trademark
- 21.4.4 Intellectual Property Rights Issues for Software
- 21.4.5 Intellectual Property Rights Issues for Data
- Chapter Summary
- Review Questions
- Exercises
- 21.1 Defining Legal and Ethical Issues in IT
- Chapter 22 Transaction Management
- 22.1 Transaction Support
- 22.1.1 Properties of Transactions
- 22.1.2 Database Architecture
- 22.2 Concurrency Control
- 22.2.1 The Need for Concurrency Control
- 22.2.2 Serializability and Recoverability
- 22.2.3 Locking Methods
- 22.2.4 Deadlock
- 22.2.5 Timestamping Methods
- 22.2.6 Multiversion Timestamp Ordering
- 22.2.7 Optimistic Techniques
- 22.2.8 Granularity of Data Items
- 22.3 Database Recovery
- 22.3.1 The Need for Recovery
- 22.3.2 Transactions and Recovery
- 22.3.3 Recovery Facilities
- 22.3.4 Recovery Techniques
- 22.3.5 Recovery in a Distributed DBMS
- 22.4 Advanced Transaction Models
- 22.4.1 Nested Transaction Model
- 22.4.2 Sagas
- 22.4.3 Multilevel Transaction Model
- 22.4.4 Dynamic Restructuring
- 22.4.5 Workflow Models
- 22.5 Concurrency Control and Recovery in Oracle
- 22.5.1 Oracle’s Isolation Levels
- 22.5.2 Multiversion Read Consistency
- 22.5.3 Deadlock Detection
- 22.5.4 Backup and Recovery
- Chapter Summary
- Review Questions
- Exercises
- 22.1 Transaction Support
- Chapter 23 Query Processing
- 23.1 Overview of Query Processing
- 23.2 Query Decomposition
- 23.3 Heuristical Approach to Query Optimization
- 23.3.1 Transformation Rules for the Relational Algebra Operations
- 23.3.2 Heuristical Processing Strategies
- 23.4 Cost Estimation for the Relational Algebra Operations
- 23.4.1 Database Statistics
- 23.4.2 Selection Operation (S = sp(R))
- 23.4.3 Join Operation (T = (R 1F S))
- 23.4.4 Projection Operation (S = pA1, A2, . . . , A m(R))
- 23.4.5 The Relational Algebra Set Operations (T = R ¿ S, T = R > S, T = R — S)
- 23.5 Enumeration of Alternative Execution Strategies
- 23.5.1 Pipelining
- 23.5.2 Linear Trees
- 23.5.3 Physical Operators and Execution Strategies
- 23.5.4 Reducing the Search Space
- 23.5.5 Enumerating Left-Deep Trees
- 23.5.6 Semantic Query Optimization
- 23.5.7 Alternative Approaches to Query Optimization
- 23.5.8 Distributed Query Optimization
- 23.6 Query Processing and Optimization
- 23.6.1 New Index Types
- 23.7 Query Optimization in Oracle
- 23.7.1 Rule-Based and Cost-Based Optimization
- 23.7.2 Histograms
- 23.7.3 Viewing the Execution Plan
- Chapter Summary
- Review Questions
- Exercises
Part 6 Distributed DBMSs and Replication
- Chapter 24 Distributed DBMSs–Concepts and Design
- 24.1 Introduction
- 24.1.1 Concepts
- 24.1.2 Advantages and Disadvantages of DDBMSs
- 24.1.3 Homogeneous and Heterogeneous DDBMSs
- 24.2 Overview of Networking
- 24.3 Functions and Architectures of a DDBMS
- 24.3.1 Functions of a DDBMS
- 24.3.2 Reference Architecture for a DDBMS
- 24.3.3 Reference Architecture for a Federated MDBS
- 24.3.4 Component Architecture for a DDBMS
- 24.4 Distributed Relational Database Design
- 24.4.1 Data Allocation
- 24.4.2 Fragmentation
- 24.1 Introduction