11 Chapter 11 Object Oriented Databases Database Systems: Design, Implementation, and Management, Sixth Edition, Rob and Coronel 1 11 In this chapter, you will learn: • What basic concepts govern OO systems • How OO features are related to the more traditional relational and ER models • What the basic features of an OO database management system (OODBMS) are • What effect OO concepts are likely to have on data modeling and design Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 2 11 In this chapter, you will learn: (continued) • About the advantages and disadvantages of OODBMSs • How OO concepts have influenced the relational model • How Oracle9i implements object extensions Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 3 11 Object Orientation and Its Benefits • A set of design and development principles based on conceptually autonomous computer structures known as objects • Each object represents a real-world entity with the ability to act upon itself and interact with other objects • Modularity is therefore almost inevitable Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 4 11 Object Orientation Contributions Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 5 11 The Evolution of Object Oriented Concepts • Object oriented programming – Developed as an alternative to traditional programming methods – Programmer creates or uses objects: • Self-contained, reusable modules that contain data as well as the procedures used to operate on such data Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 6 11 The Evolution of Object Oriented Concepts (continued) • Object oriented programming languages were developed to: – Provide an easy-to-use software development environment – Provide a powerful software modeling tool for application development – Decrease development time by reducing the amount of code – Improve programmer productivity by making that code reusable Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 7 11 The Evolution of Object Oriented Concepts (continued) • Object oriented environment has several important attributes: – Data set is no longer passive – Data and procedures are bound together, creating an object – Object has an innate ability to act on itself Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 8 11 Object Oriented Concepts • Have their roots in programming languages • No knowledge of programming is necessary to understand these concepts Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 9 11 Objects: Components and Characteristics • Object: – Abstract representation of a real-world entity – Has: • Unique identity • Embedded properties • Ability to interact with other objects and act upon itself – Defining characteristic is its unique identity Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 10 11 Real-World Student Objects Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 11 11 Object Identity • Unique to that object • Assigned by system at moment of object’s creation • Cannot be changed under any circumstances • Can be deleted only if the object is deleted • Can never be reused Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 12 11 Attributes (Instance Variables) • Attributes: – Known as instance variables in OO environment • Domain: – Logically groups and describes the set of all possible values that an attribute can have Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 13 11 Object Attributes Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 14 11 Object State • Set of values that object’s attributes have at a given time • Can vary, although its OID remains the same • To change the object’s state, change the values of the object’s attributes • To change the object’s attribute values, send a message to the object – Message will invoke a method Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 15 11 Messages and Methods • Method: – Code that performs a specific operation on object’s data – Protects data from direct and unauthorized access by other objects – Used to change the object’s attribute values or to return the value of selected object attributes – Represent real-world actions Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 16 11 Depiction of an Object Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 17 11 Method Components Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 18 11 Objects Send Messages to Each Other Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 19 11 Classes • Collection of similar objects with shared structure (attributes) and behavior (methods) • Class instance or object instance – Each object in a class Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 20 11 Class Illustration Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 21 11 Protocol • An object’s public aspect • How it is known by other objects as well as end users • Other objects communicate with the student object using any of these methods Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 22 11 Public and Private Aspects of an Object Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 23 11 OO Summary: Object Characteristics Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 24 11 Musical Instruments Class Hierarchy Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 25 11 Single Inheritance Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 26 11 Multiple Inheritance Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 27 11 Motor Vehicle and Bicycle Instance Variables Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 28 11 Employee Class Hierarchy Method Override Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 29 11 Employee Class Hierarchy Polymorphism Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 30 11 Abstract Data Types • Differs from conventional data type – ADT’s operations are user-defined – ADT does not allow direct access to its internal data representation or method implementation • To create ADT, specify: – Its name – Data representation or instance variables of objects belonging to the abstract data – ADT operations and constraints, both of which are implemented through methods Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 31 11 Object Classification • Simple object • Composite object • Compound object • Hybrid object • Associative object Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 32 11 Characteristics of an Object Oriented Data Model • Support the representation of complex objects • Are extensible: – Capable of defining new data types as well as the operations to be performed on them • Support encapsulation: – Data representation and method’s implementation must be hidden from external entities Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 33 11 Characteristics of an Object Oriented Data Model (continued) • Exhibit inheritance: – Object must be able to inherit properties (data and methods) of other objects • Support the notion of object identity (OID) Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 34 11 Comparing the OO and ER Model Components Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 35 11 Shared Representation for All Objects of the Class Person Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 36 11 State of a Person Object Instance Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 37 11 Defining Three Abstract Data Types Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 38 11 Object Representation for Instances of the Class Person with ADTs Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 39 11 Object State for an Instance of the Class Person, Using ADTs Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 40 11 Referential Object Sharing Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 41 11 Class Hierarchy Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 42 11 Employee Object Representation Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 43 11 Class Hierarchy for the EDLP Retail Corporation Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 44 11 Representing a 1:M Relationship Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 45 11 Representing 1:1 and 1:M Relationships Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 46 11 Employee-Dependent Relationship Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 47 11 Representing the M:N Relationship Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 48 11 Representing the M:N Relationship with Associated Attributes Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 49 11 Representing the M:N Relationship with Intersection Class Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 50 11 Object Space Representation Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 51 11 Late and Early Binding: Use and Importance • Late binding: – Data type of an attribute is not known until execution time or runtime – Two different object instances of the same class can contain values of different data types for the same attribute • Early binding: – Allows database to check data type for each of the attribute’s values at compilation or definition time Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 52 11 INVENTORY Table with Predetermined (Base) Data Types Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 53 11 Inventory Class with Early Binding Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 54 11 OODM Inventory Class with Late Binding Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 55 11 Support for Versioning • Allows users to track history of changes in state of an object • If the changes do not yield expected results, they can be undone and the component restored to its original state • Reason OODBMS is such a strong player in the CAD and computer-aided manufacturing (CAM) arenas Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 56 11 OODM and Previous Data Models: Similarities and Differences • OODM object resembles entity and tuple in the ER and relational models but has additional characteristics • Class • Hierarchies • Encapsulation • Object ID (OID) not supported • Relationships • OODM produces a schema in which relations form part of the structure of the database Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 57 11 An Invoice Representation Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 58 11 Object Oriented Database Management Systems • Integrate benefits of typical database systems with the more powerful modeling and computational (programming) characteristics of the object oriented data model • Used to develop complex systems Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 59 11 Object Oriented Database Management Systems • Result of combining OO features, such as – class inheritance – encapsulation, and – polymorphism, • With database features such as – – – – – – data integrity, security, persistence, transaction management, concurrency control, backup, -- data manipulation, -- system tuning and -- recovery Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 60 11 Object Oriented Database Management Systems Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 61 11 The Thirteen OODBMS Rules Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 62 11 How Object Orientation Affects Database Design • Relational and ER models sometimes cannot adequately represent some objects • Operations are not a part of the database model • Object oriented design requires the database description to include objects and their data representation, constraints, and operations • Few computerized OODB design tools exist • Lack of standards affects object oriented database design Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 63 11 OODBMS: Advantages and Disadvantages • OODBMS occupies a strong niche market • Vehicle for technological innovation • Has not been the beneficiary of market share growth Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 64 11 How OO Concepts Have Influenced the Relational Model • RDBMS is beginning to reach its limits in a business data environment that is changing with the advent of mixed-media data storage and retrieval Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 65 11 How OO Concepts Have Influenced the Relational Model • Extended relational model (ERM), or object/relational model (O/RM) – Extensibility of new user-defined (abstract) data types – Complex objects – Inheritance – Procedure calls (rules or triggers) – System-generated identifiers (OID surrogates) Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 66 11 The Next Generation of Database Management Systems • Likely to incorporate features borrowed from object oriented database systems, artificial intelligence systems, expert systems, distributed databases, and the Internet • Enable future DBMSs to handle more complex problems with both normalized and nonnormalized data • OODBMS will probably continue to occupy a niche within the database market Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 67 11 Summary • Object oriented concepts are derived from OO programming languages • An object is a conceptual representation of a real-world entity • Similar objects are grouped in classes • Classes are organized into a class hierarchy • Abstract data types are implemented through classes • The OO data model allows the designer to create a more authentic representation of real-world objects Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 68 11 Summary (continued) • OODBMSs combine OO features with database features • OODBMSs yield several benefits over conventional DBMSs – – – – – more semantic information in the database support for complex objects better performance in complex applications reusability of classes extensibility of the data types supported by the database Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 69