Cover
Title
Copyright
Dedication
Preface
Contents at a Glance
Table of 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