Fundamentals of Database Management System
Fundamentals of Database Management System
ISBN 9788182091498
 Publication Date

PAPERBACK

EBOOK (EPUB)

EBOOK (PDF)

This book is designed to provide a thorough grounding into the fundamentals of the subject while offering insights into new developments and new theories. The book retains al the winning ways of its previous edition, and is clear, simple and easy to understand.

- Clear exposition of topics on conceptual modelling, RDBMS and Structured Query Language.

- Succinct coverage of topics on distributed databases, object oriented and object-relational databases and XML databases.

- Presents adequate coverage of database security, data integrity, data mining and OLAP.

- Includes 1300 review questions, and 1800 objective type questions.

- Appendix contains 9 model question papers with tagged answers based on past university examination question papers.

  • Cover
  • Title Page
  • Copyright Page
  • Dedication
  • Preface
  • Contents at a Glance
  • Contents
  • 1. Introduction to Database Management Systems (DBMS)
    • 1.1 Information
    • 1.2 Data and Data Management
    • 1.3 File-based Data Management
      • 1.3.1 Disadvantages of File-based Data Management Systems
        • 1.3.1.1 Need for Programming and Skilled Personnel
        • 1.3.1.2 Lack of Data Security
        • 1.3.1.3 Information Compartmentalization
        • 1.3.1.4 Structural Dependency
        • 1.3.1.5 Data Dependency
        • 1.3.1.6 Data Redundancy
        • 1.3.1.7 Data Inconsistency
    • 1.4 Database Systems
      • 1.4.1 Why a Database?
      • 1.4.2 Comparison between Database and File-processing Systems
      • 1.4.3 Self-describing Nature of a Database System
      • 1.4.4 Data Independence and Data Abstraction
      • 1.4.5 Support of Multiple Views of the Data
      • 1.4.6 Sharing of Data and Multiuser Transaction Processing
    • 1.5 Organization of a Database
    • 1.6 Characteristics of Data in a Database
    • 1.7 Database Management Systems (DBMS)
      • 1.7.1 Benefits of using a DBMS
    • 1.8 Functions of DBMS
      • 1.8.1 Transaction Management
      • 1.8.2 Concurrency Control
      • 1.8.3 Recovery Management
      • 1.8.4 Security Management
      • 1.8.5 Language Interface
      • 1.8.6 Storage Management
      • 1.8.7 Data Catalog Management
    • 1.9 Components of a DBMS
      • 1.9.1 Query Processor
      • 1.9.2 File Manager
      • 1.9.3 DML Preprocessor
      • 1.9.4 DDL Compiler
      • 1.9.5 Data Dictionary Manager
      • 1.9.6 Database Manager (DM)
    • 1.10 Data Dictionary
      • 1.10.1 Users of the Data Dictionary
      • 1.10.2 Benefits of Data Dictionaries
      • 1.10.3 Data Dictionary Types
    • 1.11 Database Users
      • 1.11.1 Database Administrator (DBA)
        • 1.11.1.1 Recoverability
        • 1.11.1.2 Integrity
        • 1.11.1.3 Security
        • 1.11.1.4 Availability
        • 1.11.1.5 Performance
        • 1.11.1.6 Development/Testing Support
      • 1.11.2 Database Designers
      • 1.11.3 End Users
      • 1.11.4 System Administrator
      • 1.11.5 Security Officers
      • 1.11.6 Network Administrators
    • 1.12 Summary
      • Review Questions
      • Short Answer Questions
      • Descriptive Type Questions
      • Essay Questions
      • Fill in the Blanks
      • True or False
      • Multiple Choice Questions
  • 2. Database Architecture and Design
    • 2.1 Introduction
    • 2.2 Database Architecture
    • 2.3 Data Abstraction
    • 2.4 ANSI/SPARC Architecture
      • 2.4.1 External or Logical Schema
      • 2.4.2 Conceptual Schema
      • 2.4.3 Internal or Physical Schema
      • 2.4.4 Database Users and ANSI/SPARC Architecture
    • 2.5 Physical and Logical Data Independence
    • 2.6 Database Languages
    • 2.7 Database Design
      • 2.7.1 Requirements Analysis
      • 2.7.2 Information Modeling
    • 2.8 Design Constraints
      • 2.8.1 Structural Constraints
      • 2.8.2 Type Constraints
      • 2.8.3 Range Constraints
      • 2.8.4 Relationship Constraints
      • 2.8.5 Temporal Constraints
    • 2.9 Summary
    • Review Questions
      • Short Answer Questions
      • Descriptive Type Questions
      • Essay Questions
      • Fill in the Blanks
      • True or False
      • Multiple Choice Questions
  • 3. Data Models
    • 3.1 Introduction
    • 3.2 Conceptual, Physical, and Logical Database Models
    • 3.3 Database Relationships
    • 3.4 Hierarchical Model
      • 3.4.1 Advantages
      • 3.4.2 Disadvantages
    • 3.5 Network Model
      • 3.5.1 Advantages
      • 3.5.2 Disadvantages
    • 3.6 Relational Model
      • 3.6.1 Advantages
      • 3.6.2 Disadvantages
    • 3.7 E-R Model
      • 3.7.1 Advantages
      • 3.7.2 Disadvantages
    • 3.8 Object-oriented Model
      • 3.8.1 Advantages
      • 3.8.2 Disadvantages
    • 3.9 Object-relational Model
    • 3.10 Deductive/Inference Model
    • 3.11 Comparison between the Various Database Models
    • 3.12 Summary
    • Review Questions
      • Short Answer Questions
      • Descriptive Type Questions
      • Essay Questions
      • Fill in the Blanks
      • True or False
      • Multiple Choice Questions
  • 4. Entity-Relationship (E-R) Modeling
    • 4.1 Introduction
    • 4.2 E-R MODEL
    • 4.3 COMPONENTS OF AN E-R MODEL
      • 4.3.1 Entities
      • 4.3.2 Attributes
        • 4.3.2.1 Simple Attribute
        • 4.3.2.2 Composite Attribute
        • 4.3.2.3 Single-valued Attribute
        • 4.3.2.4 Multi-valued Attribute
        • 4.3.2.5 Derived Attribute
        • 4.3.2.6 Entities and Attributes
      • 4.3.3 Entity Identifiers
      • 4.3.4 Instances of Entities
      • 4.3.5 Attribute Domains
    • 4.4 E-R Diagram Conventions
    • 4.5 Relationships
      • 4.5.1 Degree
      • 4.5.2 Connectivity
      • 4.5.3 Cardinality
      • 4.5.4 Dependency
      • 4.5.5 Participation Constraints
      • 4.5.6 Example
    • 4.6 Composite Entities
    • 4.7 Entity List
    • 4.8 E-R Diagrams (ERDs)
      • 4.8.1 Types of E-R Diagrams
    • 4.9 E-R Modeling Symbols
    • 4.10 Summary
    • Review Questions
      • Short Answer Questions
      • Descriptive Type Questions
      • Essay Questions
      • Fill in the Blanks
      • True or False
      • Multiple Choice Questions
      • Exercises
  • 5. Enhanced Entity-Relationship (EER) Model
    • 5.1 Introduction
    • 5.2 Superclass and Subclass Entity Types
    • 5.3 Attribute Inheritance
    • 5.4 Specialization
    • 5.5 Generalization
      • 5.5.1 Specialization/Generalization Constraints
        • 5.5.1.1 Disjoint Constraint
        • 5.5.1.2 Participation Constraint
    • 5.6 Aggregation
    • 5.7 Categorization
    • 5.8 Summary
    • Review Questions
      • Short Answer Questions
      • Descriptive Type Questions
      • Essay Questions
      • Fill in the Blanks
      • True or False
      • Multiple Choice Questions
  • 6. Relational Database Management Systems (RDBMS)
    • 6.1 Introduction
    • 6.2 RDBMS Terminology
    • 6.3 The Relational Data Structure
    • 6.4 Relational Data Manipulation
    • 6.5 Codd’s Rules
      • 6.5.1 Information Rule
      • 6.5.2 Guaranteed Access Rule
      • 6.5.3 Systematic Treatment of Nulls Rule
      • 6.5.4 Active On-line Catalog based on the Relational Model
      • 6.5.5 Comprehensive Data Sublanguage Rule
      • 6.5.6 View Updating Rule
      • 6.5.7 High-level Insert, Update, and Delete
      • 6.5.8 Physical Data Independence
      • 6.5.9 Logical Data Independence
      • 6.5.10 Integrity Independence
      • 6.5.11 Distribution Independence
      • 6.5.12 Nonsubversion Rule
    • 6.6 Summary
    • Review Questions
      • Short Answer Questions
      • Descriptive Type Questions
      • Essay Questions
      • Fill in the Blanks
      • True or False
      • Multiple Choice Questions
  • 7. Relational Data Integrity and Database Constraints
    • 7.1 Introduction
    • 7.2 Integrity Constraints
      • 7.2.1 Domain Constraints
      • 7.2.2 Entity Integrity
      • 7.2.3 Referential Integrity
      • 7.2.4 Operational Constraints
    • 7.3 Summary
    • Review Questions
      • Short Answer Questions
      • Essay Questions
      • Fill in the Blanks
      • True or False
      • Multiple Choice Questions
  • 8. Transforming ER Models to Relations
    • 8.1 Introduction
    • 8.2 Foreign Keys
    • 8.3 Mapping the E-R Model
      • 8.3.1 Mapping Strong and Weak Entity Types
    • 8.4 Mapping 1:1 relationships
      • 8.4.1 Mandatory at Both Ends
      • 8.4.2 Example
      • 8.4.3 Mandatory Participation at One End and Optional at the Other
      • 8.4.4 Optional Participation at Both Ends
    • 8.5 Mapping 1:M relationships
    • 8.6 Mapping N:M Relationships
    • 8.7 Mapping Parallel Relationships
    • 8.8 Mapping 1:M in Unary Relationships
    • 8.9 Mapping Superclasses and Subclasses
    • 8.10 Summary
    • Exercise
  • 9. Data Normalization
    • 9.1 Introduction
    • 9.2 Pitfalls in Relational Database Design
    • 9.3 Decomposition
      • 9.3.1 Desirable Properties of Decomposition
      • 9.3.2 Exercise
    • 9.4 Functional Dependencies
      • 9.4.1 Trivial and Nontrivial Functional Dependencies
      • 9.4.2 Inference Rules for Functional Dependencies
        • 9.4.2.1 Closure of Functional Dependencies and Attributes
        • 9.4.2.2 Equivalence of Sets of Functional Dependencies
        • 9.4.2.3 Irreducible Set of Functional Dependencies
    • 9.5 Normalization
    • 9.6 Keys
    • 9.7 Relationships
      • 9.7.1 One-to-one Relationships
      • 9.7.2 One-to-many Relationships
      • 9.7.3 Many-to-many Relationships
    • 9.8 Multi-valued Attributes
      • 9.8.1 Resolving the Multi-valued Attributes Issue
    • 9.9 First Normal Form (1NF)
    • 9.10 Second Normal Form (2NF)
    • 9.11 Third Normal Form (3NF)
    • 9.12 Boyce-Codd Normal Form (BCNF)
      • 9.12.1 Comparison of 3NF and BCNF
    • 9.13 Fourth Normal Form (4NF)
      • 9.13.1 Multi-Valued Dependency (MVD)
    • 9.14 Fifth Normal Form (5NF)
    • 9.15 Lossless-Join Dependency
    • 9.16 Domain-Key Normal Form (DKNF)
    • 9.17 Denormalization
    • 9.18 Summary
    • Review Questions
      • Short Answer Questions
      • Descriptive Type Questions
      • Essay Questions
      • Fill in the Blanks
      • True or False
      • Multiple Choice Questions
      • Exercise
  • 10. Relational Algebra
    • 10.1 Introduction
    • 10.2 Relational Algebraic Operations
      • 10.2.1 UNION, INTERSECTION, and DIFFERENCE
      • 10.2.2 CARTESIAN PRODUCT
      • 10.2.3 SELECT
      • 10.2.4 PROJECT
      • 10.2.5 ASSIGNMENT
      • 10.2.6 DIVISION
      • 10.2.7 RENAME
      • 10.2.8 JOIN
        • 10.2.8.1 Theta Join
        • 10.2.8.2 Natural Join
        • 10.2.8.3 Outer Join
        • 10.2.8.4 Semijoin
    • 10.3 Aggregate Functions
    • 10.4 Update Operations
      • 10.4.1 Deletion
      • 10.4.2 Insertion
      • 10.4.3 Updating
    • 10.5 Exercise
      • 10.5.1 Answers
    • 10.6 Summary
    • Review Questions
      • Short Answer Questions
      • Descriptive Type Questions
      • Essay Questions
      • Fill in the Blanks
      • True or False
      • Multiple Choice Questions
  • 11. Relational Calculus
    • 11.1 Introduction
    • 11.2 Tuple Relational Calculus
      • 11.2.1 Expressions and Formulas
      • 11.2.2 Existential and Universal Quantifiers
    • 11.3 Domain Relational Calculus
    • 11.4 Examples
    • 11.5 Summary
    • Review Questions
      • Short Answer Questions
      • Descriptive Type Questions
      • Fill in the Blanks
      • True or False
      • Multiple Choice Questions
  • 12. Structured Query Language (SQL)
    • 12.1 Introduction
    • 12.2 History of SQL
    • 12.3 Characteristics of SQL
    • 12.4 Advantages of SQL
    • 12.5 SQL in Action
    • 12.6 SQL Data Types and Literals
      • 12.6.1 SQL Data Types
        • 12.6.1.1 CHARACTER(n)
        • 12.6.1.2 CHARACTER VARYING(n)
        • 12.6.1.3 BIT(n) and BIT VARYING(n)
        • 12.6.1.4 NUMERIC(p,q)
        • 12.6.1.5 DECIMAL(p,q)
        • 12.6.1.6 INTEGER
        • 12.6.1.7 SMALLINT
        • 12.6.1.8 FLOAT(p)
      • 12.6.2 Literals
        • 12.6.2.1 Character String
        • 12.6.2.2 Bit String
        • 12.6.2.3 Exact Numeric
        • 12.6.2.4 Approximate Numeric
      • 12.6.3 String Data Types
      • 12.6.4 Numeric Data Types
    • 12.7 Types of SQL Commands
      • 12.7.1 Data Definition Language (DDL)
      • 12.7.2 Data Manipulation Language (DML)
      • 12.7.3 Data Query Language (DQL)
      • 12.7.4 Data Control Language (DCL)
      • 12.7.5 Data Administration Statements (DAS)
      • 12.7.6 Transaction Control Statements (TCS)
    • 12.8 SQL Operators
    • 12.9 Arithmetic Operators
    • 12.10 Comparison Operators
      • 12.10.1 Operators =, <>, >, <, >=, and <=
      • 12.10.2 Row Comparison
      • 12.10.3 IS [NOT] NULL
      • 12.10.4 ANY, ALL, and SOME
      • 12.10.5 [NOT] EXISTS
      • 12.10.6 [NOT] LIKE
        • 12.10.6.1 ESCAPE Clause
      • 12.10.7 [NOT] IN
      • 12.10.8 [NOT] BETWEEN
    • 12.11 Logical Operators
    • 12.12 Set Operators
    • 12.13 Operator Precedence
    • 12.14 Summary
    • Review Questions
      • Short Answer Questions
      • Descriptive Type Questions
      • Essay Questions
      • Fill in the Blanks
      • True or False
      • Multiple Choice Questions
  • 13. Tables Used in this Book
    • 13.1 Introduction
  • 14. Tables, Views and Indexes
    • 14.1 Introduction
      • 14.1.1 Creating a Table
      • 14.1.2 Modifying a Table
      • 14.1.3 Deleting a Table
    • 14.2 Views
      • 14.2.1 Creating a View
      • 14.2.2 Data Query and Manipulation Operations with Views
      • 14.2.3 The CHECK OPTION
      • 14.2.4 Views Involving Multiple Tables
      • 14.2.5 Updateable and Non-updateable Views
      • 14.2.6 Advantages of Views
      • 14.2.7 Using Views
      • 14.2.8 Dropping a View
    • 14.3 Indexes
      • 14.3.1 Book Index vs. Table Index
      • 14.3.2 Why Use an Index?
      • 14.3.3 Creating an Index
      • 14.3.4 Types of Indexes
        • 14.3.4.1 Composite Indexes
      • 14.3.4.2 Unique Indexes
      • 14.3.4.3 Clustered Indexes
      • 14.3.5 Dropping an Index
      • 14.3.6 Using Indexes
    • 14.4 Summary
    • Review Questions
      • Short Answer Questions
      • Descriptive Type Questions
      • Essay Questions
      • Fill in the Blanks
      • True or False
      • Multiple Choice Questions
  • 15. Queries and Subqueries
    • 15.1 Introduction
      • 15.1.1 Selecting All Columns (SELECT *)
      • 15.1.2 Qualified Retrieval
        • 15.1.2.1 Eliminating Duplicates Using DISTINCT
      • 15.1.3 Select Using IN
      • 15.1.4 Select Using BETWEEN
      • 15.1.5 Select Using LIKE
        • 15.1.5.1 ESCAPE Clause
      • 15.1.6 Selecting Computed Values
      • 15.1.7 Selection Involving NULLs
      • 15.1.8 Grouping While Selecting
      • 15.1.9 Ordering While Selecting
      • 15.1.10 AND, OR, and NOT
    • 15.2 Subqueries
      • 15.2.1 What is a Subquery?
      • 15.2.2 Execution of a Subquery
      • 15.2.3 Nested Subqueries
      • 15.2.4 Parallel Subqueries
      • 15.2.5 Correlated Subquery
    • 15.3 Summary
    • Review Questions
      • Short Answer Questions
      • Descriptive Type Questions
      • Essay Questions
      • Fill in the Blanks
      • True or False
      • Multiple Choice Questions
  • 16. Aggregate Functions
    • 16.1 Introduction
    • 16.2 General Rules
    • 16.3 COUNT( ) and COUNT(*)
    • 16.4 SUM( )
    • 16.5 AVG( )
    • 16.6 MAX( ) and MIN( )
    • 16.7 Summary
    • Review Questions
      • Descriptive Type Questions
      • Fill in the Blanks
      • True or False
  • 17. INSERT, UPDATE, and DELETE Operations
    • 17.1 Introduction
    • 17.2 INSERT Statement
      • 17.2.1 Single row INSERT
    • 17.3 Bulk Inserts of Data
    • 17.4 UPDATE Statement
    • 17.5 DELETE Statement
    • 17.6 Summary
    • Review Questions
      • Short Answer Questions
      • Descriptive Type Questions
      • Fill in the Blanks
      • True or False
  • 18. Joins and Unions
    • 18.1 Joins
      • 18.1.1 Why do we need Joins?
      • 18.1.2 Use of Aliases
      • 18.1.3 Qualities of a Good Join
      • 18.1.4 Theta Joins, Equijoins, and Nonequijoins
      • 18.1.5 WHERE Clause
      • 18.1.6 Using SELECT * in Joins
      • 18.1.7 Natural Join
      • 18.1.8 Self-join—Joining a Table with Itself
      • 18.1.9 Joining More than Two Tables
      • 18.1.10 Cartesian Product
      • 18.1.11 Joins vs. Subqueries
      • 18.1.12 Outer Joins
    • 18.2 Unions
      • 18.2.1 Duplicate Elimination
      • 18.2.2 Ordering the Results
      • 18.2.3 Order of Evaluation
    • 18.3 Summary
    • Review Questions
      • Short Answer Questions
      • Descriptive Type Questions
      • Fill in the Blanks
      • True or False
  • 19. Programming with SQL
    • 19.1 Introduction
      • 19.1.1 Embedded SQL
      • 19.1.2 Application Program Interface
      • 19.1.3 Commercial Implementations
    • 19.2 Query Processing
    • 19.3 Embedded SQL
      • 19.3.1 Embedded SQL Program
        • 19.3.1.1 Precompilation
        • 19.3.1.2 DCLGEN Command
        • 19.3.1.3 Binding
        • 19.3.1.4 Link-editing
        • 19.3.1.5 Running the Program
      • 19.3.2 Advantages of Embedded SQL Programs
      • 19.3.3 Automatic Rebinding
      • 19.3.4 Embedded SQL Features
      • 19.3.5 Error Handling
        • 19.3.5.1 Compile-time Errors
        • 19.3.5.2 Runtime Errors
        • 19.3.5.3 SQLCA
        • 19.3.5.4 The SQLSTATE Variable
        • 19.3.5.5 The WHENEVER Statement
    • 19.4 Dynamic SQL
      • 19.4.1 The EXECUTE IMMEDIATE Statement
      • 19.4.2 PREPARE and EXECUTE Statements
      • 19.4.3 SQL Descriptor Areas
      • 19.4.4 SQLDA
        • 19.4.4.1 ALLOCATE DESCRIPTOR
        • 19.4.4.2 DEALLOCATE DESCRIPTOR
        • 19.4.4.3 GET DESCRIPTOR
        • 19.4.4.4 SET DESCRIPTOR
        • 19.4.4.5 DESCRIBE
    • 19.5 Summary
    • Review Questions
      • Short Answer Questions
      • Descriptive Type Questions
      • Essay Questions
      • Fill in the Blanks
      • True or False
      • Multiple Choice Questions
  • 20. Query Processing and Query Optimization
    • 20.1 Introduction
    • 20.2 Query Processing
      • 20.2.1 Parsing
      • 20.2.2 Standardization
      • 20.2.3 Query Optimization
      • 20.2.4 Query Execution
    • 20.3 Query Processor
      • 20.3.1 Types of Query Optimizers
        • 20.3.1.1 Syntax-based Query Optimizers
        • 20.3.1.2 Cost-based Query Optimizers
    • 20.4 Query Processing
      • 20.4.1 Sorting
      • 20.4.2 Query Decomposition
        • 20.4.2.1 Analysis
        • 20.4.2.2 Normalization
        • 20.4.2.3 Semantic Analysis
        • 20.4.2.4 Simplification
        • 20.4.2.5 Query Restructuring
    • 20.5 Transformation rules for Relational Algebra
    • 20.6 Syntactical Optimization
    • 20.7 Heuristic Query Optimization
    • 20.8 Semantic Optimization
    • 20.9 Cost-based Query Optimization
      • 20.9.1 Cost Functions for SELECT
      • 20.9.2 Cost Functions for JOIN
    • 20.10 Materialized Views
    • 20.11 Evaluation of Expressions
      • 20.11.1 Materialization and Pipelining
    • 20.12 Summary
    • Review Questions
      • Short Answer Questions
      • Descriptive Type Questions
      • Essay Questions
      • Fill in the Blanks
      • True or False
      • Multiple Choice Questions
  • 21. Transaction Management and Concurrency Control
    • 21.1 Introduction
    • 21.2 Transactions
    • 21.3 Transaction Properties (ACID Properties)
      • 21.3.1 Atomicity
      • 21.3.2 Consistency
      • 21.3.3 Isolation
      • 21.3.4 Durability
      • 21.3.5 Implementing Atomicity
      • 21.3.6 Implementing Consistency
      • 21.3.7 Implementing Isolation
      • 21.3.8 Implementing Durability
    • 21.4 Database Structure
    • 21.5 Transaction States
    • 21.6 Concurrency Control
      • 21.6.1 Multiple Update Problem
      • 21.6.2 Uncommitted Dependency Problem
      • 21.6.3 Incorrect Analysis Problem
    • 21.7 Serializability
      • 21.7.1 View Serializability
    • 21.8 Recoverability
      • 21.8.1 Recoverable Schedules
    • 21.8.2 Noncascading Schedules
      • 21.8.3 Strict Schedules
    • 21.9 Concurrency Control Schemes
      • 21.9.1 Locking
      • 21.9.2 Two-phase Locking
      • 21.9.3 Deadlock
      • 21.9.4 Granularity
        • 21.9.4.1 Multiple Granularity Locking
      • 21.9.5 Timestamps and Timestamp-based Protocols
      • 21.9.6 Timestamp Ordering Protocol
      • 21.9.7 Optimistic Techniques
    • 21.10 Transaction Management in SQL
    • 21.11 Transactions and Recovery
    • 21.12 User-defined Transactions
    • 21.13 The COMMIT Command
    • 21.14 The ROLLBACK Command
    • 21.15 The SAVEPOINT Command
    • 21.16 Summary
    • Review Questions
      • Short Answer Questions
      • Descriptive Type Questions
      • Essay Questions
      • Fill in the Blanks
      • True or False
      • Multiple Choice Questions
  • 22. Backup and Recovery
    • 22.1 Introduction
    • 22.2 Database Backups
    • 22.3 Causes of Failures
    • 22.4 Why Plan Backups?
    • 22.5 Hardware Protection and Redundancy
    • 22.6 Transaction Logs
    • 22.7 Importance of Backups
    • 22.8 Database Recovery
    • 22.9 Data Storage
    • 22.10 Data Access
    • 22.11 Recovery and Atomicity
    • 22.12 Recovery Concepts and Terminology
    • 22.13 Recovery Facilities
    • 22.13.1 Backup Mechanism
    • 22.14 Logging
      • 22.14.1 Checkpointing
    • 22.15 Recovery Techniques
      • 22.15.1 Deferred Update
      • 22.15.2 Immediate Update
      • 22.15.3 Shadow Paging
    • 22.16 Detached Transaction Actions
    • 22.17 Recovery in Multi-database Systems
      • 22.17.1 Two-phase Commit Protocol
    • 22.18 Database Recovery from Catastrophic Failures
    • 22.19 Summary
    • Review Questions
      • Short Answer Questions
      • Descriptive Type Questions
      • Essay Questions
      • Fill in the Blanks
      • True or False
      • Multiple Choice Questions
  • 23. Storage Devices, Files, File Organization, and File Structures
    • 23.1 Storage Devices
      • 23.1.1 Secondary Storage Devices
      • 23.1.2 Advantages of Secondary Storage
        • 23.1.2.1 Direct Access Storage
        • 23.1.2.2 Sequential Access Storage
      • 23.1.3 Tertiary Storage
    • 23.2 Magnetic Tape
    • 23.3 Magnetic Disk
      • 23.3.1 Hard Disks
      • 23.3.2 Flexible Disks
    • 23.4 Optical Disks
    • 23.5 Magneto-optical (MO) Drives
    • 23.6 Files, File Organization, and File Structures
    • 23.7 Operations on Files
    • 23.8 File Storage Organization
      • 23.8.1 Sequential File Organization
        • 23.8.1.1 Sequential File Processing
        • 23.8.1.2 Efficiency of Sequential File Organization
        • 23.8.1.3 Advantages and Disadvantages
      • 23.8.2 Direct File Organization
        • 23.8.2.1 Direct File Processing
        • 23.8.2.2 Relative Addressing
        • 23.8.2.3 Hashing
        • 23.8.2.4 Indexing
        • 23.8.2.5 Advantages and Disadvantages
    • 23.9 Physical Storage Media
      • 23.9.1 Cache
      • 23.9.2 Main Memory
      • 23.9.3 Flash Memory
      • 23.9.4 Magnetic Disk, Optical Disk, and Magnetic Tape Storage
    • 23.10 Storage Device Hierarchy
    • 23.11 Storage Access
    • 23.12 Buffer Manager
      • 23.12.1 Buffer Replacement Strategy
      • 23.12.2 Pinned Blocks
      • 23.12.3 Forced Output Blocks
    • 23.13 File Organization
      • 23.13.1 File Volatility
      • 23.13.2 File Activity
      • 23.13.3 File Query
      • 23.13.4 File Size
      • 23.13.5 Data Currency
    • 23.14 File Structure
    • 23.15 Record Types
      • 23.15.1 Fixed Length Records
      • 23.15.2 Variable Length Records
        • 23.15.2.1 Records Having Variable Length Fields
        • 23.15.2.2 Records Having Repeating Fields
        • 23.15.2.3 Records Having Optional Fields
        • 23.15.2.4 File Containing Records of Different Record Types
        • 23.15.2.5 Implementation of Variable Length Records
    • 23.16 Summary
    • Review Questions
      • Short Answer Questions
      • Descriptive Type Questions
      • Essay Questions
      • Fill in the Blanks
      • True or False
      • Multiple Choice Questions
  • 24. Indexing and Hashing
    • 24.1 Introduction
    • 24.2 Indexing
      • 24.2.1 Ordered Indexes
        • 24.2.1.1 Primary Index
        • 24.2.1.2 Secondary Indexes
        • 24.2.1.3 B+-tree Indexes
        • 24.2.1.4 B-tree Indexes
    • 24.3 Hashing
      • 24.3.1 Internal Hashing
        • 24.3.1.1 Open Addressing
        • 24.3.1.2 Chaining
        • 24.3.1.3 Multiple Hashing
      • 24.3.2 External Hashing
      • 24.3.3 Dynamic Hashing
        • 24.3.3.1 Extensible Hashing
        • 24.3.3.2 Linear Hashing
    • 24.4 Summary
    • Review Questions
      • Short Answer Questions
      • Descriptive Type Questions
      • Essay Questions
      • Fill in the Blanks
      • True or False
      • Multiple Choice Questions
  • 25. Distributed Databases
    • 25.1 Introduction
    • 25.2 Components of a Distributed DBMS (DDBMS)
      • 25.2.1 Local DBMS Component
      • 25.2.2 Data Communications Component
      • 25.2.3 Global System Catalog
      • 25.2.4 Distributed DBMS Component
    • 25.3 Introduction to Networks
    • 25.4 Network Topology
      • 25.4.1 Star Topology
        • 25.4.1.1 Advantages
        • 25.4.1.2 Disadvantages
      • 25.4.2 Ring Topology
        • 25.4.2.1 Advantages
        • 25.4.2.2 Disadvantages
      • 25.4.3 Linear Bus Topology
        • 25.4.3.1 Advantages
        • 25.4.3.2 Disadvantages
      • 25.4.4 Tree Topology
        • 25.4.4.1 Advantages
        • 25.4.4.2 Disadvantages
    • 25.5 Network Protocols
    • 25.6 Network Architecture
      • 25.6.1 Peer-to-Peer Architecture
      • 25.6.2 Client/Server Architecture
    • 25.7 Homogeneous and Heterogeneous Distributed Databases
    • 25.8 Distributed Data Storage
      • 25.8.1 Data Replication
      • 25.8.2 Data Fragmentation
    • 25.9 Distributed Database Design Issues
      • 25.9.1 Centralized
      • 25.9.2 Fragmented (or Partitioned)
      • 25.9.3 Complete Replication
      • 25.9.4 Selective Replication
    • 25.10 Availability
    • 25.11 Advantages of Distributed Databases
      • 25.11.1 Local Control of Local Data
      • 25.11.2 Transparency
      • 25.11.3 Improved Reliability and Availability
      • 25.11.4 Performance Improvement
      • 25.11.5 Better Response Times
      • 25.11.6 Modularity
      • 25.11.7 Improved Scalability
      • 25.11.8 Site Autonomy
      • 25.11.9 Ability to Share Data
      • 25.11.10 Direct User Interaction
    • 25.12 Disadvantages of Distributed Databases
      • 25.12.1 Complexity
      • 25.12.2 Cost
      • 25.12.3 Technical Problems of Connecting Dissimilar Machines
      • 25.12.4 Need for Sophisticated Communication Systems
      • 25.12.5 Data Integrity and Security Problems
      • 25.12.6 Lack of Professional Support
    • 25.13 Distributed Transaction Processing
    • 25.14 Distributed Concurrency Control
    • 25.15 Distributed Serializability
    • 25.16 Locking Protocols
      • 25.16.1 Centralized 2PL
      • 25.16.2 Primary Copy 2PL
      • 25.16.3 Distributed 2PL
      • 25.16.4 Majority Locking
    • 25.17 Timestamp Protocols
    • 25.18 Distributed Deadlock Management
      • 25.18.1 Deadlock Prevention
      • 25.18.2 Deadlock Avoidance
      • 25.18.3 Deadlock Detection (DD) and Resolution
        • 25.18.3.1 Centralized DD
        • 25.18.3.2 Hierarchical DD
        • 25.18.3.3 Distributed DD
    • 25.19 Failures in a Distributed Environment
    • 25.20 Commit Protocols
      • 25.20.1 Two-phase Commit Mechanism
        • 25.20.1.1 Prepare Phase
        • 25.20.1.2 Execute Phase
      • 25.20.2 Three-phase Commit Mechanism
    • 25.21 Functions of Distributed Database Management Systems
    • 25.22 C. J. Date’s Commandments for Distributed Databases
    • 25.23 Distributed Systems — An Example
    • 25.24 Summary
    • Review Questions
      • Short Answer Questions
      • Descriptive Type Questions
      • Essay Questions
      • Fill in the Blanks
      • True or False
      • Multiple Choice Questions
  • 26. Object-Oriented and Object-Relational Databases
    • 26.1 Object-oriented Databases
    • 26.2 The Need for Object-oriented Databases
    • 26.3 The Evolution of Object-Oriented Databases
    • 26.4 Characteristics of Object-Oriented Databases
    • 26.5 Object-oriented Database Management Systems (ODBMS)
      • 26.5.1 Complex Objects
      • 26.5.2 Object Identity and Object State
      • 26.5.3 Messages and Methods
      • 26.5.4 Encapsulation
      • 26.5.5 Types and Classes
      • 26.5.6 Class Hierarchies
      • 26.5.7 Inheritance
      • 26.5.8 Method Overriding and Polymorphism
      • 26.5.9 Overloading and Late Binding
      • 26.5.10 Computational Completeness
      • 26.5.11 Extensibility
      • 26.5.12 Persistence
      • 26.5.13 Secondary Storage Management
      • 26.5.14 Concurrency
      • 26.5.15 Recovery
      • 26.5.16 Ad Hoc Query Facility
    • 26.6 When should you use an OODBMS?
    • 26.7 Comparisons of OODBMS to RDBMS
      • 26.7.1 Advantages
      • 26.7.2 Disadvantages
    • 26.8 Object-Relational Databases
    • 26.9 Object-Relational DBMs (ORDBMS)
    • 26.10 ORDBMS Data Model
    • 26.11 ORDBMS Query Language
    • 26.12 Object-relational Features
    • 26.13 Comparison between OODBMS and ORDBMS
    • 26.14 Summary
    • Review Questions
      • Short Answer Questions
      • Descriptive Type Questions
      • Essay Questions
      • Fill in the Blanks
      • True or False
  • 27. XML and XML Databases
    • 27.1 Introduction
    • 27.2 XML and SGML
    • 27.3 Applications of XML
    • 27.4 Advantages of XML
    • 27.5 XML Basics
    • 27.6 XML Syntax
    • 27.7 Structured Documents on the Web
      • 27.7.1 Heterogeneous Databases
      • 27.7.2 Allowing Users to Define Views
      • 27.7.3 The Use of Web Agents
    • 27.8 Why Is XML Important?
      • 27.8.1 Plain Text
      • 27.8.2 Data Identification
      • 27.8.3 Stylability
      • 27.8.4 In-line Reusability
      • 27.8.5 Linkability
      • 27.8.6 Easy Processing
      • 27.8.7 Hierarchical
    • 27.9 How Can You Use XML?
      • 27.9.1 Traditional Data Processing
      • 27.9.2 Document-driven Programming (DDP)
      • 27.9.3 Binding
      • 27.9.4 Archiving
    • 27.10 XML and Web Data
    • 27.11 Database-centric Approach to XML
      • 27.11.1 IBM DB2
      • 27.11.2 Microsoft SQL Server
      • 27.11.3 Oracle
    • 27.12 Native XML Databases
    • 27.13 Emerging APIs and Components for XML
    • 27.14 XML and Related Technologies
    • 27.15 XML Query Language
    • 27.16 Summary
    • Review Questions
      • Short Answer Questions
      • Descriptive Type Questions
      • Essay Questions
      • Fill in the Blanks
  • 28. Introduction to Modern Databases
    • 28.1 Introduction
    • 28.2 Distributed Databases
    • 28.3 Object-Oriented Databases
    • 28.4 Object-relational Databases
    • 28.5 Active Databases
      • 28.5.1 Active Database Applications
    • 28.6 Deductive Database
      • 28.6.1 Deductive Database Applications
    • 28.7 Multidimensional Databases
    • 28.8 Parallel Databases
      • 28.8.1 Benefits of Parallel Database
    • 28.9 Temporal Databases
      • 28.9.1 Temporal Database Management Systems
    • 28.10 Spatial Databases
    • 28.11 Multimedia Databases
    • 28.12 Statistical Databases
    • 28.13 Mobile Databases
    • 28.14 Web Databases
    • Review Questions
      • Descriptive Type Questions
  • 29. Database Security
    • 29.1 Introduction
    • 29.2 Database Environment
    • 29.3 Data Security Risks
      • 29.3.1 Data Tampering
      • 29.3.2 Eavesdropping and Data Theft
      • 29.3.3 Falsifying User Identities
      • 29.3.4 Password-related Threats
      • 29.3.5 Unauthorized Access to Tables and Columns
      • 29.3.6 Unauthorized Access to Data Rows
      • 29.3.7 Lack of Accountability
      • 29.3.8 Complex User Management Requirements
    • 29.4 Dimensions of Database Security
    • 29.5 Data Security Requirements
      • 29.5.1 Confidentiality
      • 29.5.2 Integrity
      • 29.5.3 Availability
    • 29.6 Database Users
    • 29.7 Protecting the Data within the Database
      • 29.7.1 Database Privileges
        • 29.7.1.1 System Privileges
        • 29.7.1.2 Object Privileges
      • 29.7.2 Roles
        • 29.7.2.1 Uses for Roles
    • 29.8 Granting and Revoking Privileges and Roles
      • 29.8.1 The GRANT Command
      • 29.8.2 The REVOKE Command
    • 29.9 Data Encryption
    • 29.10 Database Integrity
    • 29.11 System Availability
    • 29.12 Best Security Practices
    • 29.13 Network Security
      • 29.13.1 Protecting Data during Transmission
        • 29.13.1.1 Controlling Access within the Network
        • 29.13.1.2 Encrypting Data for Network Transmission
        • 29.13.1.3 Secure Sockets Layer (SSL) Protocol
        • 29.13.1.4 Firewalls
    • 29.14 Authenticating Users to the Database
    • 29.15 Security Auditing
    • 29.16 Cryptography
    • 29.17 Digital Ciphers
      • 29.17.1 Data Encryption Standard (DES)
    • 29.18 Code Breaking
    • 29.19 Applications of Encryption
    • 29.20 Limitations of Encryption
    • 29.21 Summary
    • Review Questions
      • Short Answer Questions
      • Descriptive Type Questions
      • Essay Questions
      • Fill in the Blanks
      • True or False
      • Multiple Choice Questions
  • 30. Data Integrity
    • 30.1 Introduction
    • 30.2 Types of Integrity Constraints
      • 30.2.1 Restrictions on Integrity Constraints
      • 30.2.2 General Constraints
      • 30.2.3 Domain Constraints
      • 30.2.4 Base Table Constraints
        • 30.2.4.1 Candidate Key Definition
        • 30.2.4.2 Foreign Key Definition
        • 30.2.4.3 Column Constraints
    • 30.3 SUMMARY
    • Review Questions
      • Short Answer Questions
      • Descriptive Type Questions
      • Essay Questions
      • Fill in the Blanks
      • True or False
      • Multiple Choice Questions
  • 31. Knowledge Discovery in Databases (KDD) and Information Retrieval
    • 31.1 Introduction
    • 31.2 Knowledge Discovery
    • 31.3 Knowledge Discovery In Databases (KDD)
    • 31.4 Basic Features of KDD
    • 31.5 Advantages of KDD
    • 31.6 Phases of KDD
    • 31.7 KDD Techniques
      • 31.7.1 Probabilistic Approach
      • 31.7.2 Statistical Approach
      • 31.7.3 Classification Approach
      • 31.7.4 Deviation and Trend Analysis
      • 31.7.5 Other Approaches
      • 31.7.6 Hybrid Approach
    • 31.8 Information Retrieval
      • 31.8.1 Relevance Ranking
    • 31.9 Crawling and Indexing the Web
    • 31.10 Summary
    • Review Questions
      • Short Answer Questions
      • Descriptive Type Questions
      • Essay Questions
      • Fill in the Blanks
      • True or False
  • 32. Data Warehouses and Data Marts
    • 32.1 Introduction
      • 32.1.1 Data in the Data Warehouse
      • 32.1.2 Data Warehouse Architecture
        • 32.1.2.1 Summarized Data
        • 32.1.2.2 Current Detail
        • 32.1.2.3 System of Record
        • 32.1.2.4 Integration and Transformation Programs
        • 32.1.2.5 Archives
        • 32.1.2.6 Metadata
      • 32.1.3 Data Warehousing System
      • 32.1.4 Advantages of a Data Warehouse
      • 32.1.5 Structure of a Data Warehouse
      • 32.1.6 Obstacles to Successful Data Warehouse Projects
        • 32.1.6.1 Complex Extract, Transformation and Load Characteristics
        • 32.1.6.2 Immense Volumes of Daily Data
        • 32.1.6.3 Load Methodology (Load Control and Auditing)
        • 32.1.6.4 Data Warehouse Recovery (Load Recovery)
        • 32.1.6.5 Data Warehouse Validation
        • 32.1.6.6 Data Warehouse Read Performance
        • 32.1.6.7 Metadata Management
      • 32.1.7 Mistakes to Avoid in a Data Warehousing Project
      • 32.1.8 Uses of a Data Warehouse
        • 32.1.8.1 Standard Reports and Queries
        • 32.1.8.2 Queries against Summarized Data
        • 32.1.8.3 Data Mining
        • 32.1.8.4 Interface with other Data Warehouses
    • 32.2 Data Marts
      • 32.2.1 Advantages of Data Marts
    • 32.3 Summary
    • Review Questions
      • Short Answer Questions
      • Descriptive Type Questions
      • Essay Questions
      • Fill in the Blanks
      • True or False
  • 33. Data Mining and On-line Analytical Processing (OLAP)
    • 33.1 Introduction
      • 33.1.1 What is Data Mining?
      • 33.1.2 Why Use Data Mining?
      • 33.1.3 What Can Data Mining Do for You?
      • 33.1.4 Evolution of Data Mining
      • 33.1.5 Data Mining Process
      • 33.1.6 Data Mining Methods
        • 33.1.6.1 Classification
        • 33.1.6.2 Clustering
        • 33.1.6.3 Association Rules
        • 33.1.6.4 Sequential Pattern Detection
        • 33.1.6.5 Change and Deviation Detection
      • 33.1.7 Advantages of Data Mining
      • 33.1.8 Automated Prediction of Trends and Behaviors
        • 33.1.8.1 Automated Discovery of Previously Unknown Patterns
        • 33.1.8.2 Databases can be Larger in Both Depth and Breadth
      • 33.1.9 Technologies Used in Data Mining
    • 33.2 On-line Analytical Processing (OLAP)
      • 33.2.1 Benefits of OLAP
      • 33.2.2 Different Styles of OLAP
        • 33.2.2.1 Multi-Dimensional OLAP
        • 33.2.2.2 Hybrid OLAP
        • 33.2.2.3 Desktop OLAP
        • 33.2.2.4 Relational OLAP
      • 33.2.3 How to choose an OLAP style?
    • 33.3 Summary
    • Review Questions
      • Short Answer Questions
      • Descriptive Type Questions
      • Essay Questions
      • Fill in the Blanks
      • True or False
  • A. Model Question Papers
    • Model Question Paper – I
    • Model Question Paper – II
    • Model Question Paper – III
    • Model Question Paper – IV
    • Model Question Paper – V
    • Model Question Paper – VI
    • Model Question Paper – VII
    • Model Question Paper – VIII
    • Model Question Paper – IX
  • Index
