object oriented db (not in book)

Post on 14-Jan-2016

29 Views

Category:

Documents

3 Downloads

Preview:

Click to see full reader

DESCRIPTION

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 - PowerPoint PPT Presentation

TRANSCRIPT

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

top related