11 Object oriented DB (not in book) 1 11 Learning objectives: • 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 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 3 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 4 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 5 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 6 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 7 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 8 11 Real-World Student Objects Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 9 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 10 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 11 11 Object Attributes Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 12 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 13 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 14 11 Method Components Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 15 11 Objects Send Messages to Each Other Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 16 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 17 11 Class Illustration Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 18 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 19 11 Public and Private Aspects of an Object Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 20 11 Musical Instruments Class Hierarchy Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 21 11 Single Inheritance Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 22 11 Multiple Inheritance Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 23 11 Employee Class Hierarchy Method Override Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 24 11 Employee Class Hierarchy Polymorphism Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 25 11 Object Classification • Simple object Only single value attributes • Composite object Contains at least one multi-value attributes and no attributes that refer to other objects; ex: MOVIE • Compound object : Contains attribute that refer to other objects. Ex: Advisor • Associative object: represents relationship between two or more objects: ex: enrollment Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 26 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 27 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 28 11 Comparing the OO and ER Model Components Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 29 11 Shared Representation for All Objects of the Class Person Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 30 11 State of a Person Object Instance Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 31 11 Referential Object Sharing Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 32 11 Class Hierarchy Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 33 11 Employee Object Representation Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 34 11 Representing a 1:M Relationship Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 35 11 Representing 1:1 and 1:M Relationships Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 36 11 Employee-Dependent Relationship Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 37 11 Representing the M:N Relationship Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 38 11 Representing the M:N Relationship with Associated Attributes Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 39 11 Representing the M:N Relationship with Intersection Class Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 40 11 Object Space Representation Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 41 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 42 11 INVENTORY Table with Predetermined (Base) Data Types Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 43 11 Inventory Class with Early Binding Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 44 11 OODM Inventory Class with Late Binding Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 45 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 46 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 47 11 An Invoice Representation Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 48 11 Assume the following business rules: • A course contains many Sections, but each Section references only one course. • A Section is taught by one professor, but each professor may teach one or more different Sections of one or more courses. • A Section may contain many students, and each student may be enrolled in many Sections. • A Section may contain many students, and each student is enrolled in many Sections, but each Section belongs to a different course. (Students may take many courses, but they cannot take many Sections of the same course!) • Each Section is taught in one room, but each room may be used to teach different Sections of one or more courses. • A professor advises many students, but a student has only one advisor. Based on these business rules: • a. Identify and describe the main classes of objects. • B. Draw the object oriented diagram Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 49 11 • See figure p3.8 on 7/p95 • Draw object oriented diagram for it Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 50 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 51 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 52 11 Object Oriented Database Management Systems Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel 53 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 54 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 55