Alexis Leon is a Software Consultant, researcher and writer. He has more than 30 years of consulting experiencein the areas of software development, IT, software engineering, internet and WWW, workflow automation, groupware, product design, process improvement, project management, configuration management, quality assurance, productivity improvement, etc. He has written more than 45 books on computing, IT and management. He has worked with companies like Ponds India Ltd and Tata Consultancy Services. He holds a masters degree (M.Tech) in Industrial Engineering. He can be reached through his website at www.alexisleon.com.
Mathews Leon is the Executive Director of L & L Consultancy Services Pvt Ltd, company specialising in web design and development, internet/intranet development, software development, multimedia and CBT development, etc. He has written more than 25 books on computing and IT. He hold a bachelor's degree (B.Tech) in Mechanical Engineering. He can be reached through his web site at http://mathews.lnl.net/.

Fundamentals
of
Database Management Systems

Alexis Leon

Professional Writer and
Software Consultant

Mathews Leon

Executive Director
L & L Consultancy Services Pvt Ltd

Vijay Nicole Imprints Private Limited

CHENNAI

Published by

Vijay Nicole Imprints Private Limited

No. 1B, Second Main Road,

Ram Nagar South, Chennai – 600 091

Phone: + 91 - 44 - 4283 7178, 72002 58368, 97898 33533

