object - oriented databases group # 8

29
Object - Oriented Databases Group # 8 Brian Williams – Overview & Key Issues S. Ann Meadows – OO vs. ER/EER David Martin – OO Data Modeling with UML Duane Michaud – Advantages/Disadvantages Jeffrey Mersch – Real life applications

Upload: spencer

Post on 12-Jan-2016

42 views

Category:

Documents


3 download

DESCRIPTION

Object - Oriented Databases Group # 8. Brian Williams – Overview & Key Issues S. Ann Meadows – OO vs. ER/EER David Martin – OO Data Modeling with UML Duane Michaud – Advantages/Disadvantages Jeffrey Mersch – Real life applications. Overview of topics to cover. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Object - Oriented Databases Group # 8

Object - Oriented DatabasesGroup # 8

Brian Williams – Overview & Key IssuesS. Ann Meadows – OO vs. ER/EER

David Martin – OO Data Modeling with UMLDuane Michaud – Advantages/Disadvantages

Jeffrey Mersch – Real life applications

Page 2: Object - Oriented Databases Group # 8

Brian, Ann, David, Duane, Jeffrey

Group #8 - OODBs 2

Overview of topics to cover

Object-Oriented databases and database modeling seeks to interpret and implement database management in a more natural context.

Seeking to representing data, along with processes, within a real world implementation, OODBs present data modeling as high-level conceptual activity.

Page 3: Object - Oriented Databases Group # 8

Brian, Ann, David, Duane, Jeffrey

Group #8 - OODBs 3

Key Issues:Data Modeling (Design)

ObjectObject Diagram

StateBehavior

The object contains the operations it can perform on itself or others

Class (Object Class)Class Diagram

Page 4: Object - Oriented Databases Group # 8

Brian, Ann, David, Duane, Jeffrey

Group #8 - OODBs 4

Key Issues:

Associations (Relationships)Relates instances of object classes

Similar degrees of association

(unary, binary, ternary, etc)

Association RolesMultiplicity

Association Class

Page 5: Object - Oriented Databases Group # 8

Brian, Ann, David, Duane, Jeffrey

Group #8 - OODBs 5

Key Issues:

Generalization / InheritanceGeneralizations

Abstract the operations as well as attributes

InheritanceAbstract Classes

Concrete Classes

Multiple Classification

Page 6: Object - Oriented Databases Group # 8

Brian, Ann, David, Duane, Jeffrey

Group #8 - OODBs 6

Key Issues:

Special topics in InheritancePolymorphism

Applying the same operation in different ways.

OverridingReplacing a method inherited from a super class by more specific implementation

Page 7: Object - Oriented Databases Group # 8

Brian, Ann, David, Duane, Jeffrey

Group #8 - OODBs 7

Objects in OODBsObject: An entity that has a well-defined role in the application domain as well as statestate, behaviorbehavior, and

identityidentity.

StateState : Encompasses an object's properties (attributes and relationships) and the values those properties have. 

BehaviorBehavior : Represents how an object acts and reacts.

IdentityIdentity : Every object has a unique identity, even if all of its attribute values are the same.

Page 8: Object - Oriented Databases Group # 8

Brian, Ann, David, Duane, Jeffrey

Group #8 - OODBs 8

How can we understand OODBs by comparing it to what we already know about Databases?

Object-Oriented

Class

A class is a type and a collection of objects of that type.

classes group objects with methods or operations.

ER/EER

Entity Type

A collection of entities that share common properties or characteristics.

Page 9: Object - Oriented Databases Group # 8

Brian, Ann, David, Duane, Jeffrey

Group #8 - OODBs 9

How can we understand OODBs by comparing it to what we already know about Databases?

Object-Oriented

ObjectAn entity that has a well-defined role in the application domain as well as state,

behavior, and identity.

Objects inherit characteristics and abilities as a result of their membership in a class.

ER/EER

Entity instance

A single occurrence of an entity type.

Page 10: Object - Oriented Databases Group # 8

Brian, Ann, David, Duane, Jeffrey

Group #8 - OODBs 10

How can we understand OODBs by comparing it to what we already know about Databases?

Object-Oriented

Association

A relationship between object classes.

ER/EER

Relationship

A named two-dimensional table of data.

Page 11: Object - Oriented Databases Group # 8

