C++ object databases
著者
書誌事項
C++ object databases
(The Addison-Wesley object technology series / Grady Booch, Ivan Jacobson, James Rumbaugh)
Addison Wesley, c1998
- タイトル別名
-
C++ object databases : programming with the ODMG standard
大学図書館所蔵 全11件
  青森
  岩手
  宮城
  秋田
  山形
  福島
  茨城
  栃木
  群馬
  埼玉
  千葉
  東京
  神奈川
  新潟
  富山
  石川
  福井
  山梨
  長野
  岐阜
  静岡
  愛知
  三重
  滋賀
  京都
  大阪
  兵庫
  奈良
  和歌山
  鳥取
  島根
  岡山
  広島
  山口
  徳島
  香川
  愛媛
  高知
  福岡
  佐賀
  長崎
  熊本
  大分
  宮崎
  鹿児島
  沖縄
  韓国
  中国
  タイ
  イギリス
  ドイツ
  スイス
  フランス
  ベルギー
  オランダ
  スウェーデン
  ノルウェー
  アメリカ
注記
Includes bibliographical references (p. 441) and index
内容説明・目次
内容説明
In 1991, the Object Database Management Group (ODMG) was formed to define standard interfaces for object databases. This standardization has since been achieved, and the popularity of object databases is on the rise. Similar to using SQL to access a relational database, the ODMG provides a corresponding standard for object databases. This book, technically reviewed by ODMG members, provides a comprehensive description of C++ object databases, including the C++ and Object Query Language (OQL) interfaces of the ODMG standard. C++ Object Databases is the indispensable guide and reference to programming with C++ object databases. With this book, you will gain a thorough knowledge of the underlying modeling concepts, interfaces, and architectures. To ease the transition to object database programming, comparisons with relational databases and SQL are provided, including contrasts with the object facilities planned for SQL3. Object databases uniquely support an object-oriented data model that is shared by the database and the application, and their tight integration with an object programming language allows developers to realize increased productivity.
OQL provides excellent declarative query access to objects, supporting the same object model used by the application. C++ is currently the dominant language supported by object databases and therefore is the basis for this book. As most object database vendors now support ODMG interfaces in their products, a working knowledge of the topics herein is essential to object database programmers. The author is uniquely qualified to present this material. He serves as the ODMG C++ Editor and has been co-editor of three ODMG books, covering releases 1.1, 1.2, and 2.0. 0201634880B04062001
目次
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
「Nielsen BookData」 より