560 likes | 694 Views
Object oriented DB (not in book). 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
E N D
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