Preface | | iii | |
| | 1 | (18) |
| 1.1 Databases and Database Systems | | | 2 | (2) |
| 1.2 Database Applications | | | 4 | (1) |
| | 5 | (1) |
| 1.4 Database Application Development | | | 6 | (3) |
| | 9 | (6) |
| | 15 | (1) |
| | 16 | (2) |
| | 18 | (1) |
Part I Preliminaries | | 19 | (260) |
| 2 Conceptual Fundamentals | | | 19 | (50) |
| | 20 | (4) |
| 2.2 ADT View of a Database | | | 24 | (1) |
| | 25 | (15) |
| 2.3.1 Entity-Relationship Model | | | 25 | (7) |
| | 32 | (3) |
| | 35 | (3) |
| 2.3.4 Implementation Schemes | | | 38 | (2) |
| | 40 | (15) |
| | 40 | (1) |
| | 41 | (7) |
| | 48 | (7) |
| | 55 | (2) |
| | 57 | (1) |
| | 57 | (12) |
| 3 Physical and System Fundamentals | | | 69 | (46) |
| | 70 | (3) |
| | 73 | (13) |
| | 73 | (5) |
| | 78 | (2) |
| | 80 | (6) |
| | 86 | (6) |
| | 88 | (3) |
| | 91 | (1) |
| 3.4 Transaction Processing | | | 92 | (11) |
| | 93 | (4) |
| 3.4.2 Concurrency Control | | | 97 | (6) |
| | 103 | (2) |
| | 105 | (1) |
| | 105 | (10) |
| | 115 | (64) |
| 4.1 Object-Relationship Modeling | | | 119 | (21) |
| 4.1.1 Objects and Relationships | | | 119 | (2) |
| 4.1.2 Object and Relationship Sets | | | 121 | (4) |
| | 125 | (4) |
| 4.1.4 Generalization Specialization | | | 129 | (5) |
| | 134 | (1) |
| 4.1.6 High-Level Object and Relationship Sets | | | 135 | (5) |
| 4.2 Object-Behavior Modeling | | | 140 | (16) |
| 4.2.1 States and Transitions | | | 140 | (2) |
| | 142 | (3) |
| | 145 | (1) |
| 4.2.4 Priority and Real-Time Constraints | | | 146 | (3) |
| 4.2.5 High-Level States and Transitions | | | 149 | (4) |
| 4.2.6 Behavior Generalization Specialization | | | 153 | (3) |
| 4.3 Object-Interaction Modeling | | | 156 | (10) |
| | 156 | (3) |
| 4.3.2 Interaction Sequences | | | 159 | (1) |
| 4.3.3 Active Object Interactions | | | 160 | (3) |
| 4.3.4 Database Update Interactions | | | 163 | (2) |
| 4.3.5 High-Level Interactions | | | 165 | (1) |
| 4.3.6 Real-Time Interactions | | | 165 | (1) |
| | 166 | (4) |
| | 170 | (2) |
| | 172 | (1) |
| | 173 | (6) |
| 5 Theoretical Preliminaries | | | 179 | (48) |
| | 181 | (9) |
| | 181 | (3) |
| | 184 | (4) |
| 5.1.3 Counting Quantifiers | | | 188 | (2) |
| 5.2 Theoretical Foundations for Databases | | | 190 | (22) |
| | 190 | (4) |
| 5.2.2 Relational Calculus | | | 194 | (6) |
| 5.2.3 Proof Theory and Datalog | | | 200 | (12) |
| | 212 | (3) |
| | 215 | (1) |
| | 216 | (11) |
| | 227 | (52) |
| 6.1 Application-Model Formalization | | | 229 | (22) |
| 6.1.1 Application-Model Predicates | | | 229 | (2) |
| 6.1.2 Application-Model Rules | | | 231 | (10) |
| 6.1.3 Valid Interpretations | | | 241 | (10) |
| 6.2 Metamodel Formalization | | | 251 | (18) |
| 6.2.1 Static Formalization of Syntax | | | 251 | (10) |
| 6.2.2 Dynamic and Temporal Formalization of Semantics | | | 261 | (8) |
| | 269 | (3) |
| | 272 | (1) |
| | 272 | (7) |
Part II Preparation | | 279 | (404) |
| | 279 | (58) |
| 7.1 System Needs and Feasibility Assessment | | | 281 | (3) |
| | 284 | (9) |
| 7.3 Application-Model Integration | | | 293 | (12) |
| 7.3.1 An Approach to Integration | | | 293 | (3) |
| 7.3.2 Integration Example | | | 296 | (9) |
| | 305 | (15) |
| 7.4.1 Reviewing Application Analysis Models | | | 306 | (6) |
| 7.4.2 Object Classification | | | 312 | (8) |
| | 320 | (4) |
| | 324 | (1) |
| | 324 | (13) |
| | 337 | (84) |
| | 340 | (10) |
| 8.2 A Formal Specification Language | | | 350 | (30) |
| | 351 | (7) |
| 8.2.2 General Constraints | | | 358 | (3) |
| 8.2.3 Queries and Expressions | | | 361 | (2) |
| | 363 | (4) |
| 8.2.5 Update and Assignment Statements | | | 367 | (4) |
| 8.2.6 Interactions, Parameters, and Local Declarations | | | 371 | (4) |
| | 375 | (5) |
| 8.3 Functional Specification | | | 380 | (19) |
| 8.4 Interface Specification | | | 399 | (9) |
| 8.4.1 Insertion Interactions | | | 400 | (3) |
| 8.4.2 Retrieval Interactions | | | 403 | (3) |
| 8.4.3 Deletion Interactions | | | 406 | (1) |
| 8.4.4 Modification Interactions | | | 407 | (1) |
| | 408 | (3) |
| | 411 | (1) |
| | 412 | (9) |
| | 421 | (90) |
| | 424 | (7) |
| 9.2 Functional Dependencies | | | 431 | (1) |
| | 432 | (2) |
| 9.4 Functional Dependency Theory | | | 434 | (25) |
| | 434 | (8) |
| 9.4.2 Semantic Equivalence | | | 442 | (11) |
| 9.4.3 Roles and Congruency | | | 453 | (6) |
| | 459 | (4) |
| | 463 | (7) |
| 9.7 Equivalence-Class Transformations | | | 470 | (9) |
| 9.8 Redundant Nonfunctional Relationship Sets | | | 479 | (4) |
| 9.9 Reducible Nonfunctional Relationship Sets | | | 483 | (5) |
| 9.10 Embedded Functional Dependencies | | | 488 | (5) |
| | 493 | (4) |
| | 497 | (1) |
| | 498 | (13) |
| 10 Data Design--Synthesis | | | 511 | (84) |
| | 513 | (10) |
| | 523 | (2) |
| | 525 | (2) |
| 10.4 Flat-Scheme Synthesis | | | 527 | (11) |
| 10.5 Interscheme Dependencies | | | 538 | (3) |
| 10.6 Properties of Flat Schemes | | | 541 | (11) |
| | 552 | (15) |
| | 556 | (6) |
| | 562 | (5) |
| 10.8 Nested-Scheme Synthesis | | | 567 | (6) |
| 10.9 Cost Analysis for Embedded Functional Dependencies | | | 573 | (5) |
| | 578 | (5) |
| 10.11 Bibliographic Notes | | | 583 | (1) |
| | 584 | (11) |
| | 595 | (88) |
| | 596 | (7) |
| 11.1.1 Classes, Types, Variables, and Values | | | 598 | (1) |
| | 599 | (4) |
| 11.2 Computations and Methods | | | 603 | (4) |
| 11.3 Generalization Specialization Patterns | | | 607 | (5) |
| | 608 | (2) |
| 11.3.2 Generated Value-Set Types | | | 610 | (2) |
| 11.4 Data-Structure Patterns | | | 612 | (2) |
| | 614 | (20) |
| 11.5.1 Abstract Data Types | | | 614 | (8) |
| 11.5.2 Queued Concurrent Requests | | | 622 | (4) |
| 11.5.3 Transaction Processing | | | 626 | (4) |
| 11.5.4 Multiprocessing and Distributed Processing | | | 630 | (4) |
| 11.6 Visibility and Views | | | 634 | (12) |
| | 646 | (3) |
| | 649 | (14) |
| | 663 | (5) |
| 11.10 Bibliographic Notes | | | 668 | (1) |
| | 669 | (14) |
Part III Production | | 683 | (146) |
| | 683 | (50) |
| | 685 | (2) |
| | 687 | (12) |
| | 699 | (4) |
| | 703 | (20) |
| | 704 | (5) |
| | 709 | (14) |
| 12.5 Development Methodology | | | 723 | (2) |
| | 725 | (3) |
| | 728 | (1) |
| | 728 | (5) |
| 13 Relational DBMS Case Study | | | 733 | (18) |
| | 735 | (2) |
| 13.2 Congruency Validation | | | 737 | (1) |
| 13.3 Interface Specification | | | 737 | (5) |
| 13.4 Hypergraph Reductions | | | 742 | (1) |
| | 742 | (5) |
| | 747 | (1) |
| | 748 | (3) |
| 14 Object-Relational DBMS Case Study | | | 751 | (18) |
| 14.1 Application-Model Integration | | | 752 | (5) |
| 14.2 Generalization Specialization Transformations | | | 757 | (1) |
| 14.3 Nested-Scheme Generation | | | 758 | (1) |
| 14.4 Behavior Transformations | | | 759 | (6) |
| | 765 | (3) |
| | 768 | (1) |
| 15 Object-Oriented DBMS Case Study I | | | 769 | (14) |
| 15.1 Complex Computations | | | 771 | (2) |
| | 773 | (1) |
| | 773 | (4) |
| | 777 | (3) |
| 15.5 Active-Object Design and Implementation | | | 780 | (1) |
| | 781 | (2) |
| 16 Object-Oriented DBMS Case Study II | | | 783 | (22) |
| 16.1 Ontological Analysis | | | 787 | (1) |
| 16.2 Formalization of General Constraints | | | 787 | (2) |
| 16.3 Approximate Representation | | | 789 | (2) |
| 16.4 Implementation Model | | | 791 | (4) |
| | 795 | (4) |
| 16.6 Implementation Polymorphism | | | 799 | (4) |
| | 803 | (2) |
| 17 Active Object-Oriented DBMS Case Study | | | 805 | (24) |
| | 806 | (3) |
| 17.2 Interface Specification | | | 809 | (1) |
| 17.3 Functional Specification | | | 810 | (4) |
| 17.4 State-Net Transformations | | | 814 | (4) |
| 17.5 Data Design and Implementation | | | 818 | (7) |
| 17.6 Behavior Implementation | | | 825 | (1) |
| | 826 | (3) |
Appendix A OSM Graphical Notation | | 829 | (3) |
Appendix B OSM-L Grammar | | 832 | (10) |
Appendix C Answer to Selected Exercises | | 842 | (17) |
Bibliography | | 859 | (10) |
Index | | 869 | |