Object oriented DB (not in book)
E N D
Presentation Transcript
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
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
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
The Evolution of Object Oriented Concepts (continued) • Object oriented programming languageswere 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
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
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
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
Real-World Student Objects Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
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
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
Object Attributes Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
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
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
Method Components Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
Objects Send Messages to Each Other Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
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
Class Illustration Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
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
Public and Private Aspects of an Object Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
Musical Instruments Class Hierarchy Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
Single Inheritance Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
Multiple Inheritance Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
Employee Class Hierarchy Method Override Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
Employee Class Hierarchy Polymorphism Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
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
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
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
Comparing the OO and ER Model Components Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
Shared Representation for All Objects of the Class Person Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
State of a Person Object Instance Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
Referential Object Sharing Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
Class Hierarchy Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
Employee Object Representation Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
Representing a 1:M Relationship Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
Representing 1:1 and 1:M Relationships Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
Employee-Dependent Relationship Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
Representing the M:N Relationship Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
Representing the M:N Relationship with Associated Attributes Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
Representing the M:N Relationship with Intersection Class Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
Object Space Representation Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
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
INVENTORY Table with Predetermined (Base) Data Types Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
Inventory Class with Early Binding Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
OODM Inventory Class with Late Binding Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
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
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
An Invoice Representation Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel
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
See figure p3.8 on 7/p95 • Draw object oriented diagram for it Database Systems: Design, Implementation, & Management, 6th Edition, Rob & Coronel