| Preface | 6 |
|---|
| Motivation | 6 |
| Purpose | 7 |
| Readers | 8 |
| Structure | 8 |
| Downloads | 10 |
| Acknowledgments | 10 |
| About the Author | 12 |
|---|
| Contents | 13 |
|---|
| List of Abbreviations | 18 |
|---|
| Part I About Relationships and ORN | 19 |
|---|
| Chapter 1 Introduction | 20 |
| Including a Brief History of Relationships | 20 |
| 1.1 Relationships | 20 |
| 1.2 A Brief History of Relationships | 21 |
| 1.3 Problems in Modeling and Implementing Relationships | 49 |
| 1.4 Preview of a Solution | 52 |
| Chapter 2 Object Relationship Notation (ORN) | 55 |
| 2.1 Syntax | 55 |
| 2.2 Graphical Representation | 56 |
| 2.3 Semantics | 57 |
| 2.4 Examples | 58 |
| 2.5 Flashback to the Company Database | 67 |
| Chapter 3 ORN Simulator | 69 |
| A Modeling Tool Where Associations Come Alive | 69 |
| 3.1 Creating a Database Model and a Database | 69 |
| 3.2 Verifying Association Semantics | 76 |
| 3.3 Architecture | 82 |
| 3.4 Benefits | 83 |
| Chapter 4 Association Patterns | 84 |
| Emerging from a Variety of Association Types | 84 |
| 4.1 Context | 84 |
| 4.2 Pattern Descriptions | 86 |
| 4.3 Patterns in Database Modeling and Implementation | 105 |
| 4.4 Associations That Don’t Conform to a Pattern | 110 |
| 4.5 Conclusion | 111 |
| Chapter 5 Comparing ORN to Similar Declarative Schemes | 112 |
| 5.1 Schemes for Relational Databases and Object Relations | 113 |
| 5.2 Schemes for the ER model | 120 |
| 5.3 Schemes in ODBMSs | 120 |
| 5.4 Whole-Part Properties and Dimensions for Class Diagrams | 122 |
| 5.5 Conclusion | 128 |
| Part II Using ORN to Develop a Database System | 130 |
|---|
| Chapter 6 ORN Additive | 131 |
| A Tool for Extending SQL Server with ORN | 131 |
| 6.1 Capabilities, Operation, and Architecture | 131 |
| 6.2 ORN Additive DDL Statements | 136 |
| 6.3 ORN Additive DML Statements | 139 |
| 6.4 Conclusion | 146 |
| Chapter 7 Object Relater Plus (OR+) | 147 |
| An ORN-Extended Object DBMS | 147 |
| 7.1 Capabilities and Compatibilities | 147 |
| 7.2 ODDL | 149 |
| 7.3 ODML | 155 |
| 7.4 Architecture, Implementation, and Extensibility | 157 |
| 7.5 Conclusion | 161 |
| Chapter 8 Mapping Database Models to DDLs | 163 |
| From ORN-Extended Class Diagrams to ORN-Extended DBMSs | 163 |
| 8.1 Mapping an ORN-Extended Model to an ORN-Extended SQL | 163 |
| 8.2 Mapping an ORN-Extended Model to an Object DDL | 171 |
| 8.3 Conclusion | 177 |
| Chapter 9 Association Semantics | 179 |
| Dealing with the Subtleties, Inconsistencies, and Ambiguities | 179 |
| 9.1 Inconsistencies | 179 |
| 9.2 Inconsistency Detection | 185 |
| 9.3 Ambiguities | 186 |
| 9.4 Associations as Functions | 188 |
| 9.5 Conclusion | 191 |
| Part III Adding ORN to a DBMS | 192 |
|---|
| Chapter 10 A Conceptual Implementation of ORN | 193 |
| Exploring Semantic Circularity and Ambiguity | 193 |
| 10.1 Algorithms | 194 |
| 10.2 Link Cycles | 200 |
| 10.3 Conclusion | 215 |
| Chapter 11 Adding ORN to the SQL Standard for RDBMSs | 216 |
| 11.1 Motivation | 216 |
| 11.2 Overview of SQL Association Capabilities | 217 |
| 11.3 Proposed ORN Extension to SQL | 220 |
| 11.4 Conclusion | 224 |
| Chapter 12 Adding ORN to the ODMG Standard for ODMSs | 226 |
| 12.1 Motivation | 226 |
| 12.2 Adding ORN to ODL | 228 |
| 12.3 Algorithms | 232 |
| 12.4 Conclusion | 245 |
| Bibliography | 247 |
|---|
| Index | 251 |