Nguyen, Yen P

Download Report

Transcript Nguyen, Yen P



Definition
Object-Oriented Concept
• Object
• Class & Encapsulation
• Inheritance & Polymorphism



Advantages & Disadvantage
Example
Conclusion
The combination of “object-oriented
programming principles” with “database
management principles”
 Not a new concept, it started in the mid1970s
 Some ODBMS are multimedia databases
that include graphics, audio,

information and animation.

Database that stores data elements as
objects. Uses object-oriented concepts.
› Object - an instance of a data type

Typical Applications for ODBMS
› Computer-aided design (CAD)
› Computer-aided software engineering
(CASE)
› Multimedia databases (video, image,
game, etc.)
› Office automation system (OIS)
› Expert database system

ODBMS
› Application and data use the same OO model
› Uses persistent programming languages
Application
ODB
 Directly manipulate persistent data in a database
 Persistent data exists after the program terminates
 No translation from database to application programming is
needed

RDBMS- extended to use OO concepts
› Database is relational
› Programming language is OO
Application
Translation
RDB

An entity
contains
1) Attributes-
atomic or
structured type
2) Relationshipsreference to an
object or set of
such objects
3) Methodsbehavior of the
object
Student
SID: double
Variables
Name:String
Major:String
Schedule:String
…
getSID()
Methods
getName()
setName()
…
Relationships

Encapsulation- hide the abstract data type internal
(user only need to know the available method & how to
call them)
 Polymorphism- a property that allows methods in
different classes to respond to the same message
signature. (dynamic binding, etc..)
 Inheritance- a class can inherit the characteristics of
anther class. The original class is called base class or
super and the new class is called derived class or
subclass


Multiple inheritance- inherit from more than one superclass
Selective inheritance- inherit only some of the properties of
a superclass
ODBMS
RDBMS
Unique identification of objects is
done behind the scenes (invisible to
user)
User has to worry about two tuples
have the same primary key values to
avoid error conditions
Data model is used to model entities
and their relationships, constraints
and operations can dynamically
change the states of the data in the
system
ER diagram is used model the static
parts of system and separate model
for the operations and behaviors of
entities in the application
Query language is unnecessary for
accessing data (still possible to use
queries)
Query language is necessary for
accessing data
Manage complex data more
efficiently (large class can hold many
medium classes which themselves
hold many smaller classes) Object
model the real world better than the
relational tuples
Manage complex data inefficiently
(has lots of smaller tables and join
them via foreign keys, which is still a
problem since query database on
“Has-a” relationship between
entities)

Still under-construction
› Lack of standards
› Lack of development tools
› Lack of support for views
› Lack of support for security
More complicated than RDBMS  takes
longer to learn
 Inefficient when managing simple data
and relations

Popular query language that has the
similar syntax SQL
 An extension of SQL, it has select, from,
and where clauses
 The extensions are accommodate the
properties of objects and the operators
on complex objects


Example of accessing
data in ODMB using
ODMG & OQL
1) OJB.getInstance() returns a
2)
3)
4)
5)
6)
7)
org.odmg.Implementation
instance
Create a new Database
Instance
Opens an ODMB Database
(read-only or write-only mode)
Create a query instance
Specify the query statement
Execute the query
A list of results is returned



ODBMS can store, manage and maintain multimedia
& business object, that can be done required less
code, reuse code, easy to maintain.
ODBMS manage the complex of interrelationships
between objects more efficiently than RDBMS
Although there are many advantages of ODBMS but
there are also problems:
What is wrong with ODBMS?
›
›
›
›
Vendors don’t support ODBMS standard
Only 1 vendor is currently supporting OQL
Difficult to perform ad hoc queries
Relationships among objects use object identifiers and
must be explicitly designed
QUESTION???
THE END…