Email: vni@vijaynicole.co.in Website: www.vijaynicole.co.in

Fundamentals of Database Management Systems

ISBN: 978-81-8209-029-3

e-PUB: 978-81-19243-15-0

e-PDF: 978-81-19243-16-7

Copyright © 2023, Alexis Leon and Mathews Leon

No part of this publication may be reproduced or distributed in any form or by any means, electronic, mechanical, photocopying, recording, or otherwise or stored in a database or retrieval system without the prior written permission of the publishers and copyright holders. The program listings (if any) may be entered, stored and executed in a computer system, but they may not be reproduced for publication.

Information contained in this work has been obtained by publishers, from sources believed to be reliable. However, neither publishers nor copyright holders guarantee the accuracy or completeness of any information published herein, and neither publishers nor copyright holders shall be responsible for any errors, omissions, or damages arising out of use of this information. This work is published with the understanding that publishers and copyright holders are supplying information but are not attempting to render engineering or other professional services. If such services are required, the assistance of an appropriate professional should be sought.

Information contained in this work has been obtained by publishers, from sources believed to be reliable. However, neither publishers nor copyright holders guarantee the accuracy or completeness of any information published herein, and neither publishers nor copyright holders shall be responsible for any errors, omissions, or damages arising out of use of this information. This work is published with the understanding that publishers and copyright holders are supplying information but are not attempting to render engineering or other professional services. If such services are required, the assistance of an appropriate professional should be sought.

