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
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.
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
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
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
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
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.
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.
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.
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.
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
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.
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.
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.
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.
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.
Brian, Ann, David, Duane, Jeffrey
Group #8 - OODBs 17
Object-Oriented Data ModelingAggregation
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.
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
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.
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.
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.
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.
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.
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.
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.
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.
Brian, Ann, David, Duane, Jeffrey
Group #8 - OODBs 28
Supplemental Study Guide
http://www.geocities.com/ann_6cats/cgs2545chapter14.htm#A
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