Chapter 1 Introduction 1
1.1 Database-System Applications 1
1.2 Purpose of Database Systems 3
1.3 View of Data 6
1.4 Database Languages 9
1.5 Relational Databases 12
1.6 Database Design 15
1.7 Data Storage and Querying 20
1.8 Transaction Management 22
1.9 Database Architecture 23
1.10 Data Mining and Information Retrieval 27
1.11 Specialty Databases 28
1.12 Database Users and Administrators 29
1.13 History of Database Systems 31
1.14 Summary 33
Review Terms 35
Practice Exercises 35
Exercises 36
Tools 36
Bibliographical Notes 36
PART ONE RELATIONAL DATABASES 41
Chapter 2 Introduction to the Relational Model 41
2.1 Structure of Relational Databases 41
2.2 Database Schema 44
2.3 Keys 47
2.4 Schema Diagrams 48
2.5 Relational Query Languages 49
2.6 Relational Operations 50
2.7 Summary 54
Review Terms 54
Practice Exercises 55
Exercises 56
Bibliographical Notes 57
Chapter 3 Introduction to SQL 59
3.1 Overview of the SQL Query Language 59
3.2 SQL Data Definition 60
3.3 Basic Structure of SQL Queries 65
3.4 Additional Basic Operations 76
3.5 Set Operations 81
3.6 Null Values 85
3.7 Aggregate Functions 86
3.8 Nested Subqueries 92
3.9 Modification of the Database 100
3.10 Summary 106
Review Terms 106
Practice Exercises 107
Exercises 110
Tools 113
Bibliographical Notes 114
Chapter 4 Intermediate SQL 115
4.1 Join Expressions 115
4.2 Views 122
4.3 Transactions 129
4.4 Integrity Constraints 130
4.5 SQL Data Types and Schemas 138
4.6 Authorization 145
4.7 Summary 152
Review Terms 153
Practice Exercises 154
Exercises 157
Bibliographical Notes 158
Chapter 5 Advanced SQL 159
5.1 Accessing SQL From a Programming Language 159
5.2 Functions and Procedures 175
5.3 Triggers 182
5.4 Recursive Queries 189
5.5 Advanced Aggregation Features 194
5.6 OLAP 199
5.7 Summary 211
Review Terms 212
Practice Exercises 213
Exercises 214
Tools 218
Bibliographical Notes 218
Chapter 6 Formal Relational Query Languages 218
6.1 The Relational Algebra 219
6.2 The Tuple Relational Calculus 241
6.3 The Domain Relational Calculus 247
6.4 Summary 250
Review Terms 251
Practice Exercises 251
Exercises 254
Bibliographical Notes 256
PART TWO DATABASE DESIGN 259
Chapter 7 Database Design and the E-R Model 259
7.1 Overview of the Design Process 259
7.2 The Entity-Relationship Model 262
7.3 Constraints 269
7.4 Removing Redundant Attributes in Entity Sets 272
7.5 Entity-Relationship Diagrams 274
7.6 Reduction to Relational Schemas 283
7.7 Entity-Relationship Design Issues 290
7.8 Extended E-R Features 295
7.9 Alternative Notations for Modeling Data 304
7.10 Other Aspects of Database Design 310
7.11 Summary 313
Review Terms 315
Practice Exercises 315
Exercises 319
Tools 321
Bibliographical Notes 321
Chapter 8 Relational Database Design 323
8.1 Features of Good Relational Designs 323
8.2 Atomic Domains and First Normal Form 327
8.3 Decomposition Using Functional Dependencies 329
8.4 Functional-Dependency Theory 338
8.5 Algorithms for Decomposition 348
8.6 Decomposition Using Multivalued Dependencies 355
8.7 More Normal Forms 360
8.8 Database-Design Process 361
8.9 Modeling Temporal Data 364
8.10 Summary 367
Review Terms 368
Practice Exercises 368
Exercises 372
Bibliographical Notes 374
Chapter 9 Application Design and Development 374
9.1 Application Programs and User Interfaces 375
9.2 Web Fundamentals 377
9.3 Servlets and JSP 383
9.4 Application Architectures 391
9.5 Rapid Application Development 396
9.6 Application Performance 400
9.7 Application Security 402
9.8 Encryption and Its Applications 411
9.9 Summary 417
Review Terms 418
Practice Exercises 419
Exercises 421
Project Suggestions 422
Tools 426
Bibliographical Notes 426
PART THREE DATA STORAGE,QUERYING,AND TRANSACTION MANAGEMENT 426
Chapter 10 Data Storage and Data Access 426
10.1 Overview of Physical Storage Media 429
10.2 Magnetic Disk and Flash Storage 432
10.3 Organization of Files and Records 440
10.4 Data-Dictionary Storage 445
10.5 Database Buffer 448
10.6 Basic Concepts of Index 451
10.7 Ordered Indices 452
10.8 B+-Tree Index Files 460
10.9 Hash File Organization and Hash Index 474
10.10 Index Definition in SQL 482
10.11 Summary 483
Review Terms 486
Practice Exercises 487
Exercises 488
Bibliographical Notes 489
Chapter 11 Query Processing and Query Optimization 489
11.1 Overview 491
11.2 Measures of Query Cost 493
11.3 Implementation of Relational Algebra Operation 495
11.4 Evaluation of Expressions 509
11.5 Query Optimization 512
11.6 Summary 533
Review Terms 535
Practice Exercises 536
Exercises 537
Bibliographical Notes 538
Chapter 12 Transaction Management 541
12.1 Transaction Concept 541
12.2 Transaction Atomicity and Durability 545
12.3 Transaction Isolation 548
12.4 Serializability 554
12.5 Recoverability 557
12.6 Concurrency Control 559
12.7 Recovery System 573
12.8 Summary 584
Review Terms 587
Practice Exercises 589
Exercises 590
Bibliographical Notes 592
PART FOUR ADVANCED TOPICS 597
Chapter 13 Data Warehousing and Mining 597
13.1 Decision-Support Systems 597
13.2 Data Warehousing 599
13.3 Data Mining 603
13.4 Summary 610
Review Terms 611
Practice Exercises 612
Exercises 612
Tools 613
Bibliographical Notes 613
Chapter 14 Object-Based Databases 615
14.1 Overview 615
14.2 Complex Data Types 616
14.3 Structured Types and Inheritance in SQL 619
14.4 Table Inheritance 624
14.5 Array and Multiset Types in SQL 626
14.6 Object-Identity and Reference Types in SQL 631
14.7 Implementing O-R Features 633
14.8 Persistent Programming Languages 634
14.9 Object-Relational Mapping 643
14.10 Object-Oriented versus Object-Relational 643
14.11 Summary 645
Review Terms 645
Practice Exercises 646
Exercises 648
Tools 650
Bibliographical Notes 650
Chapter 15 XML 651
15.1 Motivation 651
15.2 Structure of XML Data 656
15.3 XML Document Schema 660
15.4 Querying and Transformation 668
15.5 Application Program Interfaces to XML 678
15.6 Storage of XML Data 679
15.7 XML Applications 686
15.8 Summary 689
Review Terms 690
Practice Exercises 691
Exercises 693
Tools 694
Bibliographical Notes 694
Chapter 16 Advanced Application Development 694
16.1 Performance Tuning 697
16.2 Performance Benchmarks 713
16.3 Other Issues in Application Development 716
16.4 Standardization 719
16.5 Summary 724
Review Terms 725
Practice Exercises 725
Exercises 726
Bibliographical Notes 727
Bibliography 729