Laser typeset at: Maven Learning, Chennai – 600 091

To
Ashwin and Irene
with love

Preface

Databases and database management systems have been the backbone of enterprise computing for the past many years. The market is growing bigger in terms of size, and will continue to gain prominence in the coming years. With the consolidation, standardization and centralization of IT systems underway in most organizations, the demand for highly scalable and reliable database systems is on the rise. Earlier database management systems were used by only very large players such as the government, the banking, financial services and insurance sector, telecom, IT services, manufacturing, and the retail sector.

Reduced implementation costs, advancements in technology, growth of the e-business sector, and increased popularity of the Internet and WWW are the factors responsible for the increased use of database systems. The availability of databases and database management systems that is suited for small businesses to multinational organizations and the awareness about the advantages of database systems have made databases an integral part of every business enterprise irrespective of their size.

In today’s highly competitive marketplace, where information is a strategic weapon, the demand for databases and database management systems is increasing exponentially. Organizations need skilled professionals to implement and manage their databases. The employees need to know the database basics to analyze the data and use it for effective decision-making. So, the demand for people with good knowledge of databases and database management systems is increasing and will continue to do so in the future.

Databases and database management systems are one of the most important subjects for the computer science and information technology students. Probably, the only subject that is more important is Software Engineering. Both Software Engineering and Database Management Systems form what we call the core subjects of the Computer Science and IT courses. These are the two subjects that will help the students in their transition from the classroom to their careers. The advantage of DBMS (and Software Engineering) is that these topics are generic and will not change. Yes, there will be new developments and new theories but to understand those theories and developments one need a thorough knowledge of the fundamentals.

This book is written with the objective of making you an expert in the fundamentals of database management systems. Our goal when we started writing this book was to produce a volume that will cover all the required topics to a level that is not overwhelming but enough to satisfy the needs of the target audience and present the material in a clear and easy-to-understand style. The book contains 33 chapters and one appendix (model question papers).

PEDAGOGICAL FEATURES

We have included a lot of pedagogical features in this book. These include more than 1300 review questions (short answer questions, descriptive type questions and essay questions), 1800 objective type questions (fill in the blanks, true or false and multiple choice questions), exercises, solved examples, etc. The answers to these questions are given at the end of each chapter. The questions are designed to make learning easy and effective. There is also an appendix containing nine model question papers with answers to help you in preparing for the examinations.

ACKNOWLEDGEMENTS

Fundamentals of Database Management Systems is the product of a shared vision. We would like to give special thanks to the people who helped to build it. We would like to express our gratitude to our publisher P.K. Madhavan and the editorial team at Vijay Nicole Imprints Pvt. Ltd. Thanks to our parents Leon Alexander and Santhamma Leon for their love and support.

Finally, we would like to thank our readers. We hope you enjoy reading this book and find it useful. We wish all of you all the very best in your careers and looking forward to meeting you in the cyberspace…

Alexis Leon
Mathews Leon

Contents at a Glance

1. Introduction to Database Management Systems (DBMS)

2. Database Architecture and Design

3. Data Models

4. Entity-Relationship (E-R) Modeling

5. Enhanced Entity-Relationship (EER) Model

6. Relational Database Management Systems (RDBMS)

7. Relational Data Integrity and Database Constraints

8. Transforming ER Models to Relations

9. Data Normalization

10. Relational

11. Relational Calculus

12. Structured Query Language (SQL)

13. Tables Used in this Book

14. Tables, Views and Indexes

15. Queries and Subqueries

16. Aggregate Functions

17. INSERT, UPDATE, and DELETE Operations

18. Joins and Unions

19. Programming with SQL

20. Query Processing and Query Optimization

21. Transaction Management and Concurrency Control

22. Backup and Recovery

23. Storage Devices, Files, File Organization, and File Structures

24. Indexing and Hashing

25. Distributed Databases

26. Object-Oriented and Object-Relational Databases

27. XML and XML Databases

28. Introduction to Modern Databases

29. Database Security

30. Data Integrity

31. Knowledge Discovery in Databases (KDD) and Information Retrieval

32. Data Warehouses and Data Marts

33. Data Mining and On-line Analytical Processing (OLAP)

