Available:*
Library | Item Barcode | Call Number | Material Type | Item Category 1 | Status |
---|---|---|---|---|---|
Searching... | 30000001699119 | QA331 C62 1979 | Open Access Book | Book | Searching... |
On Order
Summary
Summary
Conceptually, a database consists of objects and relationships. Object Relationship Notation (ORN) is a simple notation that more precisely defines relationships by combining UML multiplicities with uniquely defined referential actions.
This book shows how ORN can be used in UML class diagrams and database definition languages (DDLs) to better model and implement relationships and thus more productively develop database applications. For the database developer, it presents many examples of relationships modeled using ORN-extended class diagrams and shows how these relationships are easily mapped to an ORN-extended SQL or Object DDL. For the DBMS developer, it presents the specifications and algorithms needed to implement ORN in a relational and object DBMS.
This book also describes tools that can be downloaded or accessed via the Web. These tools allow databases to be modeled using ORN and implemented using automatic code generation that adds ORN support to Microsoft SQL Server and Progress Object Store.
Object Relationship Notation (ORN) for Database Applications: Enhancing the Modeling and Implementation of Associations is written for research scientists, research libraries, professionals, and advanced-level students in computer science.
Table of Contents
Preface | p. vii |
Motivation | p. vii |
Purpose | p. viii |
Readers | p. ix |
Structure | p. ix |
Downloads | p. xi |
Acknowledgments | p. xi |
About the Author | p. xiii |
Contents | p. xv |
List of Abbreviations | p. xxi |
Part I About Relationships and ORN | p. 1 |
Chapter I Introduction Including a Brief History of Relationships | p. 3 |
1.1 Relationships | p. 3 |
1.2 A Brief History of Relationships | p. 4 |
1.2.1 The paper-based system | p. 5 |
1.2.2 The computerized file-based system | p. 6 |
1.2.3 Early data models and DBMSs | p. 8 |
1.2.4 The relational model and RDBMS | p. 15 |
1.2.5 The entity-relationship model and database | p. 19 |
1.2.6 Semantic models, the object model, and the ODBMS | p. 23 |
1.2.7 The object-relational DBMS | p. 31 |
1.3 Problems in Modeling and Implementing Relationships | p. 32 |
1.4 Preview of a Solution | p. 35 |
Chapter 2 Object Relationship Notation (ORN) | p. 39 |
2.1 Syntax | p. 39 |
2.2 Graphical Representation | p. 40 |
2.3 Semantics | p. 41 |
2.4 Examples | p. 42 |
2.4.1 p. 44 | |
2.4.2 |- | p. 45 |
2.4.3 |- | p. 47 |
2.4.4 |-X- | p. 47 |
2.4.5 ? | p. 48 |
2.4.6 ! | p. 49 |
2.4.7 ' | p. 50 |
2.5 Flashback to the Company Database | p. 51 |
Chapter 3 ORN Simulator A Modeling Tool Where Associations Come Alive | p. 53 |
3.1 Creating a Database Model and a Database | p. 53 |
3.2 Verifying Association Semantics | p. 60 |
3.3 Architecture | p. 66 |
3.4 Benefits | p. 67 |
Chapter 4 Association Patterns Emerging from a Variety of Association Types | p. 69 |
4.1 Context | p. 69 |
4.2 Pattern Descriptions | p. 71 |
4.2.1 "is defined by" pattern | p. 73 |
4.2.2 "is recorded for" pattern | p. 75 |
4.2.3 "is a realization of" pattern | p. 79 |
4.2.4 "is associated by" pattern | p. 80 |
4.2.5 "is an update of" pattern | p. 81 |
4.2.6 "is a part of" pattern | p. 82 |
4.2.7 "is a" pattern | p. 89 |
4.3 Patterns in Database Modeling and Implementation | p. 90 |
4.4 Associations That Don't Conform to a Pattern | p. 95 |
4.5 Conclusion | p. 96 |
Chapter 5 Comparing ORN to Similar Declarative Schemes | p. 97 |
5.1 Schemes for Relational Databases and Object Relations | p. 98 |
5.1.1 Null constraint | p. 98 |
5.1.2 Key constraints | p. 99 |
5.1.3 Referential integrity rules | p. 100 |
5.1.4 Subjectivity constraints | p. 102 |
5.1.5 Additional relationship semantics | p. 103 |
5.2 Schemes for the ER model | p. 105 |
5.3 Schemes in ODBMSs | p. 105 |
5.4 Whole-Part Properties and Dimensions for Class Diagrams | p. 107 |
5.4.1 Proposed association dimensions for Class diagrams | p. 108 |
5.4.2 Primary characteristics for whole-part relationships | p. 111 |
5.4.3 Secondary characteristics for whole-part relationships | p. 112 |
5.5 Conclusion | p. 113 |
Part II Using ORN to Develop a Database System | p. 115 |
Chapter 6 ORN Additive A Tool for Extending SQL Server with ORN | p. 117 |
6.1 Capabilities, Operations, and Architecture | p. 117 |
6.1.1 Capabilities | p. 118 |
6.1.2 Operations and architecture | p. 119 |
6.1.3 The +ornddl command | p. 121 |
6.1.4 The +orndml command | p. 121 |
6.2 ORN Additive DDL Statements | p. 122 |
6.2.1 USE statement | p. 122 |
6.2.2 Constraint statement | p. 123 |
6.2.3 Delete statement | p. 123 |
6.2.4 Set Orn_Message_Number_Base statement | p. 125 |
6.2.5 Example of a query file with ORN Additive DDL statements | p. 125 |
6.3 ORN Additive DML Statements | p. 125 |
6.3.1 Use statement | p. 125 |
6.3.2 Begin Transaction statement | p. 127 |
6.3.3 Save Transaction statement | p. 127 |
6.3.4 Commit Transaction statement | p. 127 |
6.3.5 Rollback Transaction statement | p. 127 |
6.3.6 Set Rxc_Mode statement | p. 128 |
6.3.7 Enable/Disable Orn_Triggers statement | p. 129 |
6.3.8 Example of query file with ORN Additive DML statements | p. 130 |
6.4 Conclusion | p. 132 |
Chapter 7 Object Relater Plus (OR+) An ORN-extended Object DBMS | p. 133 |
7.1 Capabilities and Compatibilities | p. 133 |
7.2 ODDL | p. 135 |
7.2.1 ODDL specification | p. 135 |
7.2.2 p. 138 | |
7.2.3 Control commands | p. 140 |
7.3 ODML | p. 141 |
7.4 Architecture, Implementation, and Extensibility | p. 143 |
7.4.1 Architecture | p. 143 |
7.4.2 Implementation | p. 145 |
7.4.3 Extensibility | p. 146 |
7.5 Conclusion | p. 147 |
Chapter 8 Mapping Database Models to DDLs From ORN-Extended Class Diagrams to ORN-Extended DBMSs | p. 149 |
8.1 Mapping an ORN-Extended Model to an ORN-Extended SQL | p. 149 |
8.1.1 Transformating the model for a relational database | p. 149 |
8.1.2 Mapping classes to tables | p. 153 |
8.1.3 Mapping associations to foreign keys | p. 154 |
8.2 Mapping an ORN-Extended Model to an Object DDL | p. 157 |
8.2.1 Transforming the model for an object database | p. 158 |
8.2.2 Mapping classes to class definitions and extents | p. 159 |
8.2.3 Mapping associations to object-based attributes | p. 160 |
8.3 Conclusion | p. 163 |
Chapter 9 Association Semantics Dealing with the Subtleties, Inconsistencies, and Ambiguities | p. 165 |
9.1 Inconsistencies | p. 165 |
9.1.1 Within an | p. 166 |
9.1.2 Involving combinations | p. 170 |
9.2 Inconsistency Detection | p. 171 |
9.3 Ambiguities | p. 172 |
9.4 Associations as Functions | p. 174 |
9.5 Conclusion | p. 177 |
Part III Adding ORN to a DBMS | p. 179 |
Chapter 10 A Conceptual Implementation of ORN Exploring Semantic Circularity and Ambiguity | p. 181 |
10.1 Algorithms | p. 182 |
10.1.1 Algorithm CreateObject | p. 182 |
10.1.2 Transaction operations | p. 183 |
10.1.3 Supporting pseudocode for complex object operations | p. 184 |
10.1.4 Algorithm CreateLink | p. 185 |
10.1.5 Algorithm DeleteObject | p. 186 |
10.1.6 Algorithm DestroyLink | p. 187 |
10.1.7 Algorithm ChangeLink | p. 187 |
10.2 Link Cycles | p. 188 |
10.2.1 Circularity | p. 189 |
10.2.2 Ambiguities | p. 190 |
10.2.3 The Theorem for ORN Semantic Clarity and its proof | p. 196 |
10.3 Conclusion | p. 203 |
Chapter 11 Adding ORN to the SQL Standard for RDBMSs | p. 205 |
11.1 Motivation | p. 205 |
11.2 Overview of SQL Association Capabilities | p. 206 |
11.3 Proposed ORN Extension to SQL | p. 209 |
11.4 Conclusion | p. 213 |
Chapter 12 Adding ORN to the ODMG Standard for ODMSs | p. 215 |
12.1 Motivation | p. 215 |
12.2 Adding ORN to ODL | p. 217 |
12.2.1 Associations in ODL | p. 217 |
12.2.2 Adding ORN syntax | p. 218 |
12.2.3 Adapting ORN semantics to ODL | p. 219 |
12.3 Algorithms | p. 221 |
12.3.1 Class Transaction | p. 223 |
12.3.2 Method new() | p. 225 |
12.3.3 Method delete() | p. 226 |
12.3.4 Method _enforce_binding() | p. 227 |
12.3.5 Method form_tpR() | p. 229 |
12.3.6 Method drop_tpR() | p. 230 |
12.3.7 Method_enforce_explicit_binding() | p. 230 |
12.3.6 Method change_tpR() | p. 231 |
12.3.9 Example | p. 232 |
12.4 Conclusion | p. 234 |
Bibliography | p. 237 |
Index | p. 241 |