OODBMS

advertisement
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
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
2
Key Issues:
Data Modeling (Design)
Object
Object Diagram
State
Behavior
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
3
Key Issues:
Associations (Relationships)
Relates instances of object classes
Similar degrees of association
(unary, binary, ternary, etc)
Association Roles
Multiplicity
Association Class
Brian, Ann, David, Duane, Jeffrey
Group #8 - OODBs
4
Key Issues:
Generalization / Inheritance
Generalizations
Abstract the operations as well as attributes
Inheritance
Abstract Classes
Concrete Classes
Multiple Classification
Brian, Ann, David, Duane, Jeffrey
Group #8 - OODBs
5
Key Issues:
Special topics in Inheritance
Polymorphism
Applying the same operation in different ways.
Overriding
Replacing a method inherited from a super class
by more specific implementation
Brian, Ann, David, Duane, Jeffrey
Group #8 - OODBs
6
Objects in OODBs
Object: An entity that has a well-defined role in the
application domain as well as state, behavior, and
identity.
State : Encompasses an object's properties (attributes and
relationships) and the values those properties have.
Behavior : Represents how an object acts and reacts.
Identity : Every object has a unique identity, even if all of its
attribute values are the same.
Brian, Ann, David, Duane, Jeffrey
Group #8 - OODBs
7
How can we understand OODBs by comparing
it to what we already know about Databases?
ER/EER
Entity Type
Object-Oriented
Class
A collection of
entities that share
common
properties or
characteristics.
Brian, Ann, David, Duane, Jeffrey
A class is a type and a
collection of objects of that
type.
classes group objects with
methods or operations.
Group #8 - OODBs
8
How can we understand OODBs by comparing
it to what we already know about Databases?
ER/EER
Entity instance
Object-Oriented
Object
An entity that has a welldefined role in the application
domain as well as state,
behavior, and identity.
A single
occurrence of an
entity type.
Objects inherit
characteristics and abilities
as a result of their
membership in a class.
Brian, Ann, David, Duane, Jeffrey
Group #8 - OODBs
9
How can we understand OODBs by comparing
it to what we already know about Databases?
ER/EER
Relationship
Object-Oriented
Association
A named twodimensional table
of data.
Brian, Ann, David, Duane, Jeffrey
A relationship between
object classes.
Group #8 - OODBs
10
How can we understand OODBs by comparing
it to what we already know about Databases?
ER/EER
Object-Oriented
Inheritance of attributes
same
Brian, Ann, David, Duane, Jeffrey
Inheritance of attributes
same
Group #8 - OODBs
11
The Difference between an
Object and an Entity
The difference is that an Object exhibits
BEHAVIOR as well as attributes.
Behavior : how an object acts and reacts.
Behavior is expressed through operations that
can be performed on it.
Operation : A function or a service that is provided
by all the instances of a class.
Brian, Ann, David, Duane, Jeffrey
Group #8 - OODBs
12
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 aggregation,
while the ER and EER models do not.
Aggregation : 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
13
How do we model an
object-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
14
Object-Oriented Data Modeling
Class diagram
Shows the static structure of an objectoriented 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 Diagram
A set of objects that share a common
structure and a common behavior.
Brian, Ann, David, Duane, Jeffrey
Group #8 - OODBs
15
Object-Oriented Data Modeling
Four generic types of operations:
Constructors 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.
Queries are read-only operations that
access the current state of an object.
Update operations change the state of
an object, like register-for(course).
Scope 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
16
Object-Oriented Data Modeling
Aggregation
Brian, Ann, David, Duane, Jeffrey
Group #8 - OODBs
17
Object-Oriented Data Modeling
Generalizations, Inheritance, and Constraints
An employee
may be none
of them.
Shared
attributes and
operations
Specialized attributes and operations
Brian, Ann, David, Duane, Jeffrey
Group #8 - OODBs
18
Object-Oriented Data Modeling
Polymorphism, abstract operation, class-scope
attribute, and ordering
This operation is
abstract…it has no method
at Student level
Class-scope
attributes – only one
value common to all
instances of these
classes
Brian, Ann, David, Duane, Jeffrey
Group #8 - OODBs
19
Future of OODBS
Object-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
20
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
21
OO’s Advantages & Disadvantages
It’s not hard to see why many are encouraged
by the bright future and potential of the ObjectOriented 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
22
Problems and Disadvantages
Relational 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
23
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
24
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
25
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
26
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
27
Supplemental Study Guide
http://www.geocities.com/ann_6cats/cgs2545chapter14.htm#A
Brian, Ann, David, Duane, Jeffrey
Group #8 - OODBs
28
References
Modern 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
Brian, Ann, David, Duane, Jeffrey
Group #8 - OODBs
29
Download