Post on 14-Jan-2016
description
11
1
Object oriented DB (not in book)
Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel
11
2
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, 6 th Edition, Rob & Coronel
11
3
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, 6 th Edition, Rob & Coronel
11
4
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, 6 th Edition, Rob & Coronel
11
5
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, 6 th Edition, Rob & Coronel
11
6
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, 6 th Edition, Rob & Coronel
11
7
Object Oriented Concepts
• Have their roots in programming languages
• No knowledge of programming is necessary to understand these concepts
Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel
11
8
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, 6 th Edition, Rob & Coronel
11
9
Real-World Student Objects
Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel
11
10
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, 6 th Edition, Rob & Coronel
11
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, 6 th Edition, Rob & Coronel
11
12
Object Attributes
Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel
11
13
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, 6 th Edition, Rob & Coronel
11
14
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, 6 th Edition, Rob & Coronel
11
15
Method Components
Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel
11
16
Objects Send Messages to Each Other
Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel
11
17
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, 6 th Edition, Rob & Coronel
11
18
Class Illustration
Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel
11
19
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, 6 th Edition, Rob & Coronel
11
20
Public and Private Aspects of an Object
Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel
11
21
Musical Instruments Class Hierarchy
Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel
11
22
Single Inheritance
Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel
11
23
Multiple Inheritance
Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel
11
24
Employee Class Hierarchy Method Override
Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel
11
25
Employee Class Hierarchy Polymorphism
Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel
11
26
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, 6 th Edition, Rob & Coronel
11
27
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, 6 th Edition, Rob & Coronel
11
28
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, 6 th Edition, Rob & Coronel
11
29
Comparing the OO and ER Model Components
Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel
11
30
Shared Representation for All Objects of the Class Person
Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel
11
31
State of a Person Object Instance
Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel
11
32
Referential Object Sharing
Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel
11
33
Class Hierarchy
Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel
11
34
Employee Object Representation
Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel
11
35
Representing a 1:M Relationship
Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel
11
36
Representing 1:1 and 1:M Relationships
Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel
11
37
Employee-Dependent Relationship
Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel
11
38
Representing the M:N Relationship
Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel
11
39
Representing the M:N Relationship with Associated Attributes
Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel
11
40
Representing the M:N Relationship with Intersection Class
Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel
11
41
Object Space Representation
Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel
11
42
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, 6 th Edition, Rob & Coronel
11
43
INVENTORY Table with Predetermined (Base) Data Types
Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel
11
44
Inventory Class with Early Binding
Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel
11
45
OODM Inventory Class with Late Binding
Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel
11
46
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, 6 th Edition, Rob & Coronel
11
47
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, 6 th Edition, Rob & Coronel
11
48
An Invoice Representation
Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel
11
49
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, 6 th Edition, Rob & Coronel
11
50
• See figure p3.8 on 7/p95 • Draw object oriented diagram for it
Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel
11
51
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, 6 th Edition, Rob & Coronel
11
52
Object Oriented Database Management Systems
• Result of combining OO features, such as– class inheritance– encapsulation, and
– polymorphism, • With database features such as
– data integrity, -- data manipulation,– security, -- system tuning and– persistence, -- recovery– transaction management, – concurrency control, – backup,
Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel
11
53
Object Oriented Database Management Systems
Database Systems: Design, Implementation, & Management, 6 th Edition, Rob & Coronel
11
54
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, 6 th Edition, Rob & Coronel
11
55
OODBMS:Advantages and Disadvantages
• OODBMS occupies a strong niche market
• Vehicle for technological innovation
• Has not been the beneficiary of market share growth