|
|
|
Business Vignette: The Relational Revolution |
|
|
3 | (1) |
|
|
4 | (24) |
|
|
5 | (1) |
|
Introducing the Database and the DBMS |
|
|
6 | (3) |
|
Role and Advantages of the DBMS |
|
|
7 | (1) |
|
|
8 | (1) |
|
Why Database Design Is Important |
|
|
9 | (1) |
|
Historical Roots: Files and File Systems |
|
|
10 | (3) |
|
Problems with File System Data Management |
|
|
13 | (4) |
|
Structural and Data Dependence |
|
|
15 | (1) |
|
Field Definitions and Naming Conventions |
|
|
15 | (1) |
|
|
16 | (1) |
|
|
17 | (11) |
|
The Database System Environment |
|
|
18 | (2) |
|
|
20 | (3) |
|
Managing the Database System: A Shift in Focus |
|
|
23 | (1) |
|
|
24 | (1) |
|
|
24 | (1) |
|
|
25 | (1) |
|
|
25 | (3) |
|
|
28 | (32) |
|
The Importance of Data Models |
|
|
29 | (1) |
|
Data Model Basic Building Blocks |
|
|
30 | (1) |
|
|
31 | (1) |
|
Discovering Business Rules |
|
|
31 | (1) |
|
Translating Business Rules into Data Model Components |
|
|
32 | (1) |
|
The Evolution of Data Models |
|
|
32 | (14) |
|
|
33 | (1) |
|
|
34 | (2) |
|
|
36 | (2) |
|
The Entity Relationship Model |
|
|
38 | (3) |
|
The Object-Oriented (OO) Model |
|
|
41 | (2) |
|
|
43 | (1) |
|
Database Models and the Internet |
|
|
43 | (1) |
|
|
43 | (3) |
|
Degrees of Data Abstraction |
|
|
46 | (13) |
|
|
46 | (2) |
|
|
48 | (1) |
|
|
48 | (1) |
|
|
49 | (2) |
|
|
51 | (1) |
|
|
51 | (1) |
|
|
52 | (1) |
|
|
53 | (6) |
|
|
|
Business Vignette: Database Modeling Feeding Children |
|
|
59 | (1) |
|
The Relational Database Model |
|
|
60 | (42) |
|
|
61 | (3) |
|
Tables and Their Characteristics |
|
|
61 | (3) |
|
|
64 | (5) |
|
|
69 | (1) |
|
|
70 | (6) |
|
The Data Dictionary and the System Catalog |
|
|
76 | (2) |
|
Relationships Within the Relational Database |
|
|
78 | (8) |
|
|
78 | (2) |
|
|
80 | (1) |
|
|
81 | (5) |
|
Data Redundancy Revisited |
|
|
86 | (2) |
|
|
88 | (1) |
|
Codd's Relational Database Rules |
|
|
89 | (13) |
|
|
91 | (1) |
|
|
91 | (1) |
|
|
92 | (2) |
|
|
94 | (8) |
|
Entity Relationship (ER) Modeling |
|
|
102 | (45) |
|
The Entity Relationship (ER) Model |
|
|
103 | (21) |
|
|
103 | (1) |
|
|
103 | (6) |
|
|
109 | (1) |
|
Connectivity and Cardinality |
|
|
109 | (1) |
|
|
110 | (1) |
|
|
111 | (3) |
|
|
114 | (2) |
|
Relationship Participation |
|
|
116 | (2) |
|
|
118 | (2) |
|
|
120 | (2) |
|
|
122 | (2) |
|
|
124 | (7) |
|
Database Design Challenges: Conflicting Goals |
|
|
131 | (16) |
|
|
134 | (1) |
|
|
134 | (1) |
|
|
135 | (1) |
|
|
136 | (11) |
|
Normalization of Database Tables |
|
|
147 | (36) |
|
Database Tables and Normalization |
|
|
148 | (1) |
|
The Need for Normalization |
|
|
148 | (3) |
|
The Normalization Process |
|
|
151 | (7) |
|
Conversion to First Normal Form |
|
|
152 | (3) |
|
Conversion to Second Normal Form |
|
|
155 | (2) |
|
Conversion to Third Normal Form |
|
|
157 | (1) |
|
|
158 | (4) |
|
Surrogate Key Considerations |
|
|
162 | (1) |
|
Higher-Level Normal Forms |
|
|
163 | (5) |
|
The Boyce-Codd Normal Form (BCNF) |
|
|
164 | (2) |
|
|
166 | (2) |
|
Normalization and Database Design |
|
|
168 | (4) |
|
|
172 | (11) |
|
|
173 | (2) |
|
|
175 | (1) |
|
|
175 | (1) |
|
|
176 | (7) |
|
|
183 | (31) |
|
The Extended Entity Relationship Model |
|
|
184 | (6) |
|
Entity Supertypes and Subtypes |
|
|
184 | (1) |
|
|
185 | (1) |
|
|
186 | (1) |
|
|
187 | (1) |
|
Disjoint and Overlapping Constraints |
|
|
187 | (2) |
|
|
189 | (1) |
|
Specialization and Generalization |
|
|
189 | (1) |
|
|
190 | (1) |
|
Entity Integrity: Selecting Primary Keys |
|
|
191 | (5) |
|
Natural Keys and Primary Keys |
|
|
192 | (1) |
|
|
192 | (1) |
|
When to Use Composite Primary Keys |
|
|
193 | (1) |
|
When to Use Surrogate Primary Keys |
|
|
194 | (2) |
|
Design Cases: Learning Flexible Database Design |
|
|
196 | (5) |
|
Design Case #1: Implementing I:I Relationships |
|
|
196 | (1) |
|
Design Case #2: Maintaining History of Time-Variant Data |
|
|
197 | (2) |
|
Design Case #3: Fan Traps |
|
|
199 | (1) |
|
Design Case #4: Redundant Relationships |
|
|
200 | (1) |
|
|
201 | (12) |
|
|
203 | (1) |
|
|
203 | (1) |
|
|
204 | (1) |
|
|
204 | (9) |
|
PART III ADVANCED DESIGN AND IMPLEMENTATION |
|
|
|
Business Vignette: Database Systems Managing Nuclear Waste |
|
|
213 | (1) |
|
Introduction to Structured Query Language (SQL) |
|
|
214 | (71) |
|
|
215 | (1) |
|
|
216 | (14) |
|
|
217 | (2) |
|
|
219 | (1) |
|
|
219 | (1) |
|
|
220 | (2) |
|
Creating Table Structures |
|
|
222 | (3) |
|
|
225 | (4) |
|
|
229 | (1) |
|
Data Manipulation Commands |
|
|
230 | (7) |
|
|
230 | (2) |
|
|
232 | (1) |
|
|
232 | (2) |
|
|
234 | (1) |
|
|
234 | (1) |
|
|
235 | (1) |
|
Inserting Table Rows with a Select Subquery |
|
|
235 | (2) |
|
|
237 | (10) |
|
Selecting Rows with Conditional Restrictions |
|
|
237 | (4) |
|
Arithmetic Operators: The Rule of Precedence |
|
|
241 | (1) |
|
Logical Operators: And, Or, and Not |
|
|
241 | (2) |
|
|
243 | (4) |
|
Advanced Data Definition Commands |
|
|
247 | (6) |
|
Changing a Column's Data Type |
|
|
247 | (1) |
|
Changing a Column's Data Characteristics |
|
|
247 | (1) |
|
|
248 | (1) |
|
|
248 | (1) |
|
|
249 | (1) |
|
|
250 | (2) |
|
Adding Primary and Foreign Key Designations |
|
|
252 | (1) |
|
Deleting a table from the Database |
|
|
253 | (1) |
|
|
253 | (9) |
|
|
253 | (2) |
|
|
255 | (1) |
|
|
255 | (5) |
|
|
260 | (2) |
|
Virtual Tables: Creating a View |
|
|
262 | (2) |
|
|
264 | (21) |
|
Joining Tables with an Alias |
|
|
266 | (1) |
|
|
266 | (1) |
|
|
267 | (2) |
|
|
269 | (1) |
|
|
270 | (1) |
|
|
270 | (4) |
|
|
274 | (11) |
|
|
285 | (74) |
|
|
286 | (7) |
|
|
286 | (2) |
|
|
288 | (1) |
|
|
288 | (1) |
|
|
289 | (1) |
|
|
290 | (3) |
|
|
293 | (7) |
|
|
294 | (1) |
|
|
295 | (1) |
|
|
296 | (1) |
|
|
297 | (1) |
|
|
298 | (2) |
|
Subqueries and Correlated Queries |
|
|
300 | (12) |
|
|
302 | (1) |
|
|
303 | (1) |
|
|
304 | (1) |
|
Multirow Subquery Operators: Any and All |
|
|
305 | (1) |
|
|
306 | (1) |
|
Attribute List Subqueries |
|
|
307 | (2) |
|
|
309 | (3) |
|
|
312 | (6) |
|
|
312 | (2) |
|
|
314 | (1) |
|
|
315 | (1) |
|
|
316 | (2) |
|
|
318 | (3) |
|
|
321 | (3) |
|
|
324 | (23) |
|
|
328 | (10) |
|
|
338 | (6) |
|
PL/SQL Processing with Cursors |
|
|
344 | (2) |
|
|
346 | (1) |
|
|
347 | (12) |
|
|
352 | (1) |
|
|
353 | (1) |
|
|
353 | (1) |
|
|
354 | (5) |
|
|
359 | (37) |
|
|
360 | (1) |
|
The Systems Development Life Cycle (SDLC) |
|
|
361 | (3) |
|
|
362 | (1) |
|
|
363 | (1) |
|
|
363 | (1) |
|
|
363 | (1) |
|
|
364 | (1) |
|
The Database Life Cycle (DBLC) |
|
|
364 | (23) |
|
The Database Initial Study |
|
|
365 | (4) |
|
|
369 | (13) |
|
Implementation and Loading |
|
|
382 | (3) |
|
|
385 | (1) |
|
|
386 | (1) |
|
Maintenance and Evolution |
|
|
386 | (1) |
|
Database Design Strategies |
|
|
387 | (1) |
|
Centralized vs. Decentralized Design |
|
|
388 | (7) |
|
|
391 | (1) |
|
|
391 | (1) |
|
|
391 | (1) |
|
|
392 | (3) |
|
PART IV ADVANCED DATABASE CONCEPTS |
|
|
|
Business Vignette: AT&T's Daytona in the Lead |
|
|
395 | (1) |
|
Transaction Management and Concurrency Control |
|
|
396 | (29) |
|
|
397 | (7) |
|
Evaluating Transaction Results |
|
|
399 | (2) |
|
|
401 | (1) |
|
Transaction Management with SQL |
|
|
402 | (1) |
|
|
402 | (2) |
|
|
404 | (4) |
|
|
404 | (1) |
|
|
405 | (1) |
|
|
405 | (2) |
|
|
407 | (1) |
|
Concurrency Control with Locking Methods |
|
|
408 | (7) |
|
|
408 | (3) |
|
|
411 | (2) |
|
Two-Phase Locking to Ensure Serialization |
|
|
413 | (1) |
|
|
414 | (1) |
|
Concurrency Control with Time Stamping Methods |
|
|
415 | (1) |
|
Wait/Die and Wound/Wait Schemes |
|
|
415 | (1) |
|
Concurrency Control with Optimistic Methods |
|
|
416 | (1) |
|
Database Recovery Management |
|
|
416 | (9) |
|
|
418 | (3) |
|
|
421 | (1) |
|
|
422 | (1) |
|
|
422 | (3) |
|
|
425 | (1) |
|
Database Performance Tuning and Query Optimization |
|
|
425 | (30) |
|
Database Performance-Tuning Concepts |
|
|
426 | (4) |
|
Performance Tuning: Client and Server |
|
|
427 | (1) |
|
|
427 | (2) |
|
|
429 | (1) |
|
|
430 | (2) |
|
|
430 | (2) |
|
|
432 | (1) |
|
|
432 | (1) |
|
Indexes and Query Optimization |
|
|
432 | (2) |
|
|
434 | (2) |
|
Using Hints to Affect Optimizer Choices |
|
|
435 | (1) |
|
|
436 | (3) |
|
|
436 | (1) |
|
|
437 | (2) |
|
|
439 | (1) |
|
|
440 | (2) |
|
Query Optimization Example |
|
|
442 | (13) |
|
|
450 | (1) |
|
|
451 | (1) |
|
|
451 | (1) |
|
|
452 | (3) |
|
Distributed Database Management Systems |
|
|
455 | (35) |
|
The Evolution of Distributed Database Management Systems |
|
|
456 | (2) |
|
DDBMS Advantages and Disadvantages |
|
|
458 | (1) |
|
Distributed Processing and Distributed Databases |
|
|
459 | (2) |
|
Characteristics of Distributed Database Management Systems |
|
|
461 | (1) |
|
|
462 | (1) |
|
Levels of Data and Process Distribution |
|
|
463 | (4) |
|
Single-Site Processing, Single-Site Data (SPSD) |
|
|
464 | (1) |
|
Multiple-Site Processing, Single-Site Data (MPSD) |
|
|
465 | (1) |
|
Multiple-Site Processing, Multiple-Site Data (MPMD) |
|
|
466 | (1) |
|
Distributed Database Transparency Features |
|
|
467 | (1) |
|
Distribution Transparency |
|
|
468 | (2) |
|
Case 1: The Database Supports Fragmentation Transparency |
|
|
469 | (1) |
|
Case 2: The Database Supports Location Transparency |
|
|
469 | (1) |
|
Case 3: The Database Supports Local Mapping Transparency |
|
|
470 | (1) |
|
|
470 | (6) |
|
Distributed Requests and Distributed Transactions |
|
|
470 | (3) |
|
Distributed Concurrency Control |
|
|
473 | (2) |
|
Two-Phase Commit Protocol |
|
|
475 | (1) |
|
Performance Transparency and Query Optimization |
|
|
476 | (1) |
|
Distributed Database Design |
|
|
477 | (6) |
|
|
477 | (4) |
|
|
481 | (2) |
|
|
483 | (1) |
|
|
483 | (1) |
|
C. J. Date's Twelve Commandments for Distributed Databases |
|
|
484 | (6) |
|
|
485 | (1) |
|
|
486 | (1) |
|
|
486 | (1) |
|
|
487 | (3) |
|
|
490 | (56) |
|
The Need for Data Analysis |
|
|
491 | (1) |
|
|
492 | (7) |
|
Operational Data vs. Decision Support Data |
|
|
493 | (4) |
|
DSS Database Requirements |
|
|
497 | (2) |
|
|
499 | (5) |
|
|
502 | (1) |
|
Twelve Rules That Define a Data Warehouse |
|
|
502 | (2) |
|
Online Analytical Processing |
|
|
504 | (11) |
|
Multidimensional Data Analysis Techniques |
|
|
504 | (1) |
|
Advanced Database Support |
|
|
505 | (1) |
|
Easy-to-Use End-User Interface |
|
|
506 | (1) |
|
Client/Server Architecture |
|
|
506 | (1) |
|
|
507 | (4) |
|
|
511 | (2) |
|
|
513 | (2) |
|
Relational vs. Multidimensional OLAP |
|
|
515 | (1) |
|
|
515 | (10) |
|
|
515 | (1) |
|
|
516 | (1) |
|
|
516 | (2) |
|
|
518 | (1) |
|
Star Schema Representation |
|
|
519 | (3) |
|
Star Schema Performance-Improving Techniques |
|
|
522 | (3) |
|
Implementing a Data Warehouse |
|
|
525 | (2) |
|
The Data Warehouse as an Active Decision Support Framework |
|
|
525 | (1) |
|
A Company-Wide Effort That Requires User Involvement |
|
|
526 | (1) |
|
Satisfy the Trilogy: Data, Analysis, and Users |
|
|
526 | (1) |
|
Apply Database Design Procedures |
|
|
526 | (1) |
|
|
527 | (4) |
|
|
531 | (14) |
|
|
532 | (1) |
|
|
532 | (1) |
|
|
533 | (5) |
|
|
538 | (1) |
|
|
539 | (1) |
|
|
539 | (1) |
|
|
540 | (5) |
|
PART V DATABASES AND THE INTERNET |
|
|
|
Business Vignette: eBay Disaggregates to Stay Competitive |
|
|
545 | (1) |
|
Database Connectivity and Web Development |
|
|
546 | (44) |
|
|
547 | (9) |
|
|
547 | (1) |
|
|
547 | (4) |
|
|
551 | (2) |
|
|
553 | (3) |
|
|
556 | (5) |
|
Web-to-Database Middleware: Server-Side Extensions |
|
|
557 | (1) |
|
|
558 | (1) |
|
|
559 | (1) |
|
|
560 | (1) |
|
Using a Web-to-Database Production Tool: ColdFusion |
|
|
561 | (14) |
|
|
562 | (1) |
|
The RobCor Sample Database |
|
|
563 | (1) |
|
Creating a Simple Query with CFQUERY and CFOUTPUT |
|
|
564 | (5) |
|
Creating a Simple Query with CFQUERY and CFTABLE |
|
|
569 | (1) |
|
Creating a Dynamic Search Page |
|
|
570 | (4) |
|
The Web As a Stateless System |
|
|
574 | (1) |
|
Extensible Markup Language (XML) |
|
|
575 | (14) |
|
Document Type Definitions (DTD) and XML Schemas |
|
|
577 | (3) |
|
|
580 | (3) |
|
|
583 | (2) |
|
|
585 | (1) |
|
|
586 | (1) |
|
|
586 | (1) |
|
|
587 | (2) |
|
PART VI DATABASE ADMINISTRATION |
|
|
|
Business Vignette: NASDAQ High-Performance IT |
|
|
589 | (1) |
|
|
590 | (430) |
|
Data as a Corporate Asset |
|
|
591 | (1) |
|
The Need for and Role of Databases in an Organization |
|
|
592 | (1) |
|
Introduction of a Database: Special Considerations |
|
|
593 | (1) |
|
The Evolution of the Database Administration Function |
|
|
594 | (3) |
|
The Database Environment's Human Component |
|
|
597 | (14) |
|
The DBA's Managerial Role |
|
|
600 | (5) |
|
|
605 | (6) |
|
Database Administration Tools |
|
|
611 | (4) |
|
|
611 | (2) |
|
|
613 | (2) |
|
Developing a Data Administration Strategy |
|
|
615 | (2) |
|
The DBA at Work: Using Oracle for Database Administration |
|
|
617 | (403) |
|
Oracle Database Administration Tools |
|
|
618 | (1) |
|
|
618 | (1) |
|
Ensuring an Automatic RDBMS Start |
|
|
619 | (1) |
|
Creating Tablespaces and Datafiles |
|
|
620 | (1) |
|
Managing the Database Objects: Tables, Views, Triggers, and Procedures |
|
|
621 | (1) |
|
Managing Users and Establishing Security |
|
|
622 | (3) |
|
Customizing the Database Initialization Parameters |
|
|
625 | (1) |
|
|
626 | (7) |
|
|
633 | (1) |
|
|
634 | (1) |
|
|
634 | |
Appendix A Designing Databases with Visio Professional: A Tutorial |
|
Appendix B The University Lab: Conceptual Design |
|
Appendix C The University Lab: Conceptual Design Verification, Logical Design, and Implementation |
|
Appendix D Converting an ER Model into a Database Structure |
|
Appendix E Comparison of ER Model Notations |
|
Appendix F Client/Server Systems |
|
Appendix G Object-Oriented Databases |
|
Appendix H Unified Modeling Language (UML) |
|
Appendix I Databases in Electronic Commerce |
|
Appendix J Web Database Development with Coldfusion |
|
Appendix K The Hierarchical Database Model |
|
Appendix L The Network Database Model |
|
Answers to Selected Questions and Problems |
|