An object-oriented semantic data model

This research centers on the design and validation of The Object-Oriented Semantic Data Model (OOSDM). OOSDM integrates features and concepts from semantic data models, object-oriented programming languages, and object-oriented data models; resulting in a data model supporting: (1) An abstract data type (APT) facility; (2) Transaction specification; (3) Enhanced logical and procedural derivation; (4) Explicit constraint specification; (5) Operational semantics for manipulating 'complex objects'. OOSDM includes additional components lacking in existing object-oriented data models: a query language and an associated diagramming technique. The Object-Oriented Semantic Query Language (OOSQL) extends relational calculus based query languages with: logical access path independence, and the use of APT operations and generalization hierarchies in queries. OOSQL contributes a formally defined, high-level, calculus based query language. Current object-oriented data models possess no such object-oriented calculus (OOC) counterpart to relational calculus. Object-Oriented Entity-Relationship Diagrams (OOERDs) extend the popular Entity-Relationship approach for modeling object structure. OOERDs model object dynamics for all operations: complex object, APT, and query. OOERDs furnish an additional database design aid, providing a graphical abstraction of both structural and behavioral application characteristics. In validating OOSDM, three separate formal mappings furnish a theoretical basis: (1) A structural mapping of OOSDM schemes to relational model schemes; (2) An operational mapping of OOC to relational calculus; (3) A mapping of access path independent OOC to access path dependent OOC. For all three mappings, justification is provided for claims of completeness, consistency, and correctness. The structural and operational mappings contribute the only known formal mappings of a semantic model to the relational model. OOSDM's access path mapping is an original approach to achieving logical access path independence. The mapping employs a semantic model graph and a simple breadth-first search algorithm to define the access path(s). Advantages of the approach include: (1) Applicability to both object-oriented models and to the relational model through a semantic interface; (2) Support for user-selected query interpretation; (3) Algorithm simplicity; (4) Database retrieval using only lossless join decompositions; (5) No additional required design concepts.