A. Model Question Papers

Comments should not be blank
Rating
Description

This book is designed to provide a thorough grounding into the fundamentals of the subject while offering insights into new developments and new theories. The book retains al the winning ways of its previous edition, and is clear, simple and easy to understand.

- Clear exposition of topics on conceptual modelling, RDBMS and Structured Query Language.

- Succinct coverage of topics on distributed databases, object oriented and object-relational databases and XML databases.

- Presents adequate coverage of database security, data integrity, data mining and OLAP.

- Includes 1300 review questions, and 1800 objective type questions.

- Appendix contains 9 model question papers with tagged answers based on past university examination question papers.

Table of contents
  • Cover
  • Title Page
  • Copyright Page
  • Dedication
  • Preface
  • Contents at a Glance
  • Contents
  • 1. Introduction to Database Management Systems (DBMS)
    • 1.1 Information
    • 1.2 Data and Data Management
    • 1.3 File-based Data Management
      • 1.3.1 Disadvantages of File-based Data Management Systems
        • 1.3.1.1 Need for Programming and Skilled Personnel
        • 1.3.1.2 Lack of Data Security
        • 1.3.1.3 Information Compartmentalization
        • 1.3.1.4 Structural Dependency
        • 1.3.1.5 Data Dependency
        • 1.3.1.6 Data Redundancy
        • 1.3.1.7 Data Inconsistency
    • 1.4 Database Systems
      • 1.4.1 Why a Database?
      • 1.4.2 Comparison between Database and File-processing Systems
      • 1.4.3 Self-describing Nature of a Database System
      • 1.4.4 Data Independence and Data Abstraction
      • 1.4.5 Support of Multiple Views of the Data
      • 1.4.6 Sharing of Data and Multiuser Transaction Processing
    • 1.5 Organization of a Database
    • 1.6 Characteristics of Data in a Database
    • 1.7 Database Management Systems (DBMS)
      • 1.7.1 Benefits of using a DBMS
    • 1.8 Functions of DBMS
      • 1.8.1 Transaction Management
      • 1.8.2 Concurrency Control
      • 1.8.3 Recovery Management
      • 1.8.4 Security Management
      • 1.8.5 Language Interface
      • 1.8.6 Storage Management
      • 1.8.7 Data Catalog Management
    • 1.9 Components of a DBMS
      • 1.9.1 Query Processor
      • 1.9.2 File Manager
      • 1.9.3 DML Preprocessor
      • 1.9.4 DDL Compiler
      • 1.9.5 Data Dictionary Manager
      • 1.9.6 Database Manager (DM)
    • 1.10 Data Dictionary
      • 1.10.1 Users of the Data Dictionary
      • 1.10.2 Benefits of Data Dictionaries
      • 1.10.3 Data Dictionary Types
    • 1.11 Database Users
      • 1.11.1 Database Administrator (DBA)
        • 1.11.1.1 Recoverability
        • 1.11.1.2 Integrity
        • 1.11.1.3 Security
        • 1.11.1.4 Availability
        • 1.11.1.5 Performance
        • 1.11.1.6 Development/Testing Support
      • 1.11.2 Database Designers
      • 1.11.3 End Users
      • 1.11.4 System Administrator
      • 1.11.5 Security Officers
      • 1.11.6 Network Administrators
    • 1.12 Summary
      • Review Questions
      • Short Answer Questions
      • Descriptive Type Questions
      • Essay Questions
      • Fill in the Blanks
      • True or False
      • Multiple Choice Questions
  • 2. Database Architecture and Design
    • 2.1 Introduction
    • 2.2 Database Architecture
    • 2.3 Data Abstraction
    • 2.4 ANSI/SPARC Architecture
      • 2.4.1 External or Logical Schema
      • 2.4.2 Conceptual Schema
      • 2.4.3 Internal or Physical Schema
      • 2.4.4 Database Users and ANSI/SPARC Architecture
    • 2.5 Physical and Logical Data Independence
    • 2.6 Database Languages
    • 2.7 Database Design
      • 2.7.1 Requirements Analysis
      • 2.7.2 Information Modeling
    • 2.8 Design Constraints
      • 2.8.1 Structural Constraints
      • 2.8.2 Type Constraints
      • 2.8.3 Range Constraints
      • 2.8.4 Relationship Constraints
      • 2.8.5 Temporal Constraints
    • 2.9 Summary
    • Review Questions
      • Short Answer Questions
      • Descriptive Type Questions
      • Essay Questions
      • Fill in the Blanks
      • True or False
      • Multiple Choice Questions
  • 3. Data Models
    • 3.1 Introduction
    • 3.2 Conceptual, Physical, and Logical Database Models
    • 3.3 Database Relationships
    • 3.4 Hierarchical Model
      • 3.4.1 Advantages
      • 3.4.2 Disadvantages
    • 3.5 Network Model
      • 3.5.1 Advantages
      • 3.5.2 Disadvantages
    • 3.6 Relational Model
      • 3.6.1 Advantages
      • 3.6.2 Disadvantages
    • 3.7 E-R Model
      • 3.7.1 Advantages
      • 3.7.2 Disadvantages
    • 3.8 Object-oriented Model
      • 3.8.1 Advantages
      • 3.8.2 Disadvantages
    • 3.9 Object-relational Model
    • 3.10 Deductive/Inference Model
    • 3.11 Comparison between the Various Database Models
    • 3.12 Summary
    • Review Questions
      • Short Answer Questions
      • Descriptive Type Questions
      • Essay Questions
      • Fill in the Blanks
      • True or False
      • Multiple Choice Questions
  • 4. Entity-Relationship (E-R) Modeling
    • 4.1 Introduction
    • 4.2 E-R MODEL
    • 4.3 COMPONENTS OF AN E-R MODEL
      • 4.3.1 Entities
      • 4.3.2 Attributes
        • 4.3.2.1 Simple Attribute
        • 4.3.2.2 Composite Attribute
        • 4.3.2.3 Single-valued Attribute
        • 4.3.2.4 Multi-valued Attribute
        • 4.3.2.5 Derived Attribute
        • 4.3.2.6 Entities and Attributes
      • 4.3.3 Entity Identifiers
      • 4.3.4 Instances of Entities
      • 4.3.5 Attribute Domains
    • 4.4 E-R Diagram Conventions
    • 4.5 Relationships
      • 4.5.1 Degree
      • 4.5.2 Connectivity
      • 4.5.3 Cardinality
      • 4.5.4 Dependency
      • 4.5.5 Participation Constraints
      • 4.5.6 Example
    • 4.6 Composite Entities
    • 4.7 Entity List
    • 4.8 E-R Diagrams (ERDs)
      • 4.8.1 Types of E-R Diagrams
    • 4.9 E-R Modeling Symbols
    • 4.10 Summary
    • Review Questions
      • Short Answer Questions
      • Descriptive Type Questions
      • Essay Questions
      • Fill in the Blanks
      • True or False
      • Multiple Choice Questions
      • Exercises
  • 5. Enhanced Entity-Relationship (EER) Model
    • 5.1 Introduction
    • 5.2 Superclass and Subclass Entity Types
    • 5.3 Attribute Inheritance
    • 5.4 Specialization
    • 5.5 Generalization
      • 5.5.1 Specialization/Generalization Constraints
        • 5.5.1.1 Disjoint Constraint
        • 5.5.1.2 Participation Constraint
    • 5.6 Aggregation
    • 5.7 Categorization
    • 5.8 Summary
    • Review Questions
      • Short Answer Questions
      • Descriptive Type Questions
      • Essay Questions
      • Fill in the Blanks
      • True or False
      • Multiple Choice Questions
  • 6. Relational Database Management Systems (RDBMS)
    • 6.1 Introduction
    • 6.2 RDBMS Terminology
    • 6.3 The Relational Data Structure
    • 6.4 Relational Data Manipulation
    • 6.5 Codd’s Rules
      • 6.5.1 Information Rule
      • 6.5.2 Guaranteed Access Rule
      • 6.5.3 Systematic Treatment of Nulls Rule
      • 6.5.4 Active On-line Catalog based on the Relational Model
      • 6.5.5 Comprehensive Data Sublanguage Rule
      • 6.5.6 View Updating Rule
      • 6.5.7 High-level Insert, Update, and Delete
      • 6.5.8 Physical Data Independence
      • 6.5.9 Logical Data Independence
      • 6.5.10 Integrity Independence
      • 6.5.11 Distribution Independence
      • 6.5.12 Nonsubversion Rule
    • 6.6 Summary
    • Review Questions
      • Short Answer Questions
      • Descriptive Type Questions
      • Essay Questions
      • Fill in the Blanks
      • True or False
      • Multiple Choice Questions
  • 7. Relational Data Integrity and Database Constraints
    • 7.1 Introduction
    • 7.2 Integrity Constraints
      • 7.2.1 Domain Constraints
      • 7.2.2 Entity Integrity
      • 7.2.3 Referential Integrity
      • 7.2.4 Operational Constraints
    • 7.3 Summary
    • Review Questions
      • Short Answer Questions
      • Essay Questions
      • Fill in the Blanks
      • True or False
      • Multiple Choice Questions
  • 8. Transforming ER Models to Relations
    • 8.1 Introduction
    • 8.2 Foreign Keys
    • 8.3 Mapping the E-R Model
      • 8.3.1 Mapping Strong and Weak Entity Types
    • 8.4 Mapping 1:1 relationships
      • 8.4.1 Mandatory at Both Ends
      • 8.4.2 Example
      • 8.4.3 Mandatory Participation at One End and Optional at the Other
      • 8.4.4 Optional Participation at Both Ends
    • 8.5 Mapping 1:M relationships
    • 8.6 Mapping N:M Relationships
    • 8.7 Mapping Parallel Relationships
    • 8.8 Mapping 1:M in Unary Relationships
    • 8.9 Mapping Superclasses and Subclasses
    • 8.10 Summary
    • Exercise
  • 9. Data Normalization
    • 9.1 Introduction
    • 9.2 Pitfalls in Relational Database Design
    • 9.3 Decomposition
      • 9.3.1 Desirable Properties of Decomposition
      • 9.3.2 Exercise
    • 9.4 Functional Dependencies
      • 9.4.1 Trivial and Nontrivial Functional Dependencies
      • 9.4.2 Inference Rules for Functional Dependencies
        • 9.4.2.1 Closure of Functional Dependencies and Attributes
        • 9.4.2.2 Equivalence of Sets of Functional Dependencies
        • 9.4.2.3 Irreducible Set of Functional Dependencies
    • 9.5 Normalization
    • 9.6 Keys
    • 9.7 Relationships
      • 9.7.1 One-to-one Relationships
      • 9.7.2 One-to-many Relationships
      • 9.7.3 Many-to-many Relationships
    • 9.8 Multi-valued Attributes
      • 9.8.1 Resolving the Multi-valued Attributes Issue
    • 9.9 First Normal Form (1NF)
    • 9.10 Second Normal Form (2NF)
    • 9.11 Third Normal Form (3NF)
    • 9.12 Boyce-Codd Normal Form (BCNF)
      • 9.12.1 Comparison of 3NF and BCNF
    • 9.13 Fourth Normal Form (4NF)
      • 9.13.1 Multi-Valued Dependency (MVD)
    • 9.14 Fifth Normal Form (5NF)
    • 9.15 Lossless-Join Dependency
    • 9.16 Domain-Key Normal Form (DKNF)
    • 9.17 Denormalization
    • 9.18 Summary
    • Review Questions
      • Short Answer Questions
      • Descriptive Type Questions
      • Essay Questions
      • Fill in the Blanks
      • True or False
      • Multiple Choice Questions
      • Exercise
  • 10. Relational Algebra
    • 10.1 Introduction
    • 10.2 Relational Algebraic Operations
      • 10.2.1 UNION, INTERSECTION, and DIFFERENCE
      • 10.2.2 CARTESIAN PRODUCT
      • 10.2.3 SELECT
      • 10.2.4 PROJECT
      • 10.2.5 ASSIGNMENT
      • 10.2.6 DIVISION
      • 10.2.7 RENAME
      • 10.2.8 JOIN
        • 10.2.8.1 Theta Join
        • 10.2.8.2 Natural Join
        • 10.2.8.3 Outer Join
        • 10.2.8.4 Semijoin
    • 10.3 Aggregate Functions
    • 10.4 Update Operations
      • 10.4.1 Deletion
      • 10.4.2 Insertion
      • 10.4.3 Updating
    • 10.5 Exercise
      • 10.5.1 Answers
    • 10.6 Summary
    • Review Questions
      • Short Answer Questions
      • Descriptive Type Questions
      • Essay Questions
      • Fill in the Blanks
      • True or False
      • Multiple Choice Questions
  • 11. Relational Calculus
    • 11.1 Introduction
    • 11.2 Tuple Relational Calculus
      • 11.2.1 Expressions and Formulas
      • 11.2.2 Existential and Universal Quantifiers
    • 11.3 Domain Relational Calculus
    • 11.4 Examples
    • 11.5 Summary
    • Review Questions
      • Short Answer Questions
      • Descriptive Type Questions
      • Fill in the Blanks
      • True or False
      • Multiple Choice Questions
  • 12. Structured Query Language (SQL)
    • 12.1 Introduction
    • 12.2 History of SQL
    • 12.3 Characteristics of SQL
    • 12.4 Advantages of SQL
    • 12.5 SQL in Action
    • 12.6 SQL Data Types and Literals
      • 12.6.1 SQL Data Types
        • 12.6.1.1 CHARACTER(n)
        • 12.6.1.2 CHARACTER VARYING(n)
        • 12.6.1.3 BIT(n) and BIT VARYING(n)
        • 12.6.1.4 NUMERIC(p,q)
        • 12.6.1.5 DECIMAL(p,q)
        • 12.6.1.6 INTEGER
        • 12.6.1.7 SMALLINT
        • 12.6.1.8 FLOAT(p)
      • 12.6.2 Literals
        • 12.6.2.1 Character String
        • 12.6.2.2 Bit String
        • 12.6.2.3 Exact Numeric
        • 12.6.2.4 Approximate Numeric
      • 12.6.3 String Data Types
      • 12.6.4 Numeric Data Types
    • 12.7 Types of SQL Commands
      • 12.7.1 Data Definition Language (DDL)
      • 12.7.2 Data Manipulation Language (DML)
      • 12.7.3 Data Query Language (DQL)
      • 12.7.4 Data Control Language (DCL)
      • 12.7.5 Data Administration Statements (DAS)
      • 12.7.6 Transaction Control Statements (TCS)
    • 12.8 SQL Operators
    • 12.9 Arithmetic Operators
    • 12.10 Comparison Operators
      • 12.10.1 Operators =, <>, >, <, >=, and <=
      • 12.10.2 Row Comparison
      • 12.10.3 IS [NOT] NULL
      • 12.10.4 ANY, ALL, and SOME
      • 12.10.5 [NOT] EXISTS
      • 12.10.6 [NOT] LIKE
        • 12.10.6.1 ESCAPE Clause
      • 12.10.7 [NOT] IN
      • 12.10.8 [NOT] BETWEEN
    • 12.11 Logical Operators
    • 12.12 Set Operators
    • 12.13 Operator Precedence
    • 12.14 Summary
    • Review Questions
      • Short Answer Questions
      • Descriptive Type Questions
      • Essay Questions
      • Fill in the Blanks
      • True or False
      • Multiple Choice Questions
  • 13. Tables Used in this Book
    • 13.1 Introduction
  • 14. Tables, Views and Indexes
    • 14.1 Introduction
      • 14.1.1 Creating a Table
      • 14.1.2 Modifying a Table
      • 14.1.3 Deleting a Table
    • 14.2 Views
      • 14.2.1 Creating a View
      • 14.2.2 Data Query and Manipulation Operations with Views
      • 14.2.3 The CHECK OPTION
      • 14.2.4 Views Involving Multiple Tables
      • 14.2.5 Updateable and Non-updateable Views
      • 14.2.6 Advantages of Views
      • 14.2.7 Using Views
      • 14.2.8 Dropping a View
    • 14.3 Indexes
      • 14.3.1 Book Index vs. Table Index
      • 14.3.2 Why Use an Index?
      • 14.3.3 Creating an Index
      • 14.3.4 Types of Indexes
        • 14.3.4.1 Composite Indexes
      • 14.3.4.2 Unique Indexes
      • 14.3.4.3 Clustered Indexes
      • 14.3.5 Dropping an Index
      • 14.3.6 Using Indexes
    • 14.4 Summary
    • Review Questions
      • Short Answer Questions
      • Descriptive Type Questions
      • Essay Questions
      • Fill in the Blanks
      • True or False
      • Multiple Choice Questions
  • 15. Queries and Subqueries
    • 15.1 Introduction
      • 15.1.1 Selecting All Columns (SELECT *)
      • 15.1.2 Qualified Retrieval
        • 15.1.2.1 Eliminating Duplicates Using DISTINCT
      • 15.1.3 Select Using IN
      • 15.1.4 Select Using BETWEEN
      • 15.1.5 Select Using LIKE
        • 15.1.5.1 ESCAPE Clause
      • 15.1.6 Selecting Computed Values
      • 15.1.7 Selection Involving NULLs
      • 15.1.8 Grouping While Selecting
      • 15.1.9 Ordering While Selecting
      • 15.1.10 AND, OR, and NOT
    • 15.2 Subqueries
      • 15.2.1 What is a Subquery?
      • 15.2.2 Execution of a Subquery
      • 15.2.3 Nested Subqueries
      • 15.2.4 Parallel Subqueries
      • 15.2.5 Correlated Subquery
    • 15.3 Summary
    • Review Questions
      • Short Answer Questions
      • Descriptive Type Questions
      • Essay Questions
      • Fill in the Blanks
      • True or False
      • Multiple Choice Questions
  • 16. Aggregate Functions
    • 16.1 Introduction
    • 16.2 General Rules
    • 16.3 COUNT( ) and COUNT(*)
    • 16.4 SUM( )
    • 16.5 AVG( )
    • 16.6 MAX( ) and MIN( )
    • 16.7 Summary
    • Review Questions
      • Descriptive Type Questions
      • Fill in the Blanks
      • True or False
  • 17. INSERT, UPDATE, and DELETE Operations
    • 17.1 Introduction
    • 17.2 INSERT Statement
      • 17.2.1 Single row INSERT
    • 17.3 Bulk Inserts of Data
    • 17.4 UPDATE Statement
    • 17.5 DELETE Statement
    • 17.6 Summary
    • Review Questions
      • Short Answer Questions
      • Descriptive Type Questions
      • Fill in the Blanks
      • True or False
  • 18. Joins and Unions
    • 18.1 Joins
      • 18.1.1 Why do we need Joins?
      • 18.1.2 Use of Aliases
      • 18.1.3 Qualities of a Good Join
      • 18.1.4 Theta Joins, Equijoins, and Nonequijoins
      • 18.1.5 WHERE Clause
      • 18.1.6 Using SELECT * in Joins
      • 18.1.7 Natural Join
      • 18.1.8 Self-join—Joining a Table with Itself
      • 18.1.9 Joining More than Two Tables
      • 18.1.10 Cartesian Product
      • 18.1.11 Joins vs. Subqueries
      • 18.1.12 Outer Joins
    • 18.2 Unions
      • 18.2.1 Duplicate Elimination
      • 18.2.2 Ordering the Results
      • 18.2.3 Order of Evaluation
    • 18.3 Summary
    • Review Questions
      • Short Answer Questions
      • Descriptive Type Questions
      • Fill in the Blanks
      • True or False
  • 19. Programming with SQL
    • 19.1 Introduction
      • 19.1.1 Embedded SQL
      • 19.1.2 Application Program Interface
      • 19.1.3 Commercial Implementations
    • 19.2 Query Processing
    • 19.3 Embedded SQL
      • 19.3.1 Embedded SQL Program
        • 19.3.1.1 Precompilation
        • 19.3.1.2 DCLGEN Command
        • 19.3.1.3 Binding
        • 19.3.1.4 Link-editing
        • 19.3.1.5 Running the Program
      • 19.3.2 Advantages of Embedded SQL Programs
      • 19.3.3 Automatic Rebinding
      • 19.3.4 Embedded SQL Features
      • 19.3.5 Error Handling
        • 19.3.5.1 Compile-time Errors
        • 19.3.5.2 Runtime Errors
        • 19.3.5.3 SQLCA
        • 19.3.5.4 The SQLSTATE Variable
        • 19.3.5.5 The WHENEVER Statement
    • 19.4 Dynamic SQL
      • 19.4.1 The EXECUTE IMMEDIATE Statement
      • 19.4.2 PREPARE and EXECUTE Statements
      • 19.4.3 SQL Descriptor Areas
      • 19.4.4 SQLDA
        • 19.4.4.1 ALLOCATE DESCRIPTOR
        • 19.4.4.2 DEALLOCATE DESCRIPTOR
        • 19.4.4.3 GET DESCRIPTOR
        • 19.4.4.4 SET DESCRIPTOR
        • 19.4.4.5 DESCRIBE
    • 19.5 Summary
    • Review Questions
      • Short Answer Questions
      • Descriptive Type Questions
      • Essay Questions
      • Fill in the Blanks
      • True or False
      • Multiple Choice Questions
  • 20. Query Processing and Query Optimization
    • 20.1 Introduction
    • 20.2 Query Processing
      • 20.2.1 Parsing
      • 20.2.2 Standardization
      • 20.2.3 Query Optimization
      • 20.2.4 Query Execution
    • 20.3 Query Processor
      • 20.3.1 Types of Query Optimizers
        • 20.3.1.1 Syntax-based Query Optimizers
        • 20.3.1.2 Cost-based Query Optimizers
    • 20.4 Query Processing
      • 20.4.1 Sorting
      • 20.4.2 Query Decomposition
        • 20.4.2.1 Analysis
        • 20.4.2.2 Normalization
        • 20.4.2.3 Semantic Analysis
        • 20.4.2.4 Simplification
        • 20.4.2.5 Query Restructuring
    • 20.5 Transformation rules for Relational Algebra
    • 20.6 Syntactical Optimization
    • 20.7 Heuristic Query Optimization
    • 20.8 Semantic Optimization
    • 20.9 Cost-based Query Optimization
      • 20.9.1 Cost Functions for SELECT
      • 20.9.2 Cost Functions for JOIN
    • 20.10 Materialized Views
    • 20.11 Evaluation of Expressions
      • 20.11.1 Materialization and Pipelining
    • 20.12 Summary
    • Review Questions
      • Short Answer Questions
      • Descriptive Type Questions
      • Essay Questions
      • Fill in the Blanks
      • True or False
      • Multiple Choice Questions
  • 21. Transaction Management and Concurrency Control
    • 21.1 Introduction
    • 21.2 Transactions
    • 21.3 Transaction Properties (ACID Properties)
      • 21.3.1 Atomicity
      • 21.3.2 Consistency
      • 21.3.3 Isolation
      • 21.3.4 Durability
      • 21.3.5 Implementing Atomicity
      • 21.3.6 Implementing Consistency
      • 21.3.7 Implementing Isolation
      • 21.3.8 Implementing Durability
    • 21.4 Database Structure
    • 21.5 Transaction States
    • 21.6 Concurrency Control
      • 21.6.1 Multiple Update Problem
      • 21.6.2 Uncommitted Dependency Problem
      • 21.6.3 Incorrect Analysis Problem
    • 21.7 Serializability
      • 21.7.1 View Serializability
    • 21.8 Recoverability
      • 21.8.1 Recoverable Schedules
    • 21.8.2 Noncascading Schedules
      • 21.8.3 Strict Schedules
    • 21.9 Concurrency Control Schemes
      • 21.9.1 Locking
      • 21.9.2 Two-phase Locking
      • 21.9.3 Deadlock
      • 21.9.4 Granularity
        • 21.9.4.1 Multiple Granularity Locking
      • 21.9.5 Timestamps and Timestamp-based Protocols
      • 21.9.6 Timestamp Ordering Protocol
      • 21.9.7 Optimistic Techniques
    • 21.10 Transaction Management in SQL
    • 21.11 Transactions and Recovery
    • 21.12 User-defined Transactions
    • 21.13 The COMMIT Command
    • 21.14 The ROLLBACK Command
    • 21.15 The SAVEPOINT Command
    • 21.16 Summary
    • Review Questions
      • Short Answer Questions
      • Descriptive Type Questions
      • Essay Questions
      • Fill in the Blanks
      • True or False
      • Multiple Choice Questions
  • 22. Backup and Recovery
    • 22.1 Introduction
    • 22.2 Database Backups
    • 22.3 Causes of Failures
    • 22.4 Why Plan Backups?
    • 22.5 Hardware Protection and Redundancy
    • 22.6 Transaction Logs
    • 22.7 Importance of Backups
    • 22.8 Database Recovery
    • 22.9 Data Storage
    • 22.10 Data Access
    • 22.11 Recovery and Atomicity
    • 22.12 Recovery Concepts and Terminology
    • 22.13 Recovery Facilities
    • 22.13.1 Backup Mechanism
    • 22.14 Logging
      • 22.14.1 Checkpointing
    • 22.15 Recovery Techniques
      • 22.15.1 Deferred Update
      • 22.15.2 Immediate Update
      • 22.15.3 Shadow Paging
    • 22.16 Detached Transaction Actions
    • 22.17 Recovery in Multi-database Systems
      • 22.17.1 Two-phase Commit Protocol
    • 22.18 Database Recovery from Catastrophic Failures
    • 22.19 Summary
    • Review Questions
      • Short Answer Questions
      • Descriptive Type Questions
      • Essay Questions
      • Fill in the Blanks
      • True or False
      • Multiple Choice Questions
  • 23. Storage Devices, Files, File Organization, and File Structures
    • 23.1 Storage Devices
      • 23.1.1 Secondary Storage Devices
      • 23.1.2 Advantages of Secondary Storage
        • 23.1.2.1 Direct Access Storage
        • 23.1.2.2 Sequential Access Storage
      • 23.1.3 Tertiary Storage
    • 23.2 Magnetic Tape
    • 23.3 Magnetic Disk
      • 23.3.1 Hard Disks
      • 23.3.2 Flexible Disks
    • 23.4 Optical Disks
    • 23.5 Magneto-optical (MO) Drives
    • 23.6 Files, File Organization, and File Structures
    • 23.7 Operations on Files
    • 23.8 File Storage Organization
      • 23.8.1 Sequential File Organization
        • 23.8.1.1 Sequential File Processing
        • 23.8.1.2 Efficiency of Sequential File Organization
        • 23.8.1.3 Advantages and Disadvantages
      • 23.8.2 Direct File Organization
        • 23.8.2.1 Direct File Processing
        • 23.8.2.2 Relative Addressing
        • 23.8.2.3 Hashing
        • 23.8.2.4 Indexing
        • 23.8.2.5 Advantages and Disadvantages
    • 23.9 Physical Storage Media
      • 23.9.1 Cache
      • 23.9.2 Main Memory
      • 23.9.3 Flash Memory
      • 23.9.4 Magnetic Disk, Optical Disk, and Magnetic Tape Storage
    • 23.10 Storage Device Hierarchy
    • 23.11 Storage Access
    • 23.12 Buffer Manager
      • 23.12.1 Buffer Replacement Strategy
      • 23.12.2 Pinned Blocks
      • 23.12.3 Forced Output Blocks
    • 23.13 File Organization
      • 23.13.1 File Volatility
      • 23.13.2 File Activity
      • 23.13.3 File Query
      • 23.13.4 File Size
      • 23.13.5 Data Currency
    • 23.14 File Structure
    • 23.15 Record Types
      • 23.15.1 Fixed Length Records
      • 23.15.2 Variable Length Records
        • 23.15.2.1 Records Having Variable Length Fields
        • 23.15.2.2 Records Having Repeating Fields
        • 23.15.2.3 Records Having Optional Fields
        • 23.15.2.4 File Containing Records of Different Record Types
        • 23.15.2.5 Implementation of Variable Length Records
    • 23.16 Summary
    • Review Questions
      • Short Answer Questions
      • Descriptive Type Questions
      • Essay Questions
      • Fill in the Blanks
      • True or False
      • Multiple Choice Questions
  • 24. Indexing and Hashing
    • 24.1 Introduction
    • 24.2 Indexing
      • 24.2.1 Ordered Indexes
        • 24.2.1.1 Primary Index
        • 24.2.1.2 Secondary Indexes
        • 24.2.1.3 B+-tree Indexes
        • 24.2.1.4 B-tree Indexes
    • 24.3 Hashing
      • 24.3.1 Internal Hashing
        • 24.3.1.1 Open Addressing
        • 24.3.1.2 Chaining
        • 24.3.1.3 Multiple Hashing
      • 24.3.2 External Hashing
      • 24.3.3 Dynamic Hashing
        • 24.3.3.1 Extensible Hashing
        • 24.3.3.2 Linear Hashing
    • 24.4 Summary
    • Review Questions
      • Short Answer Questions
      • Descriptive Type Questions
      • Essay Questions
      • Fill in the Blanks
      • True or False
      • Multiple Choice Questions
  • 25. Distributed Databases
    • 25.1 Introduction
    • 25.2 Components of a Distributed DBMS (DDBMS)
      • 25.2.1 Local DBMS Component
      • 25.2.2 Data Communications Component
      • 25.2.3 Global System Catalog
      • 25.2.4 Distributed DBMS Component
    • 25.3 Introduction to Networks
    • 25.4 Network Topology
      • 25.4.1 Star Topology
        • 25.4.1.1 Advantages
        • 25.4.1.2 Disadvantages
      • 25.4.2 Ring Topology
        • 25.4.2.1 Advantages
        • 25.4.2.2 Disadvantages
      • 25.4.3 Linear Bus Topology
        • 25.4.3.1 Advantages
        • 25.4.3.2 Disadvantages
      • 25.4.4 Tree Topology
        • 25.4.4.1 Advantages
        • 25.4.4.2 Disadvantages
    • 25.5 Network Protocols
    • 25.6 Network Architecture
      • 25.6.1 Peer-to-Peer Architecture
      • 25.6.2 Client/Server Architecture
    • 25.7 Homogeneous and Heterogeneous Distributed Databases
    • 25.8 Distributed Data Storage
      • 25.8.1 Data Replication
      • 25.8.2 Data Fragmentation
    • 25.9 Distributed Database Design Issues
      • 25.9.1 Centralized
      • 25.9.2 Fragmented (or Partitioned)
      • 25.9.3 Complete Replication
      • 25.9.4 Selective Replication
    • 25.10 Availability
    • 25.11 Advantages of Distributed Databases
      • 25.11.1 Local Control of Local Data
      • 25.11.2 Transparency
      • 25.11.3 Improved Reliability and Availability
      • 25.11.4 Performance Improvement
      • 25.11.5 Better Response Times
      • 25.11.6 Modularity
      • 25.11.7 Improved Scalability
      • 25.11.8 Site Autonomy
      • 25.11.9 Ability to Share Data
      • 25.11.10 Direct User Interaction
    • 25.12 Disadvantages of Distributed Databases
      • 25.12.1 Complexity
      • 25.12.2 Cost
      • 25.12.3 Technical Problems of Connecting Dissimilar Machines
      • 25.12.4 Need for Sophisticated Communication Systems
      • 25.12.5 Data Integrity and Security Problems
      • 25.12.6 Lack of Professional Support
    • 25.13 Distributed Transaction Processing
    • 25.14 Distributed Concurrency Control
    • 25.15 Distributed Serializability
    • 25.16 Locking Protocols
      • 25.16.1 Centralized 2PL
      • 25.16.2 Primary Copy 2PL
      • 25.16.3 Distributed 2PL
      • 25.16.4 Majority Locking
    • 25.17 Timestamp Protocols
    • 25.18 Distributed Deadlock Management
      • 25.18.1 Deadlock Prevention
      • 25.18.2 Deadlock Avoidance
      • 25.18.3 Deadlock Detection (DD) and Resolution
        • 25.18.3.1 Centralized DD
        • 25.18.3.2 Hierarchical DD
        • 25.18.3.3 Distributed DD
    • 25.19 Failures in a Distributed Environment
    • 25.20 Commit Protocols
      • 25.20.1 Two-phase Commit Mechanism
        • 25.20.1.1 Prepare Phase
        • 25.20.1.2 Execute Phase
      • 25.20.2 Three-phase Commit Mechanism
    • 25.21 Functions of Distributed Database Management Systems
    • 25.22 C. J. Date’s Commandments for Distributed Databases
    • 25.23 Distributed Systems — An Example
    • 25.24 Summary
    • Review Questions
      • Short Answer Questions
      • Descriptive Type Questions
      • Essay Questions
      • Fill in the Blanks
      • True or False
      • Multiple Choice Questions
  • 26. Object-Oriented and Object-Relational Databases
    • 26.1 Object-oriented Databases
    • 26.2 The Need for Object-oriented Databases
    • 26.3 The Evolution of Object-Oriented Databases
    • 26.4 Characteristics of Object-Oriented Databases
    • 26.5 Object-oriented Database Management Systems (ODBMS)
      • 26.5.1 Complex Objects
      • 26.5.2 Object Identity and Object State
      • 26.5.3 Messages and Methods
      • 26.5.4 Encapsulation
      • 26.5.5 Types and Classes
      • 26.5.6 Class Hierarchies
      • 26.5.7 Inheritance
      • 26.5.8 Method Overriding and Polymorphism
      • 26.5.9 Overloading and Late Binding
      • 26.5.10 Computational Completeness
      • 26.5.11 Extensibility
      • 26.5.12 Persistence
      • 26.5.13 Secondary Storage Management
      • 26.5.14 Concurrency
      • 26.5.15 Recovery
      • 26.5.16 Ad Hoc Query Facility
    • 26.6 When should you use an OODBMS?
    • 26.7 Comparisons of OODBMS to RDBMS
      • 26.7.1 Advantages
      • 26.7.2 Disadvantages
    • 26.8 Object-Relational Databases
    • 26.9 Object-Relational DBMs (ORDBMS)
    • 26.10 ORDBMS Data Model
    • 26.11 ORDBMS Query Language
    • 26.12 Object-relational Features
    • 26.13 Comparison between OODBMS and ORDBMS
    • 26.14 Summary
    • Review Questions
      • Short Answer Questions
      • Descriptive Type Questions
      • Essay Questions
      • Fill in the Blanks
      • True or False
  • 27. XML and XML Databases
    • 27.1 Introduction
    • 27.2 XML and SGML
    • 27.3 Applications of XML
    • 27.4 Advantages of XML
    • 27.5 XML Basics
    • 27.6 XML Syntax
    • 27.7 Structured Documents on the Web
      • 27.7.1 Heterogeneous Databases
      • 27.7.2 Allowing Users to Define Views
      • 27.7.3 The Use of Web Agents
    • 27.8 Why Is XML Important?
      • 27.8.1 Plain Text
      • 27.8.2 Data Identification
      • 27.8.3 Stylability
      • 27.8.4 In-line Reusability
      • 27.8.5 Linkability
      • 27.8.6 Easy Processing
      • 27.8.7 Hierarchical
    • 27.9 How Can You Use XML?
      • 27.9.1 Traditional Data Processing
      • 27.9.2 Document-driven Programming (DDP)
      • 27.9.3 Binding
      • 27.9.4 Archiving
    • 27.10 XML and Web Data
    • 27.11 Database-centric Approach to XML
      • 27.11.1 IBM DB2
      • 27.11.2 Microsoft SQL Server
      • 27.11.3 Oracle
    • 27.12 Native XML Databases
    • 27.13 Emerging APIs and Components for XML
    • 27.14 XML and Related Technologies
    • 27.15 XML Query Language
    • 27.16 Summary
    • Review Questions
      • Short Answer Questions
      • Descriptive Type Questions
      • Essay Questions
      • Fill in the Blanks
  • 28. Introduction to Modern Databases
    • 28.1 Introduction
    • 28.2 Distributed Databases
    • 28.3 Object-Oriented Databases
    • 28.4 Object-relational Databases
    • 28.5 Active Databases
      • 28.5.1 Active Database Applications
    • 28.6 Deductive Database
      • 28.6.1 Deductive Database Applications
    • 28.7 Multidimensional Databases
    • 28.8 Parallel Databases
      • 28.8.1 Benefits of Parallel Database
    • 28.9 Temporal Databases
      • 28.9.1 Temporal Database Management Systems
    • 28.10 Spatial Databases
    • 28.11 Multimedia Databases
    • 28.12 Statistical Databases
    • 28.13 Mobile Databases
    • 28.14 Web Databases
    • Review Questions
      • Descriptive Type Questions
  • 29. Database Security
    • 29.1 Introduction
    • 29.2 Database Environment
    • 29.3 Data Security Risks
      • 29.3.1 Data Tampering
      • 29.3.2 Eavesdropping and Data Theft
      • 29.3.3 Falsifying User Identities
      • 29.3.4 Password-related Threats
      • 29.3.5 Unauthorized Access to Tables and Columns
      • 29.3.6 Unauthorized Access to Data Rows
      • 29.3.7 Lack of Accountability
      • 29.3.8 Complex User Management Requirements
    • 29.4 Dimensions of Database Security
    • 29.5 Data Security Requirements
      • 29.5.1 Confidentiality
      • 29.5.2 Integrity
      • 29.5.3 Availability
    • 29.6 Database Users
    • 29.7 Protecting the Data within the Database
      • 29.7.1 Database Privileges
        • 29.7.1.1 System Privileges
        • 29.7.1.2 Object Privileges
      • 29.7.2 Roles
        • 29.7.2.1 Uses for Roles
    • 29.8 Granting and Revoking Privileges and Roles
      • 29.8.1 The GRANT Command
      • 29.8.2 The REVOKE Command
    • 29.9 Data Encryption
    • 29.10 Database Integrity
    • 29.11 System Availability
    • 29.12 Best Security Practices
    • 29.13 Network Security
      • 29.13.1 Protecting Data during Transmission
        • 29.13.1.1 Controlling Access within the Network
        • 29.13.1.2 Encrypting Data for Network Transmission
        • 29.13.1.3 Secure Sockets Layer (SSL) Protocol
        • 29.13.1.4 Firewalls
    • 29.14 Authenticating Users to the Database
    • 29.15 Security Auditing
    • 29.16 Cryptography
    • 29.17 Digital Ciphers
      • 29.17.1 Data Encryption Standard (DES)
    • 29.18 Code Breaking
    • 29.19 Applications of Encryption
    • 29.20 Limitations of Encryption
    • 29.21 Summary
    • Review Questions
      • Short Answer Questions
      • Descriptive Type Questions
      • Essay Questions
      • Fill in the Blanks
      • True or False
      • Multiple Choice Questions
  • 30. Data Integrity
    • 30.1 Introduction
    • 30.2 Types of Integrity Constraints
      • 30.2.1 Restrictions on Integrity Constraints
      • 30.2.2 General Constraints
      • 30.2.3 Domain Constraints
      • 30.2.4 Base Table Constraints
        • 30.2.4.1 Candidate Key Definition
        • 30.2.4.2 Foreign Key Definition
        • 30.2.4.3 Column Constraints
    • 30.3 SUMMARY
    • Review Questions
      • Short Answer Questions
      • Descriptive Type Questions
      • Essay Questions
      • Fill in the Blanks
      • True or False
      • Multiple Choice Questions
  • 31. Knowledge Discovery in Databases (KDD) and Information Retrieval
    • 31.1 Introduction
    • 31.2 Knowledge Discovery
    • 31.3 Knowledge Discovery In Databases (KDD)
    • 31.4 Basic Features of KDD
    • 31.5 Advantages of KDD
    • 31.6 Phases of KDD
    • 31.7 KDD Techniques
      • 31.7.1 Probabilistic Approach
      • 31.7.2 Statistical Approach
      • 31.7.3 Classification Approach
      • 31.7.4 Deviation and Trend Analysis
      • 31.7.5 Other Approaches
      • 31.7.6 Hybrid Approach
    • 31.8 Information Retrieval
      • 31.8.1 Relevance Ranking
    • 31.9 Crawling and Indexing the Web
    • 31.10 Summary
    • Review Questions
      • Short Answer Questions
      • Descriptive Type Questions
      • Essay Questions
      • Fill in the Blanks
      • True or False
  • 32. Data Warehouses and Data Marts
    • 32.1 Introduction
      • 32.1.1 Data in the Data Warehouse
      • 32.1.2 Data Warehouse Architecture
        • 32.1.2.1 Summarized Data
        • 32.1.2.2 Current Detail
        • 32.1.2.3 System of Record
        • 32.1.2.4 Integration and Transformation Programs
        • 32.1.2.5 Archives
        • 32.1.2.6 Metadata
      • 32.1.3 Data Warehousing System
      • 32.1.4 Advantages of a Data Warehouse
      • 32.1.5 Structure of a Data Warehouse
      • 32.1.6 Obstacles to Successful Data Warehouse Projects
        • 32.1.6.1 Complex Extract, Transformation and Load Characteristics
        • 32.1.6.2 Immense Volumes of Daily Data
        • 32.1.6.3 Load Methodology (Load Control and Auditing)
        • 32.1.6.4 Data Warehouse Recovery (Load Recovery)
        • 32.1.6.5 Data Warehouse Validation
        • 32.1.6.6 Data Warehouse Read Performance
        • 32.1.6.7 Metadata Management
      • 32.1.7 Mistakes to Avoid in a Data Warehousing Project
      • 32.1.8 Uses of a Data Warehouse
        • 32.1.8.1 Standard Reports and Queries
        • 32.1.8.2 Queries against Summarized Data
        • 32.1.8.3 Data Mining
        • 32.1.8.4 Interface with other Data Warehouses
    • 32.2 Data Marts
      • 32.2.1 Advantages of Data Marts
    • 32.3 Summary
    • Review Questions
      • Short Answer Questions
      • Descriptive Type Questions
      • Essay Questions
      • Fill in the Blanks
      • True or False
  • 33. Data Mining and On-line Analytical Processing (OLAP)
    • 33.1 Introduction
      • 33.1.1 What is Data Mining?
      • 33.1.2 Why Use Data Mining?
      • 33.1.3 What Can Data Mining Do for You?
      • 33.1.4 Evolution of Data Mining
      • 33.1.5 Data Mining Process
      • 33.1.6 Data Mining Methods
        • 33.1.6.1 Classification
        • 33.1.6.2 Clustering
        • 33.1.6.3 Association Rules
        • 33.1.6.4 Sequential Pattern Detection
        • 33.1.6.5 Change and Deviation Detection
      • 33.1.7 Advantages of Data Mining
      • 33.1.8 Automated Prediction of Trends and Behaviors
        • 33.1.8.1 Automated Discovery of Previously Unknown Patterns
        • 33.1.8.2 Databases can be Larger in Both Depth and Breadth
      • 33.1.9 Technologies Used in Data Mining
    • 33.2 On-line Analytical Processing (OLAP)
      • 33.2.1 Benefits of OLAP
      • 33.2.2 Different Styles of OLAP
        • 33.2.2.1 Multi-Dimensional OLAP
        • 33.2.2.2 Hybrid OLAP
        • 33.2.2.3 Desktop OLAP
        • 33.2.2.4 Relational OLAP
      • 33.2.3 How to choose an OLAP style?
    • 33.3 Summary
    • Review Questions
      • Short Answer Questions
      • Descriptive Type Questions
      • Essay Questions
      • Fill in the Blanks
      • True or False
  • A. Model Question Papers
    • Model Question Paper – I
    • Model Question Paper – II
    • Model Question Paper – III
    • Model Question Paper – IV
    • Model Question Paper – V
    • Model Question Paper – VI
    • Model Question Paper – VII
    • Model Question Paper – VIII
    • Model Question Paper – IX
  • Index