Brian, Ann, David, Duane, Jeffrey

Group #8 - OODBs 11

How can we understand OODBs by comparing it to what we already know about Databases?

Object-Oriented

Inheritance of attributes

same

ER/EER

Inheritance of attributes

same

Page 12: Object - Oriented Databases Group # 8

Brian, Ann, David, Duane, Jeffrey

Group #8 - OODBs 12

The Difference between an Object and an Entity

The difference is that an Object exhibits BEHAVIORBEHAVIOR as well as attributes.

BehaviorBehavior : how an object acts and reacts.

BehaviorBehavior is expressed through operationsoperations that can be performed on it.

OperationOperation : A function or a service that is provided by all the instances of a class.

Page 13: Object - Oriented Databases Group # 8

Brian, Ann, David, Duane, Jeffrey

Group #8 - OODBs 13

How is the object-oriented model different from the ER and EER models?

Unlike the object-oriented model, the ER and EER models do not let you capture processes; they only allow you to model the data needs of an organization.

The object-oriented model also supports aggregationaggregation, while the ER and EER models do not.

AggregationAggregation : The process of transforming data from a detailed to a summary level.  A part-of relationship between a component object and an aggregate object. 

Page 14: Object - Oriented Databases Group # 8

Brian, Ann, David, Duane, Jeffrey

Group #8 - OODBs 14

How do we model anobject-oriented database?

Unified Modeling Language (UML)"a language for specifying, visualizing, and constructing the artifacts of software systems, as well as for business modeling" (UML Document Set, 1997)

UML is much more than an object oriented version of EER diagrams. UML is designed to represent complex systems. Database systems are usually part of an overall system.

UML notation is useful for graphically depicting an object-oriented database.

Page 15: Object - Oriented Databases Group # 8

Brian, Ann, David, Duane, Jeffrey

Group #8 - OODBs 15

Object-Oriented Data ModelingClass diagramClass diagram

Shows the static structure of an object-oriented model. It is divided into three parts and shows the class name at the top, common attributes in the middle, and common behavior at the bottom.

Object DiagramObject DiagramA set of objects that share a common structure and a common behavior.

Page 16: Object - Oriented Databases Group # 8

Brian, Ann, David, Duane, Jeffrey

Group #8 - OODBs 16

Object-Oriented Data ModelingFour generic types of operations:

ConstructorsConstructors create new instances of a class. For example there might be a create-student operation in the Student class that creates a new student object.

QueriesQueries are read-only operations that access the current state of an object.

UpdateUpdate operations change the state of an object, like register-for(course).

ScopeScope operations apply to a class rather than an object instance. For example, avg_gpa could calculate the average gpa for all student objects.

Page 17: Object - Oriented Databases Group # 8

Brian, Ann, David, Duane, Jeffrey

Group #8 - OODBs 17

Object-Oriented Data ModelingAggregation

Page 18: Object - Oriented Databases Group # 8

Brian, Ann, David, Duane, Jeffrey

Group #8 - OODBs 18

Object-Oriented Data ModelingGeneralizations, Inheritance, and Constraints

Shared attributes and operations

Specialized attributes and operations

An employee may be none of them.

Page 19: Object - Oriented Databases Group # 8

Brian, Ann, David, Duane, Jeffrey

Group #8 - OODBs 19

Object-Oriented Data ModelingPolymorphism, abstract operation, class-scope

attribute, and ordering

Class-scope attributes – only one value common to all instances of these classes

This operation is abstract…it has no method at Student level

Page 20: Object - Oriented Databases Group # 8

Brian, Ann, David, Duane, Jeffrey

Group #8 - OODBs 20

Future of OODBSObject-Oriented Databases were speculated one day to replace most Relational Database Management systems.

While they are not there yet, Michael Stonebraker of Informix predicts that OODBMS’s will corner the market within 5 years.

Let’s take a look at why OO database management is predicted by many to overtake the traditional relational database management.

Page 21: Object - Oriented Databases Group # 8

Brian, Ann, David, Duane, Jeffrey

Group #8 - OODBs 21

Advantages of OODBMS

Designers have added object oriented capabilities to the RDBMS model.

OODBMS’s are better equipped to handle multimedia in an internet environment.

OODBMS’s feature a compatibility with intranet settings, which have experienced a rise in the last few years. (RDBMS systems historically have operated mostly on client-server networks)

