CONTENTS
Foreword = xix
Preface = xxi
Chapter 1 File Systems and Databases = 1
Preview = 1
1.1 Introducing the Database = 2
1.1.1 Why Database Design Is Important = 3
1.1.2 A Practical Approach to Database Design = 3
1.2 The Historical Roots of the Database : Files and File Systems = 4
1.3 A File System Critique = 9
1.3.1 File System Data Management = 10
1.3.2 Structural and Data Dependence = 11
1.3.3 Field Definitions = 12
1.3.4 Data Duplication = 13
1.4 Database Systems = 14
1.4.1 Managing the Database System : A Shift in Focus = 16
1.4.2 Database Design and Modeling = 17
1.5 Database Models = 17
1.5.1 The Hierarchical Database Model = 19
1.5.2 The Network Database Model = 24
1.5.3 The Relational Database Model = 29
Summary = 33
Review Questions = 35
Problems = 36
References = 39
Chapter 2 The Relational Database Model = 41
Preview = 41
2.1 A Logical View of Data = 42
2.1.1 Entities and Attributes = 42
2.1.2 Tables and Their Characteristics = 43
2.2 Keys : Links Between Tables = 47
2.3 Integrity Rules Revisited = 52
2.4 Relatiional Database Operators = 53
2.5 Relational Database Software Classification = 58
2.6 The Data Dictionary and the System Catalog = 59
2.7 Relationships Within the Relational Database = 61
2.8 Indexes = 67
Summary = 68
Review Questions = 69
Problems = 71
References = 78
Chapter 3 An Introduction to Structured Query Language(SQL) = 79
Preview = 79
3.1 Introduction to SQL = 80
3.2 Data Definition Commands = 81
3.2.1 Creating the Database Structure = 81
3.2.2 Creating Table Structures = 82
3.2.3 SQL Integrity Constraints = 88
3.3 Basic Data Management = 89
3.3.1 Data Entry = 89
3.3.2 Checking the Table Contents = 90
3.3.3 Saving the Table Contents = 92
3.3.4 Adding Data to the Table = 92
3.3.5 Making a Correction = 93
3.3.6 Deleting Table Rows = 94
3.3.7 Restoring the Table Contents = 94
3.4 Queries = 95
3.4.1 Partial Listing of Table Contents = 95
3.4.2 Logical Operators : AND, OR, and NOT = 99
3.4.3 Special Operators = 101
3.5 Advanced Data Management Commands = 105
3.5.1 Changing a Column's Data Type = 106
3.5.2 Changing Attribute Characteristics = 106
3.5.3 Adding a Column to the Table = 106
3.5.4 Entering Data into the New Column = 107
3.5.5 Copying Parts of Tables = 110
3.5.6 Deleting a Table from the Database = 111
3.6 More Complex Queries and SQL Function = 111
3.6.1 Ordering a Listing = 111
3.6.2 Eliminating Duplications = 114
3.6.3 SQL's Numberic Functions = 115
3.6.4 Grouping Data = 119
3.6.5 Virtual Tables : Creating a View = 120
3.6.6 SQL Indexes = 121
3.6.7 Joining Database Tables = 122
Summary = 124
Review Questions = 130
Problems = 133
References = 138
Chapter 4 Entity Relationship(E-R) Modeling = 139
Preview = 139
4.1 Basic Modeling Concepts = 140
4.2 Data Models : Degrees of Data Abstraction = 141
4.2.1 The Conceptual Model = 141
4.2.2 The Internal Model = 144
4.2.3 The Extrnal Model = 145
4.2.4 The Physical Model = 147
4.3 The Entity Relatiionship(E-R) Model = 148
4.3.1 E-R Model Components = 148
4.3.2 Entities = 149
4.3.3 Attributes = 149
4.3.4 Relationships = 152
4.3.5 Connectivity = 155
4.3.6 Cardinality = 156
4.3.7 Existence Dependency = 158
4.3.8 Relatiionship Participation = 158
4.3.9 Weak Entities = 161
4.3.10 Recursive Entities = 161
4.3.11 Composite Entities = 163
4.3.12 Entity Supertypes and Subtypes = 165
4.3.13 E-R Component Summary = 168
4.4 Developing and E-R Diagram = 168
4.4.1 Converting an E-R Model into a Database Structrue = 175
4.4.2 General Rules Governing Relationships Among Tables = 180
4.4.3 Converting Tiny College's E-R Model to a SQL Database = 188
4.4.4 Building Another E-R Model = 193
4.4.5 Considering Additional Requirements = 194
Summary = 195
Review Questions = 196
Problems = 199
References = 202
Chapter 5 Normalization of Databae Tables = 203
Preview = 203
5.1 Database Tables and Normalization = 204
5.1.1 The Need for Normalization = 204
5.1.2 Conversion to First Normal Form = 207
5.1.3 Conversion to Second Normal Form = 209
5.1.4 Conversion to Third Normal form = 211
5.1.5 The Boyce-Codd Normal Form(BCNF) = 213
5.2 Normalization and Database Design = 215
5.3 Higher-Level Normal Forms = 218
5.4 Denormalization = 220
Summary = 221
Review Questions = 223
Problems = 224
References = 229
Chapter 6 Database Design = 231
Preview = 231
6.1 Changing Data into Information = 232
6.2 The Information System = 233
6.3 The Systems Development Life Cycle(SDLC) = 234
6.3.1 Planning = 234
6.3.2 Analysis = 236
6.3.3 Detailed Systems Design = 236
6.3.4 Implementation = 237
6.3.5 Maintenance = 237
6.4 The Databae Life Cycle(DBLC) = 238
6.4.1 The Database Initial Study = 238
6.4.2 The Database Design Process = 243
6.4.3 Implementation and Loading = 257
6.4.4 Testing and Evaluation = 262
6.4.5 Operation = 262
6.4.6 Maintenance and Evolution = 263
6.5 A Special Note About Database Design Strategies = 263
6.6 Centralized Versus Decentralized Design = 264
Summary = 268
Review Questions = 269
Problems = 270
References = 271
Chapter 7 The University Lab : Conceptual Design = 273
Preview = 273
7.1 The Databas Initial Study = 275
7.1.1 UCL Objectives = 275
7.1.2 Organizational Structure = 275
7.1.3 Description of Operations = 277
7.1.4 Problems and Constraints = 280
7.1.5 System Objectives = 283
7.1.6 Scope and Boundaries = 285
7.2 Database Design Phase : Conceptual Design = 287
7.2.1 Information Sources and Users = 287
7.2.2 Use Requirements = 289
7.2.3 Developing the Initial Entity Relationship Model = 291
Summary = 301
Review Questions = 303
Problems = 303
Chapter 8 The University Lab : Conceptual Design Verification, Logical Design, and Implementation = 307
Preview = 307
8.1 Completing the Conceptual Design : Defining Attributes and Domains = 308
8.2 Evaluating the E-R Conceptual Model = 326
8.2.1 Normalization = 326
8.2.2 E-R Model Verification = 327
8.3 Logical Design = 333
8.3.1 Tables = 333
8.3.2 Indexes and Views = 334
8.4 Physical Design = 334
8.5 Implementation = 336
8.5.1 Database Creation = 336
8.5.2 Database Loading and Conversion = 337
8.5.3 System Procedures = 337
8.6 Testing and Evaluation = 338
8.6.1 Performance Measures = 338
8.6.2 Security Measures = 339
8.6.3 Backup and Recovery Procedures = 340
8.7 Operation = 340
8.7.1 Databas Is Operational = 340
8.7.2 Operational Procedures = 340
Summary = 341
Review Questions = 342
Problems = 344
Chapter 9 Transaction Management and Concurrency Control = 347
Preview = 347
9.1 What Is a Transaction? = 348
9.1.1 Evaluating Transaction Results = 349
9.1.2 Transaction Properties = 350
9.1.3 Transaction Management with SQL = 351
9.1.4 The Transaction Log = 352
9.2 Concurrency Control = 353
9.2.1 Lost Updates = 354
9.2.2 Uncommitted Data = 355
9.2.3 Inconsistent Retrievals = 355
9.2.4 The Scheduler = 357
9.3 Concurrency Control with Locking Methods = 358
9.3.1 Lock Granularity = 359
9.3.2 Lock Types = 361
9.3.3 Two-Phase Locking to Ensure Serializability = 363
9.3.4 Deadlocks = 364
9.4 Concurrency Control with Timestamping Methods = 365
9.5 Concurrency Control with Optimistic Methods = 366
9.6 Database Recovery Management = 367
Summary = 369
Review Questions = 370
Problems = 371
References = 371
Chapter 10 Distributed Database Management Systems = 373
Preview = 373
10.1 The Evolution of Distributed Database Management Systems = 374
10.1.1 DDBMS Advantages = 375
10.1.2 DDBMS Disadvantages = 376
10.2 Distributed Processing and Distributed Databases = 377
10.3 What Is a Distributed Database Management system? = 379
10.4 DDBMS Components = 381
10.5 Levels of Data and Process Distribution = 383
10.5.1 Single-Site Processing, Single-Site Data(SPSD) = 383
10.5.2 Multiple-Site Processing, Single-Site Data(MPSD) = 384
10.5.3 Multiple-Site Processing, Multiple-Site Data(MPMD) = 386
10.6 Distributed Database Transparency Features = 387
10.7 Distribution Transparency = 388
10.8 Transaction Transparency = 390
10.8.1 Distributed Requests and Distributed Transactions = 391
10.8.2 Distributed Concurrency Control = 395
10.8.3 Two-Phase Commit Protocol = 395
10.9 Performance Transparency and Query Optimization = 397
10.10 Distributed Database Design = 399
10.11 Data Fragmentation = 399
10.11.1 Horizontal Fragmentation = 400
10.11.2 Vertical Fragmentation = 400
10.11.3 Mixed Fragmentation = 401
10.12 Data Replication = 404
10.13 Data Allocation = 405
10.14 Client-Server Architecture = 406
10.15 C.J. Date's Twelve Commandments for Distributed Databases = 407
Summary = 409
Review Questions = 410
Problems = 411
References = 414
Chapter 11 Object-Oriented Databases = 417
Preview = 417
11.1 Objcet Orientation and Its Benefits = 418
11.2 The Evolution of Object-Oriented Concepts = 419
11.3 Object-Oriented Concepts = 421
11.3.1 Objects : Components and Characteristics = 421
11.3.2 Object Identity = 422
11.3.3 Attributes(Instance Variables) = 422
11.3.4 Object State = 423
11.3.5 Messages and Methods = 423
11.3.6 Classes = 424
11.3.7 Protocol = 425
11.3.8 Superclasses, Subclasses, and Inheritance = 427
11.3.9 Method Overriding and Polymorphism = 430
11.3.10 Abstract Data Types = 432
11.4 An OO Example : The XYZ Airline Personnel Database = 433
11.5 The Evolution of Data Models = 437
11.6 Characteristics of an Object-Oriented Data Model = 439
11.6.1 The Graphical Representation of Objects : Object Diagrams = 440
11.6.2 Class-Subclass Relationships = 443
11.6.3 Interclass Relationships : Attribute-Class Links = 444
11.6.4 Late and Early binding Use and Importance = 451
11.6.5 Support for Versioning = 452
11.7 OODM and Previous Data Models : Similarities and Differences = 453
11.7.1 Object, Entity, and Tuple = 453
11.7.2 Class, Entity Set, and table = 454
11.7.3 Encapsulation and Inheritance = 454
11.7.4 Object ID = 455
11.7.5 Relationships = 455
11.7.6 Access = 455
11.8 Object-Oriented Database Management Systems = 456
11.8.1 Features of an Object-Oriented DBMS = 457
11.8.2 Contrasting Traditional and Object-Oriented DBMSes = 460
11.9 How Object Orientation Affects Database Design = 461
11.10 OODBMS : Pros and Cons = 463
11.11 How OO Concepts Have Influenced the Relational Model = 465
11.12 The Next Generation of Database Management Systems = 467
Summary = 467
Review Questions = 469
Problems = 470
References = 472
Chapter 12 Database Administration = 475
Preview = 475
12.1 Data As a Corporate Asset = 476
12.2 The Need for and Role of Databases in an Organization = 477
12.3 Introduction of a Database : Special Considerations = 480
12.4 The Evolution of the Database-Administration Function = 482
12.5 The Database Environment's Human Component = 487
12.5.1 The DBA's Managreial Role = 490
12.5.2 The DBA's Technical Role = 499
12.6 Database Administration Tools = 507
12.6.1 The Data Dictionary = 507
12.6.2 CASE Tools = 511
12.7 Developing a Data-Administration Strategy = 514
Summary = 516
Review Questions = 517
Problems = 519
Chapter 13 The Hierarchical Database Model = 523
Preview = 523
13.1 A Quick Review of Basic Hierarchical Model Concepts = 524
13.1.1 A Simple Billing System = 524
13.1.2 Contrasting File Systems with the Hierarchical Model = 527
13.2 Defining a Hierarchical Database = 530
13.2.1 The Conceptual View Definition = 531
13.2.2 The Logical View Definition = 534
13.3 Loading IMS Databases = 536
13.4 Accessing the Database = 536
13.4.1 Data Retrieval : Get Unique = 538
13.4.2 Sequential Retrieval : Get Next = 539
13.4.3 Get Next Within Parent = 540
13.4.4 Data Deletion and Replacement = 540
13.4.5 Adding a New Segment to the Database = 541
13.5 Logical Relationships = 542
13.6 Altering the Hierarchical Database Structure = 546
Summary = 547
Review Questions = 548
Problems = 549
References = 552
Chapter 14 The Network Database Model = 553
Preview = 553
14.1 A Quick Review of the Basic Network Model Concepts = 554
14.2 The Database Definition Language(DDl) = 558
14.3 The Schema Definition = 558
14.4 An Explanation of the Schema Definition = 562
14.4.1 Record Definitions = 562
14.4.2 Set Definitions = 563
14.5 The Device Media Control Language = 565
14.6 Database Initialization = 566
14.7 Subschema Definition = 567
14.8 An Introduction to the Data Manipulation Language = 570
14.9 Data Manipulation Language Commands = 572
14.9.1 Opening Realms = 572
14.9.2 Closing Realms = 572
14.9.3 STORE = 573
14.9.4 FIND = 574
14.9.5 CONNECT = 577
14.9.6 DISCONNECT = 577
14.9.7 GET = 577
14.9.8 MODIFY = 578
14.9.9 ERASE = 578
14.10 Network Model's Contribution to Database Systems = 579
Summary = 580
Review Questions = 582
Problems = 583
References = 585
Appendix A Creating the Database Structure = 587
Appendix B A Relational Schema for dBASE IV Users = 593
Appendix C University Computer Lab Report Formats = 595
Appendix D University Computer Lab Data Dictionary = 605
Glossary = 615
Index = 631