Biographical note
Alexis Leon is a Software Consultant, researcher and writer. He has more than 30 years of consulting experiencein the areas of software development, IT, software engineering, internet and WWW, workflow automation, groupware, product design, process improvement, project management, configuration management, quality assurance, productivity improvement, etc. He has written more than 45 books on computing, IT and management. He has worked with companies like Ponds India Ltd and Tata Consultancy Services. He holds a masters degree (M.Tech) in Industrial Engineering. He can be reached through his website at www.alexisleon.com.
Mathews Leon is the Executive Director of L & L Consultancy Services Pvt Ltd, company specialising in web design and development, internet/intranet development, software development, multimedia and CBT development, etc. He has written more than 25 books on computing and IT. He hold a bachelor's degree (B.Tech) in Mechanical Engineering. He can be reached through his web site at http://mathews.lnl.net/.
Excerpt

Fundamentals
of
Database Management Systems

Alexis Leon

Professional Writer and
Software Consultant

Mathews Leon

Executive Director
L & L Consultancy Services Pvt Ltd

Vijay Nicole Imprints Private Limited

CHENNAI

Published by

Vijay Nicole Imprints Private Limited

No. 1B, Second Main Road,

Ram Nagar South, Chennai – 600 091

Phone: + 91 - 44 - 4283 7178, 72002 58368, 97898 33533