OODBMS’s are very useful for CAD (computer aided design) and telecommunications.

Page 22: Object - Oriented Databases Group # 8

Brian, Ann, David, Duane, Jeffrey

Group #8 - OODBs 22

OO’s Advantages & Disadvantages

It’s not hard to see why many are encouraged by the bright future and potential of the Object-Oriented Database management system model. However, there have been some issues that have prevented it from achieving the early success that many had foreseen. Let’s have a look at some unresolved issues that worry some

database users.

Page 23: Object - Oriented Databases Group # 8

Brian, Ann, David, Duane, Jeffrey

Group #8 - OODBs 23

Problems and DisadvantagesRelational Database supporters have developed and can use the Object-relational database management system that implements OO concepts as well to enable it to handle myriad types of data.

In many situations, Relational databases outperform OO databases in data retrieval by implementing optimizers.

A lack of standardization has plagued the relatively new OODBMS model. While every RDBMS adheres to the SQL standards, some OODBMS developed the OQL (object query language) but relatively few adhere to it.

Perhaps the biggest disadvantage is the lack of financial incentive for many companies and clients to change to the OODBMS. Though it often outperforms it’s ancestor the RDBMS, many companies are not yet ready to dump their old systems. The OODBMS finds most of it’s usage in newer “niche” marketplaces.

Page 24: Object - Oriented Databases Group # 8

Brian, Ann, David, Duane, Jeffrey

Group #8 - OODBs 24

Object Oriented Database Use Today

Rational databases are still by far the most widely used databases.

Object-relational database-management systems are gaining in popularity and are expected to outsell even relational databases by 2003.

Object oriented databases are still minor players with solid markets.

Object oriented databases are used in areas like CAD (computer-aided design) and telecommunications.

Page 25: Object - Oriented Databases Group # 8

Brian, Ann, David, Duane, Jeffrey

Group #8 - OODBs 25

Object Oriented Database Use Today

Companies in London like J. P. Morgan, Chase [Manhattan], and Citibank are using ODBMS technologies in modeling financial instruments such as derivatives and bonds.

Object oriented provides mechanisms such as inheritance for modeling new instruments quickly and easily, which helps companies get products to market quickly.

British Telecommunications (BT) uses the Versant ODBMS.

Radio Computing Services is the world’s largest radio software company uses the POET ODBMS because it integrates and organize various elements, regardless of data types, in a single program environment.

Page 26: Object - Oriented Databases Group # 8

Brian, Ann, David, Duane, Jeffrey

Group #8 - OODBs 26

Object Oriented Database Use Today

The Objectivity/DB ODBMS is used by Stanford Linear Accelerator Center.

The Object Store ODBMS is used in Southwest Airline’s Home Gate to provide self service to travelers through the Internet.

West McLaren Mercedes, developer of the MP4/13 Formula One racing car, is using Computer Associates’ Jasmine ODBMS to enable its engineers to effectively monitor and track its Formula One car’s performance.

Page 27: Object - Oriented Databases Group # 8

Brian, Ann, David, Duane, Jeffrey

Group #8 - OODBs 27

TEST QUESTIONS

In OODBS, what is a class?  It is a class is a type and a collection of objects of that type.

In OODBS, what is an object? An object is an entity that has a well-defined role in the application domain as well as state, behavior, and identity.

Page 28: Object - Oriented Databases Group # 8

Brian, Ann, David, Duane, Jeffrey

Group #8 - OODBs 28

Supplemental Study Guide

http://www.geocities.com/ann_6cats/cgs2545chapter14.htm#A

Page 29: Object - Oriented Databases Group # 8

Brian, Ann, David, Duane, Jeffrey

Group #8 - OODBs 29

ReferencesModern Databases Management 6th Edition

http://lwi2.wiwi.uni-frankfurt.de/praxis/vortraege/21_12_2000/Oodbs.pdf

http://www.clis2.umd.edu/courses/208b/spring00/208s0012.ppt

http://myphlip1.pearsoncmg.com/phlip/mpchapter.cfm?vbcid=4202&vsubmit=Go

http://www.leavcom.com (Leavitt Communications)

http://www.leavcom.com/db_08_00.htm

http://www.service-architecture.com/object-oriented-databases