Object oriented database development is The importance of OODBMS products; object defininition language (Defining a class, Defining Structures, Defining operations, Defining relationships.); object query language. | OBJECT-ORIENTED DATABASE DEVELOPMENT THE IMPORTANCE OF OODBMS PRODUCTS OBJECT DEFININITION LANGUAGE (ODL) OBJECT QUERY LANGUAGE The importance of OODBMS products The need for storing and manipulating complex data is increasing. We can not use relational databases to store this kind of data. The complex data types appear in several applications: - CAD/CAM - Geometric modeling - Geographical Information Systems - Knowledge-based systems / through frames - Web applications that need to store, index, search and manipulate diverse objects. OBJECT DEFINITION LANGUAGE (ODL) Corresponds to SQL’s DDL (Data Definition Language) Specify the logical schema for an object oriented database Based on the specifications of Object Database Management Group (ODMG) In this section, we learn how to transform class diagram to ODL schema. Defining a class class – keyword for defining classes attribute – keyword for attributes operations – return type, name, parameters in parentheses . | OBJECT-ORIENTED DATABASE DEVELOPMENT THE IMPORTANCE OF OODBMS PRODUCTS OBJECT DEFININITION LANGUAGE (ODL) OBJECT QUERY LANGUAGE The importance of OODBMS products The need for storing and manipulating complex data is increasing. We can not use relational databases to store this kind of data. The complex data types appear in several applications: - CAD/CAM - Geometric modeling - Geographical Information Systems - Knowledge-based systems / through frames - Web applications that need to store, index, search and manipulate diverse objects. OBJECT DEFINITION LANGUAGE (ODL) Corresponds to SQL’s DDL (Data Definition Language) Specify the logical schema for an object oriented database Based on the specifications of Object Database Management Group (ODMG) In this section, we learn how to transform class diagram to ODL schema. Defining a class class – keyword for defining classes attribute – keyword for attributes operations – return type, name, parameters in parentheses relationship – keyword for establishing relationship. class Student { attribute string name; attribute Date dateOfBirth; attribute string address; attribute string phone; // plus relationships and operations }; class Course { attribute string crse_code; attribute string crse_title; attribute short credit_hrs; // plus relationships and operation }; Defining an attribute Value can be either: Object identifier or literal Types of literals Atomic – a constant that cannot be decomposed into components Collection – multiple literals or object types Structure – a fixed number of named elements, each of which can be literal or object type Attribute ranges: Allowable values for an attribute enum – for enumerating the allowable values Kinds of collections Set – unordered collection without duplicats Bag – unordered that may contains duplicates List – ordered collection, all the same type Array – dynamically sized ordered collection, locatable by .