Email: vni@vijaynicole.co.in Website: www.vijaynicole.co.in

Fundamentals of Database Management Systems

ISBN: 978-81-8209-029-3

e-PUB: 978-81-19243-15-0

e-PDF: 978-81-19243-16-7

Copyright © 2023, Alexis Leon and Mathews Leon

No part of this publication may be reproduced or distributed in any form or by any means, electronic, mechanical, photocopying, recording, or otherwise or stored in a database or retrieval system without the prior written permission of the publishers and copyright holders. The program listings (if any) may be entered, stored and executed in a computer system, but they may not be reproduced for publication.

Information contained in this work has been obtained by publishers, from sources believed to be reliable. However, neither publishers nor copyright holders guarantee the accuracy or completeness of any information published herein, and neither publishers nor copyright holders shall be responsible for any errors, omissions, or damages arising out of use of this information. This work is published with the understanding that publishers and copyright holders are supplying information but are not attempting to render engineering or other professional services. If such services are required, the assistance of an appropriate professional should be sought.

Information contained in this work has been obtained by publishers, from sources believed to be reliable. However, neither publishers nor copyright holders guarantee the accuracy or completeness of any information published herein, and neither publishers nor copyright holders shall be responsible for any errors, omissions, or damages arising out of use of this information. This work is published with the understanding that publishers and copyright holders are supplying information but are not attempting to render engineering or other professional services. If such services are required, the assistance of an appropriate professional should be sought.

