C++ object databases

I. OBJECT DATABASE MODELING. 1. An Introduction. An Example Application. ODMG: Object Database Standardization. 2. Databases, Transactions, and Exception Handling. Database Access. Transactions. The d_Transaction Class. Two-Phase Commit. Thread Operations. Exceptions: Handling Failures. A Complete Application Transaction. 3. An Overview of Object Database Modeling. The Entity-Relationship Data Model. ER Modeling Primitives. Similarities among Database Models. Type Categories. Entities. Domains. Collections. Composite Entities. Aggregation, Abstraction, and Atomicity. 4. Domains. Domains in Other Database Technologies. Domain Categories. Primitive Literal Types. Composite Types. Abstract Data Types. ODMG Domain Types. The d_String Class. The d_Interval Class. The d_Date Class. The d_Time Class. The d_Timestamp Class. Restrictions on Using Some Types. Unions. Bit Fields. C++ Pointers and References. Closing Comments about Domains. 5. Persistent Entities. The Entity Abstraction. Making a Class Persistent. The d_Object Base Class. Instances. Properties. Data Attributes. Operations. Creation. Creating Transient Instances. Creating Persistent Instances. Clustering Instances. Initialization at Creation. Deletion. Activation and Deactivation. The d_activate and d_deactivate Functions. Activation Implementation Issues. Instance Modification. Concurrency Control. Other Operations. Assignment. Equality. Comparison. Some Comparisons with Relational Databases. 6. Object Identification. Object Identifier. Initialization and Assignment. Null References. Dereference Operations. Copying a Reference. Equality. Transparent Access. Representation and Implementation. Object Naming. Identification Based on Attribute Values. Keys. Indexes. Summary and Comparison with Other Databases. 7. Collections. ODMG Collections and Iterators. Sets. Bags. Lists. Arrays. Dictionaries. ODMG Collection Element Types. Common Collection Operations. Maintaining the Elements of a Collection. Collection Copy and Assignment. Collection Equality. Iteration. Operations Specific to the Collection Type. Subsets and Supersets. Set Operations. d_List and d_Varray Operations. Named Collections and Extents. Named Collections. Extents. Other Collection Operations and Considerations. Access of Referenced Objects. Closure Access. The Cardinality Magnitude. Stand-alone versus Embedded Collections. Collection Modifications. Collection Optimizations. Collection Indexes. Cursors. Implementing Collections in Relational Databases. Schema Representation. Indexes. Application Representation. Collection Summary. 8. Relationships. Definition and Purpose of Relationships. The Sides of a Relationship. The Degree of a Relationship. Cardinality. Unidirectional and Bidirectional Relationships. Recursive Relationships. Relationship Interfaces. ODMG Unidirectional Relationship Declarations. ODMG Relationship Objects. Referential Integrity Maintenance. One-to-One Relationship Scenario. One-to-Many Relationship Scenario. Many-to-Many Relationship Scenario. Relationship Traversal and Path Expressions. 9. Composite Objects. Composite Object Examples. Subobjects. References to Objects That Are Not Subobjects. Composite Base Object. Physical Organization. Operations. In Closing. II. THE OBJECT QUERY LANGUAGE. 10. An Introduction to the Object Query Language. The Goals of OQL. OQL Is a Functional Query Language. 11. OQL Expressions and Operators. Object Access. Named Objects. Attribute Access and Relationship Traversal. Dereferencing. Null Object References. Invoking Operations on Objects. Typing an Object Expression. Construction of Objects and Structures. Atomic Literal Expressions. Primitive Domain Types. Arithmetic Expressions. Comparison Operators. Boolean Operators. String Expressions. Collections. Construction of Collection Literals. Operations on All Collections. Operations Specific to Sets and Bags. Operations Specific to Indexed Collections (list and array). Dictionary Operations. Collection Conversions. Equality. Functions. Operator Precedence. 12. Predicates and Collection Queries. Iterator Variables. Predicates. Universal Quantification. Existential Quantification. Composite Predicates. select ... from ... where ... The from Clause. The where Clause. The select Clause. The group by and having Clauses. The order by Clause. Joins. Named Query Definition. Subqueries. Scope Rules for Names. Iterator Variable Names. Partition Names. Name Lookup. Summary. 13. OQL Execution Environments. Collection Queries in C++. Queries on d_Extent. Database Queries in C++. Query Engine Architectural Decisions. Query Processing Location. Execution of Operations. III. ARCHITECTURE. 14. Object Database Architectures. Components. Database Organization. Logical Organization and Access. Physical Storage. Mapping of Logical to Physical Organization. Client-Server Architecture. Database Cache and Server Process. Client Application Cache and Process. Cache Coherency. Closing Comments on Architecture. 15. Performance. Database Architecture. Effective Cache Use. Disk Transfer Costs. Client-Server Transfers. Concurrency. Performance Measurement and Benchmarks. Generic Benchmarks. Application-specific Benchmarks. Categories of Access. Factors Affecting Performance. Application Access. Query Access. Application Object Model and Access Patterns. 16. Database Schemas. Schema Acquisition. Schema Access. Name Scopes. Modules. Operations. Domains. References. Collections. Properties. Attributes. Structures. Classes. Relationships. Inheritance. Enumerations. Type Aliases. Schema Modifications. Class-level Modifications. Inheritance Changes. Collections. Operations. Multistep Changes. Instance Migration. Conversions. Database Migration. Immediate Conversion. Deferred Conversion. Indexes and Clustering. IV. RETROSPECTIVE. 17. Some Comparisons between Object and Relational Database Technology. Models, Type Systems, and Languages. The Relational Model and Environment. An Application in a Relational Environment. Object Support. The Object Implementation Language. In Contrast: C++ Object Databases. Normalization. Data Access. Execution. SQL3 Support for Objects. Abstract Data Types for Column Domains. SQL Persistent Stored Modules. Named Row Types and Reference Types. Assessment of SQL3. 18. In Closing. Type Categories. Dual Interfaces. Paradigm Shifts. Standardization. Object and Relational Databases. Future Directions. Java. Appendix A. Example Schema. Appendix B. ODMG C++ Classes. Preprocessor Symbols. All Classes. d_Bag. d_Collection. d_Database. d_Date. d_Dictionary . d_Error. d_Extent. d_Interval. d_Iterator. d_List. d_Object. d_OQL_Query. d_Ref. d_Ref_Any. d_Rel_List . d_Rel_Ref . d_Rel_Set . d_Set. d_String. d_Time. d_Timestamp. d_Transaction. d_Varray. STL. Appendix C. ODMG Metaclasses. Iterators. d_Access_Kind. d_Alias_Type. d_Attribute. d_Class. d_Collection_Type. d_Constant. d_Enumeration_Type. d_Exception. d_Inheritance. d_Keyed_Collection_Type. d_Meta_Object. d_Module. d_Operation. d_Parameter. d_Primitive_Type. d_Property. d_Ref_Type. d_Relationship. d_Scope. d_Structure_Type. d_Type. References. Index. 0201634880T04062001