Disclaimer: Authors have full rights over their works. Reproduction of any part of the content is prohibited without prior authorization.
SUMMARY
Items Found: 839
- The Worlds of Database Systems
- The Evolution of Database Systems
- Early Database Management Systems
- Relational Database Systems
- Smaller and Smaller Systems
- Bigger and Bigger Systems
- Client-Server and Multi-Tier Architectures
- Multimedia Data
- Information Integration
- Overview of a Database Management System
- Data-Definition Language Commands
- Overview of Query Processing
- Storage and Buffer Management
- Transaction Processing
- The Query Processor
- Outline of Database-System Studies
- Database Design
- Database Programming
- Database System Implementatioll
- Information Integration Overview
- References for Chapter
- The Entity-Relationship Data Model
- Elements of the E/R SIodel
- Entity Sets
- Attributes
- Relationships
- Entity-Relationship Diagrams
- Instances of an E/R Diagram
- Siultiplicity of Binary E/R Relationships
- llultivay Relationships
- Roles in Relationships
- Attributes on Relationships
- Converting Multiway Relationships to Binary
- Subclasses in the E/R,bfodel
- Exercises for Section
- Design Principles
- Faithfulness
- Avoiding Redundancy
- Simplicity Counts
- Choosing the Right Relationships
- Picking the Right Kind of Element
- Exercises for Section
- The Modeling of Constraints
- Classification of Constraints
- Keys in the E/R Model
- Representing Keys in the E/R Model
- Single-Value Constraints
- Referential Integrity '
- Referential Integrity in E/R Diagrams
- Other Kinds of Constraints
- Exercises for Section
- WeakEntity Sets
- Causes of Weak Entity Sets
- Requirements for Weak Entity Sets
- Weak Entity Set Notation
- Exercises for Section
- References for Chapter
- The Relational Data Model
- Basics of the Relational Model
- Attributes
- Schemas
- Tuples
- Domains
- Equivalent Representations of a Relation
- Relation Instances
- Exercises for Section
- From E/R Diagrams to Relational Designs
- Fro~nE ntity Sets to Relations
- From E/R Relationships to Relations
- Combining Relations
- Handling Weak Entity Sets
- Exercises for Section
- Converting Subclass Structures to Relations
- E/R-Style Conversion
- An Object-Oriented Approach
- Using Null Values to Combine Relations
- Comparison of Approaches
- Exercises for Section
- Functional Dependencies
- Definition of Functional Dependency
- Keys of Relations
- Superkeys
- Discovering Keys for Relations
- Exercises for Section
- Rules About Functional Dependencies
- The Splitting/Combi~~inRgu le
- Trivial Functional Dependencies
- Computing the Closure of Attributes
- Why the Closure Algorithm Works
- The Transitive Rule
- Closing Sets of Functional Dependencies
- Projecting Functional Dependencies
- Exercises for Section
- Design of Relational Database Schemas
- Anomalies
- Decomposing Relations
- Boyce-Codd Normal Form
- Decomposition into BCNF
- Recovering Information from a Decomposition
- Third Sormal Form
- Exercises for Section
- Iultivalued Dependencies
- Attribute Independence and Its Consequent Redundancy
- Definition of Xfultivalued Dependencies
- Reasoning About hlultivalued Dependencies
- Fourth Sormal Form
- Decomposition into Fourth Normal Form
- Relationships Among Xormal Forms
- Exercises for Section
- References for Chapter
- Other Data Models
- Review of Object-Oriented Concepts
- The Type System
- Classes and Objects
- Object Identity
- Methods
- Class Hierarchies
- Introduction to ODL
- Object-Oriented Design
- Class Declarations
- Attributes in ODL
- Relationships in ODL
- Inverse Relationships
- hfultiplicity of Relationships
- Methods in ODL
- Types in ODL
- Exercises for Section
- Additional ODL Concepts
- Multiway Relationships in ODL
- Subclasses in ODL
- Multiple Inheritance in ODL
- Extents
- Declaring Keys in ODL
- Exercises for Section
- From ODL Designs to Relational Designs
- Froni ODL Attributes to Relational Attributes
- Nonatomic Attributes in Classes
- Representing Set-Valued Attributes
- Representing Other Type Constructors
- Representing ODL Relationships
- What If There Is No Key?
- Exercises for Section
- The Object-Relational Model
- From Relations to Object-Relations
- Nested Relations
- References
- Object-Oriented Versus Object-Relational
- From ODL Designs to Object-Relational Designs
- Exercises for Section
- Semistructured Data
- Motivation for the Semistructured-Data Model
- Semistructured Data Representation
- Information Integration Via Semistructured Data
- Exercises for Section
- XML and Its Data Model
- Semantic Tags
- Well-Formed Xi L
- Document Type Definitions
- Using a DTD
- -ttribute Lists
- Exercises for Section
- References for Chapter
- Relational Algebra
- An Example Database Schema
- An Algebra of Relational Operations
- Basics of Relational Algebra
- Set Operations on Relations
- Projection
- Selection
- Cartesian Product
- Natural Joins
- Theta-Joins
- Combining Operations to Form Queries
- Renaming
- Dependent and Independent Operations
- A Linear Notation for Algebraic Expressions
- Exercises for Section
- Relational Operations on Bags
- Why Bags?
- Union,Intersection,and Difference of Bags
- Projection of Bags
- Selection on Bags
- Product of Bags
- Joins of Bags
- Exercises for Section
- Extended Operators of Relational Algebra
- Duplicate Elimination
- Aggregation Operators
- Grouping
- The Grouping Operator
- Extending the Projection Operator
- The Sorting Operator
- Outerjoins
- Exercises for Section
- Constraints on Relations
- Relational Algebra as a Constraint Language
- Referential Integrity Constraillts
- Additional Constraint Examples
- Exercises for Section
- References for Chapter
- The Database Language SQL
- Simple Queries in SQL
- Projection in SQL
- Selection in SQL
- Comparison of Strings
- Dates and Times
- Null Values and Comparisons Involving NULL
- The Truth-Value UNKNOWN
- Ordering the Output
- Exercises for Section
- Queries Involving More Than One Relation
- Products and Joins in SQL
- Disambiguating Attributes
- Tuple Variables
- Interpreting Multirelation Queries
- Union,Intersection,and Difference of Queries
- Exercises for Section
- Subqueries
- Subqucries that Produce Scalar Values
- Conditions Involving Relations
- Conditions Involving Tuples
- Correlated Subqueries
- Subqueries in FROM Clauses
- SQL Join Expressions
- Xatural Joins
- Outerjoins
- Exercises for Section
- Fn-Relation Operations
- Eliminating Duplicates
- Duplicates in Unions,Intersections,and Differences
- Grouping and Aggregation in SQL
- Aggregation Operators
- Grouping
- HAVING Clauses
- Exercises for Section
- Database hlodifications
- Insertion
- Deletion
- Updates
- Exercises for Section G
- Defining a Relation Schema in SQL
- Data Types
- Simple Table Declarations
- Modifying Relation Schemas
- Default Values
- Indexes
- Introduction to Selection of Indexes
- Exercises for Section
- View Definitions
- Declaring Views
- Querying Views
- Renaming Attributes
- Modifying Views
- Interpreting Queries Involving Views
- Exercises for Section
- References for Chapter
- Constraints and Triggers
- Keys andForeign Keys
- Declaring Primary Keys
- Keys Declared ?VithUNIQUE
- Enforcing Key Constraints
- Declaring Foreign-Key Constraints
- Maintaining Referential Integrity
- Deferring the Checking of Constraints
- Exercises for Section
- Constraints on Attributes and Tuples
- Kot-Null Constraints
- Attribute-Based CHECK Constraints
- Tuple-Based CHECK Constraints
- Exercises for Section
- ?Iodification of Constraints
- Giving Names to Constraints
- Altering Constraints on Tables
- Exercises for Section
- Schema-Level Constraints and Triggers
- Assertions
- Event-Condition- Action Rules
- Triggers in SQL
- Instead-Of Triggers
- Exercises for Section
- References for Chapter
- System Aspects of SQL
- SQL in a Programming Environment
- The Impedance Mismatch Problem
- The SQL/Host Language Interface
- The DECLARE Section
- Using Shared Variables
- Single-Row Select Statements
- Cursors
- Modifications by Cursor
- Protecting Against Concurrent Updates
- Scrolling Cursors
- Dynamic SQL
- Exercises for Section
- Procedures Stored in the Schema
- Creating PSM Functions and Procedures
- Some Simple Statement Forms in PSM
- Branching Statements
- Queries in PSM
- Loops in PSM
- For-Loops
- Exceptions in PSM
- Using PSM Functions and Procedures
- Exercises for Section
- The SQL Environment
- Environments
- Schemas
- Catalogs
- Clients and Servers in the SQL Environment
- Connections
- Sessions
- Modules
- Using a Call-Level Interface
- Introduction to SQL/CLI
- Processing Statements
- Fetching Data F'rom a Query Result
- Passing Parameters to Queries
- Exercises for Section
- Java Database Connectivity
- Introduction to JDBC
- Creating Statements in JDBC
- Cursor Operations in JDBC
- Parameter Passing
- Exercises for Section
- Transactions in SQL
- Serializability
- Atomicity
- Transactions
- Read-only Transactions
- Dirty Reads
- Other Isolation Levels
- Exercises for Section
- Security and User Authorization in SQL
- Privileges
- Creating Privileges
- The Privilege-Checking Process
- Granting Privileges
- Grant Diagrams
- Revoking Privileges
- Exercises for Section
- References for Chapter
- Object-Orientation in Query Languages
- Introduction to OQL
- An Object-Oriented Movie Example
- Path Expressions
- Select-From-Where Expressions in OQL
- Modifying the Type of the Result
- Complex Output Types
- Subqueries
- Exercises for Section
- Additional Forms of OQL Expressions
- Quantifier Expressions
- Aggregation Expressions
- Group-By Expressions
- HAVING Clauses
- Union,Intersection,and Difference
- Exercises for Section
- Object Assignment and Creation in OQL
- Assigning -alues to Host-Language biables
- Extracting Elements of Collections
- Obtaining Each Member of a Collection
- Constants in OQL
- Creating Sew Objects
- Exercises for Section
- User-Defined Types in SQL
- Defining Types in SQL
- XIethods in User-Defined Types
- Declaring Relations with a UDT
- References
- Exercises for Section
- Operations on Object-Relational Data
- Following References
- Accessing Attributes of Tuples with a UDT
- Generator and Mutator Functions
- Ordering Relationships on UDT's
- Exercises for Section
- References for Chapter
- Logical Query Languages
- A Logic for Relations
- Predicates and Atoms
- Arithmetic Atoms
- Datalog Rules and Queries
- Meaning of Datalog Rules
- Extensional and Intensional Predicates
- Datalog Rules Applied to Bags
- Exercises for Section
- Fkom Ilelational Algebra to Datalog
- Intersection
- Union
- Difference
- Projection
- Selection
- Product
- Joins
- Simulating Alultiple Operations with Datalog
- Exercises for Section
- Recursive Programming in Datalog
- Recursive Rules
- Evaluating Recursive Datalog Rules
- Negation in Recursive Rules
- Exercises for Section
- Recursion in SQL
- Defining IDB Relations in SQL
- Stratified Negation
- Problematic Expressions in Recursive SQL
- Exercises for Section
- References for Chapter
- Data Storage
- The Database System
- hlegatron Implenlentation Details
- How LIegatron Executes Queries
- What's Wrong With hiegatron ?
- The Memory Hierarchy
- Cache
- Main Alernory
- irtualM emory
- Secondary Storage
- Tertiary Storage
- Volatile and Nonvolatile Storage
- Exercises for Section
- Disks
- ivlechanics of Disks
- The Disk Controller
- Disk Storage Characteristics
- Disk Access Characteristics
- Writing Blocks
- Modifying Blocks
- Exercises for Section
- Using Secondary Storage Effectively
- The If Model of Computation
- Sorting Data in Secondary Storage
- Merge-Sort
- Two-Phase,Multiway 'ferge-Sort
- AIultiway Merging of Larger Relations
- Exercises for Section
- Accelerating Access to Secondary Storage
- Organizing Data by Cylinders
- Using llultiple Disks
- Mirroring Disks
- Disk Scheduling and the Elevator Algorithm
- Prefetching and Large-Scale Buffering
- Exercises for Section
- Disk Failures
- Intermittent Failures
- Checksums
- Stable Storage
- Error-Handling Capabilities of Stable Storage
- Exercises for Section
- Recorery from Disk Crashes
- The Failure Model for Disks
- llirroring as a Redundancy Technique
- Parity Blocks
- An Improvement: RAID
- Coping With Multiple Disk Crashes
- Exercises for Section
- References for Chapter
- Representing Data Elements
- Data Elements and Fields
- Representing Relational Database Elements
- Representing Objects
- Representing Data Elements
- Records
- Building Fixed-Length Records
- Record Headers
- Packing Fixed-Length Records into Blocks
- Exercises for Section
- Representing Block and Record Addresses
- Client-Server Systems
- Logical and Structured Addresses
- Pointer Swizzling
- Returning Blocks to Disk
- Pinned Records and Blocks
- Exercises for Section
- Variable-Length Data and Records
- Records With Variable-Length Fields
- Records With Repeating Fields
- Variable-Format Records
- Records That Do Not Fit in a Block
- BLOBS
- Exercises for Section
- Record Modifications
- Insertion
- Deletion
- Update
- Exercises for Section
- References for Chapter
- Index Structures
- Indexes on Sequential Files
- Sequential Files
- Dense Indexes :
- Sparse Indexes
- Multiple Levels of Index
- Indexes With Duplicate Search Keys
- Managing Indexes During Data llodifications
- Exercises for Section
- Secondary Indexes
- Design of Secondary Indexes
- pplications of Secondary Indexes
- Indirection in Secondary Indexes
- Document Retrieval and Inverted Indexes
- Exercises for Section
- B-Trees
- The Structure of B-trees
- Applications of B-trees
- Lookup in B-Trees
- Range Queries
- Insertion Into B-Trees
- Deletion From B-Trees
- Efficiency of B-Trees
- Exercises for Section
- Hash Tables
- Secondary-Storage Hash Tables
- Insertion Into a Hash Table
- Hash-Table Deletion
- Efficiencyo f Hash Table Indexes
- Extensible Hash Tables
- Insertion Into Extensible Hash Tables
- Linear Hash Tables
- Insertion Into Linear Hash Tables
- Exercises for Section
- References for Chapter
- Multidimensional and Bitmap Indexes
- applications Xeeding klultiple Dimensio
- Geographic Information Systems
- Data Cubes
- Ilultidimensional Queries in SQL
- Executing Range Queries Using Conventional Indexes
- Executing Nearest-Xeighbor Queries Using Conventional
- Other Limitations of Conventional Indexes
- Overview of llultidimensional Index Structures
- Exercises for Section
- Hash-Like Structures for lIultidimensiona Data
- Grid Files
- Lookup in a Grid File
- Insertion Into Grid Files
- Performance of Grid Files
- Partitioned Hash Functions
- Comparison of Grid Files and Partitioned Hashing
- Exercises for Section
- Tree-Like Structures for AIultidimensional Data
- Multiple-Key Indexes
- Performance of Multiple-Key Indexes
- kd-Trees
- Operations on kd-Trees
- dapting kd-Trees to Secondary Storage
- Quad Trees
- R-Trees
- Operations on R-trees
- Exercises for Section
- Bitmap Indexes
- Motivation for Bitmap Indexes
- Compressed Bitmaps
- Operating on Run-Length-Encoded Bit-Vectors
- Managing Bitmap Indexes
- Exercises for Section
- References for Chapter
- Query Execution
- Introduction to Physical-Query-Plan Operators
- Scanning Tables
- Sorting While Scanning Tables
- The Model of Computation for Physical Operators
- Parameters for Measuring Costs
- I/O Cost for Scan Operators
- Iterators for Implementation of Physical Operators
- One-Pass Algorithms for Database Operations
- One-Pass Algorithms for Tuple-at-a-Time Operations
- One-Pass Algorithms for Unary,Full-Relation Operations
- One-Pass Algorithms for Binary Operations
- Exercises for Section
- Nested-I,oop Joins
- Tuple-Based Nested-Loop Join
- An Iterator for Tuple-Based Nested-Loop Join
- A Block-Based Nested-Loop Join Algorithm
- Analysis of Nested-Loop Join
- Exercises for Section
- Two-Pass Algorithms Based on Sorting
- Duplicate Elimination Using Sorting
- Grouping and -Aggregation Using Sorting
- A Sort-Based Union lgorithm
- Sort-Based Intersection and Difference
- A Simple Sort-Based Join Algorithm
- Analysis of Simple Sort-Join
- A More Efficient Sort-Based Join
- Exercises for Section
- Two-Pass Algorithms Based on Hashing
- Partitioning Relations by Hashing
- A Hash-Based Algorithm for Duplicate Elimination
- Hash-Based Grouping and Aggregation
- Hash-Based Union,Intersection,and Difference
- The Hash-Join Algorithm
- Saving Some Disk I/Os
- Exercises for Section
- Index-Based Algorithms
- Clustering and Nonclustering Indexes
- Index-Based Selection
- Joining by Using an Index
- Joins Using a Sorted Index
- Exercises for Section
- Buffer Management
- Buffer Itanagement Architecture
- Buffer Management Strategies
- The Relationship Between Physical Operator Selection
- and Buffer Management
- Exercises for Section
- Algorithms Using More Than Two Passes
- Multipass Sort-Based Algorithms
- Performance of lfultipass,Sort-Based Algorithms
- Multipass Hash-Based Algorithms
- Performance of Multipass Hash-Based Algorithms
- Exercises for Section
- Parallel Algorithms for Relational Operations
- SIodels of Parallelism
- Tuple-at-a-Time Operations in Parallel
- Parallel Algorithms for Full-Relation Operations
- Performance of Parallel Algorithms
- Exercises for Section
- References for Chapter
- The Query Compiler
- Parsing '
- Syntax Analysis and Parse Trees
- A Grammar for a Simple Subset of SQL
- The Preprocessor
- Exercises for Section
- Algebraic Laws for Improving Query Plans
- Ordering of Physical Operations
- Commutative and Associative Laws
- Exercises for Section
- Laws Involving Selection
- Pushing Selections
- References for Chapter
- Laws Involving Projection
- Laws About Joins and Products
- Coping With System Failures
- Laws Involving Duplicate Elimination
- Issues and Models for Resilient Operation
- Laws Involving Grouping and Aggregation
- Failure Modes Exercises for Section
- More About Transactions
- From Parse Bees to Logical Query Plans
- Correct Execution of Transactions
- Conversion to Relational Algebra
- The Primitive Operations of Transactions
- Removing Subqueries From Conditions
- Improving the Logical Query Plan
- Exercises for Section
- Grouping Associative/Commutative Operators
- Undo Logging
- Exercises for Section
- Log Records
- Estimating the Cost of Operations
- The Undo-Logging Rules
- Estimating Sizes of Intermediate Relations
- Recovery Using Undo Logging
- Estimating the Size of a Projection
- Checkpointing
- Estimating the Size of a Selection
- Nonquiescent Checkpointing
- Estimating the Size of a Join
- Exercises for Section
- Natural Joins With Multiple Join Attributes
- Redo Logging
- Joins of Many Relations
- The Redo-Logging Rule
- Estimating Sizes for Other Operations
- Recovery With Redo Logging
- Exercises for Section
- Checkpointing a Redo Log
- Introduction to Cost-Based Plan Selection
- Recovery With a Checkpointed Redo Log
- Obtaining Estimates for Size Parameters
- Exercises for Section
- Computation of Statistics
- Undo/RedoLogging
- Heuristics for Reducing the Cost of Logical Query Plans
- The Undo/Redo Rules
- Approaches to Enumerating Physical Plans
- Recovery With Undo/Redo Logging
- Exercises for Section
- Choosing an Order for Joins
- Checkpointing an Undo/Redo Log
- Significance of Left and Right Join Arguments
- Exercises for Section
- Join Trees
- Protecting Against Media Failures
- Left-Deep Join Trees
- The Archive
- Dynamic Programming to Select a Join Order and Grouping
- Nonquiescent Archiving
- Dynamic Programming With More Detailed Cost Functions
- Recovery Using an Archive and Log
- A Greedy Algorithm for Selecting a Join Order
- Exercises for Section
- Exercises for Section
- Con~pletingt he Physical-Query-Plan
- References for Chapter
- Choosing a Selection Method
- Choosing a Join Method
- Concur rency Control
- Pipelining Versus Materialization
- Serial and Serializable Schedules
- Pipelining Unary Operations
- Schedules
- Pipelining Binary Operations
- Serial Schedules
- Notation for Physical Query Plans
- Serializable Schedules
- The Effect of Transaction Semantics
- A Notation for Transactions and Schedules
- Exercises for Section
- Conflict-Seridiability
- Conflicts
- Precedence Graphs and a Test for Conflict-Serializability
- Why the Precedence-Graph Test Works
- Exercises for Section
- Enforcing Serializability by Locks
- Locks
- The Locking Scheduler
- Two-Phase Locking
- Why Two-Phase Locking Works
- Exercises for Section
- Locking Systems With Several Lock hlodes
- Shared and Exclusive Locks
- Compatibility Matrices
- Upgrading Locks
- Update Locks
- Increment Locks -
- Exercises for Section
- An Architecture for a Locking Scheduler
- A Scheduler That Inserts Lock Actions
- The Lock Table
- Exercises for Section
- hianaging Hierarchies of Database Elements
- Locks With Multiple Granularity
- Warning Locks
- Phantoms and Handling Insertions Correctly
- Exercises for Section
- The Tree Protocol
- Motivation for Tree-Based Locking
- Rules for Access to Tree-Structured Data
- Why the Tree Protocol Works
- Exercises for Section
- Concurrency Control by Timestanips
- Timestamps
- Physically Cnrealizable Behaviors
- Problems Kith Dirty Data
- The Rules for Timestamp-Based Scheduling
- Xfultiversion Timestamps
- Timestamps and Locking
- Exercises for Section
- Concurrency Control by Validation
- Architecture of a Validation-Based Scheduler
- The Validation Rules
- Comparison of Three Concurrency-Control
- Exercises for Section
- References for Chapter
- More About Transaction Management
- Serializability and Recoverability
- The Dirty-Data Problem
- Cascading Rollback
- Recoverable Schedules
- Schedules That Avoid Cascading Rollback
- JIanaging Rollbacks Using Locking
- Group Commit
- Logical Logging
- Recovery From Logical Logs
- Exercises for Section
- View Serializability
- View Equivalence
- Polygraphs and the Test for View-Serializability
- Testing for View-Serializability
- Exercises for Section
- Resolving Deadlocks
- Deadlock Detection by Timeout
- The IVaits-For Graph
- Deadlock Prevention by Ordering Elements
- Detecting Deadlocks by Timestamps
- Comparison of Deadlock-Alanagenient Methods
- Esercises for Section
- Distributed Databases
- Distribution of Data
- Distributed Transactions
- Data Replication
- Distributed Query Optimization
- Exercises for Section
- Distributed Commit
- Supporting Distributed dtomicity
- Two-Phase Commit
- Recovery of Distributed Transactions
- Esercises for Section
- Distributed Locking
- Centralized Lock Systems
- A Cost Model for Distributed Locking Algorithms
- Locking Replicated Elements
- Primary-Copy Locking
- Global Locks From Local Locks
- Exercises for Section
- Long-Duration Pansactions
- Problems of Long Transactions
- Sagas
- Compensating Transactions
- Why Compensating Transactions Work
- Exercises for Section
- References for Chapter
- Information Tntegration
- Modes of Information Integration
- Problems of Information Integration
- Federated Database Systems
- Data Warehouses
- Mediators ii
- Exercises for Section
- Wrappers in Mediator-Based Systems
- Templates for Query Patterns
- Wrapper Generators
- Filters
- Other Operations at the Wrapper
- Exercises for Section
- Capability-Based Optimization in Mediators
- The Problem of Limited Source Capabilities
- A Notation for Describing Source Capabilities
- Capability-Based Query-Plan Selection
- Adding Cost-Based Optimization
- Exercises for Section
- On-Line Analytic Processing
- OLAP Applications
- fultidimensional View of OLAP Data
- Star Schemas
- Slicing and Dicing
- Exercises for Section
- Data Cubes
- The Cube Operator
- Cube Implementation by Materialized Views
- The Lattice of Views
- Exercises for Section
- Data Mining s
- Data-Mining Applications
- Finding Frequent Sets of Items
- The --Priori Algorithm
- Exercises for Section
- References for Chapter