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
0
You can add this document to your study collection(s)
Sign in Available only to authorized usersYou can add this document to your saved list
Sign in Available only to authorized users(For complaints, use another form )