Laser typeset at: Maven Learning, Chennai – 600 091

To
Ashwin and Irene
with love

Preface

Databases and database management systems have been the backbone of enterprise computing for the past many years. The market is growing bigger in terms of size, and will continue to gain prominence in the coming years. With the consolidation, standardization and centralization of IT systems underway in most organizations, the demand for highly scalable and reliable database systems is on the rise. Earlier database management systems were used by only very large players such as the government, the banking, financial services and insurance sector, telecom, IT services, manufacturing, and the retail sector.

Reduced implementation costs, advancements in technology, growth of the e-business sector, and increased popularity of the Internet and WWW are the factors responsible for the increased use of database systems. The availability of databases and database management systems that is suited for small businesses to multinational organizations and the awareness about the advantages of database systems have made databases an integral part of every business enterprise irrespective of their size.

In today’s highly competitive marketplace, where information is a strategic weapon, the demand for databases and database management systems is increasing exponentially. Organizations need skilled professionals to implement and manage their databases. The employees need to know the database basics to analyze the data and use it for effective decision-making. So, the demand for people with good knowledge of databases and database management systems is increasing and will continue to do so in the future.

Databases and database management systems are one of the most important subjects for the computer science and information technology students. Probably, the only subject that is more important is Software Engineering. Both Software Engineering and Database Management Systems form what we call the core subjects of the Computer Science and IT courses. These are the two subjects that will help the students in their transition from the classroom to their careers. The advantage of DBMS (and Software Engineering) is that these topics are generic and will not change. Yes, there will be new developments and new theories but to understand those theories and developments one need a thorough knowledge of the fundamentals.

This book is written with the objective of making you an expert in the fundamentals of database management systems. Our goal when we started writing this book was to produce a volume that will cover all the required topics to a level that is not overwhelming but enough to satisfy the needs of the target audience and present the material in a clear and easy-to-understand style. The book contains 33 chapters and one appendix (model question papers).

PEDAGOGICAL FEATURES

We have included a lot of pedagogical features in this book. These include more than 1300 review questions (short answer questions, descriptive type questions and essay questions), 1800 objective type questions (fill in the blanks, true or false and multiple choice questions), exercises, solved examples, etc. The answers to these questions are given at the end of each chapter. The questions are designed to make learning easy and effective. There is also an appendix containing nine model question papers with answers to help you in preparing for the examinations.

ACKNOWLEDGEMENTS

Fundamentals of Database Management Systems is the product of a shared vision. We would like to give special thanks to the people who helped to build it. We would like to express our gratitude to our publisher P.K. Madhavan and the editorial team at Vijay Nicole Imprints Pvt. Ltd. Thanks to our parents Leon Alexander and Santhamma Leon for their love and support.

Finally, we would like to thank our readers. We hope you enjoy reading this book and find it useful. We wish all of you all the very best in your careers and looking forward to meeting you in the cyberspace…

Alexis Leon
Mathews Leon

Contents at a Glance

1. Introduction to Database Management Systems (DBMS)

2. Database Architecture and Design

3. Data Models

4. Entity-Relationship (E-R) Modeling

5. Enhanced Entity-Relationship (EER) Model

6. Relational Database Management Systems (RDBMS)

7. Relational Data Integrity and Database Constraints

8. Transforming ER Models to Relations

9. Data Normalization

10. Relational

11. Relational Calculus

12. Structured Query Language (SQL)

13. Tables Used in this Book

14. Tables, Views and Indexes

15. Queries and Subqueries

16. Aggregate Functions

17. INSERT, UPDATE, and DELETE Operations

18. Joins and Unions

19. Programming with SQL

20. Query Processing and Query Optimization

21. Transaction Management and Concurrency Control

22. Backup and Recovery

23. Storage Devices, Files, File Organization, and File Structures

24. Indexing and Hashing

25. Distributed Databases

26. Object-Oriented and Object-Relational Databases

27. XML and XML Databases

28. Introduction to Modern Databases

29. Database Security

30. Data Integrity

31. Knowledge Discovery in Databases (KDD) and Information Retrieval

32. Data Warehouses and Data Marts

33. Data Mining and On-line Analytical Processing (OLAP)

A. Model Question Papers

User Reviews
Comments should not be blank
Rating
Similar titles