Please enable JavaScript.
Coggle requires JavaScript to display documents.
Object-Oriented Data Bases - Coggle Diagram
Object-Oriented Data Bases
Motivation for Object Database Management
certain scenarios
CAD (computer-aided design) systems
Multimedia systems and CASE tools
Geographic information systems (GIS)
Document storage and retrieval systems
datatypes
images
audio
video
maps
three-dimensional graphics
The ability to store and manipulate complex data
the need to store large amounts of complex data
integrate complex data with simple data drives
Object-oriented methodologies (OOM)
encapsulation, polymorphism and complexity hiding, code reusability
Object Technology (OT)
Overview of Object-Oriented Database Management Systems
concepts hold
an object type
a concept
an object
an instance of an object type
an operation
a set of actions
a method
the way an operation is to be performed
encapsulation
the packaging of data structure
inheritance
a subclass may inherit properties
polymorphism
is the phenomenon where a given object or operation may take on a different form
object-oriented DBMS (OODBMS)
Architectures for Object Database Management
object-oriented databases
complete approaches
significant rewrites of DBMSs
to accommodate objects
a variety of approaches
different requirements among customers
strengths and weaknesses
Large Objects and External Software
Complex data are stored in a column as a binary or text large object
BLOB data type
CLOB data type
ActiveX controls, Java applets, and Web browser plugins.
simple to implement and is universal
small changes to a DBMS are required
All kinds of complex data
no optimization is possible
cannot be filtered using characteristics of large objects
No indexes can be used
stored separately from other data
order of the large objects may not coincide with the order of other table data
Specialized Media Servers
complex data reside outside of a DBMS
separate server may be dedicated to manipulating a single kind of complex data
programming interface (API)
a set of procedures to retrieve, update, and transform a specific kind of complex data
manipulate simple data and complex data
better performance
sacrifice some flexibility
the range of operations may be limited
perform poorly when combining simple and complex data
DBMS is not aware of complex data
may not provide indexing techniques for search conditions
Transaction processing is limited
do not typically support transaction processing
Object Database Middleware
circumvents problems with media servers
simulating object features
send SQL statements to middleware
API calls
statements can combine traditional operations with specialized operations
relieves the user of knowing a separate API
provides location independence
provides a way to integrate complex data stored on PCs
remote servers with relational databases
could not be combined easily with simple data
can be used for complex data that users do not want to store in a database
suffer performance problems
a lack of integration with a DBMS
cannot optimize requests
transaction performance can be slow
two-phase commit
distributed concurrency control techniques
Object Relational Database Management Systems for User-Defined Types
To provide additional query capabilities, object-relational DBMSs support user-defined types
user-defined type
Image data, spatial data, time series, and video
the ability to extend the prebuilt types
to create new user-defined types
a collection of methods
method functions
Inheritance and polymorphism
specialized storage structures
multidimensional Btrees
the most salient feature
subtable families, arrays, and the reference and row data types
involve a table-driven architecture
table-driven code
decomposes references to expressions
The display manager
The optimizer
storage structures
The relational kernel
buffer management
storage management
comprises transaction processing
object query processor
Object-relational DBMSs
good integration of complex data
reliability may be a concern
considerable changes to the parser
relatively stable
be compromised in the implementations of user-defined functions
storage structures
DBMS vendors, third-party vendors, and in-house developers
Implementation errors
be subject to viruses
Object-Oriented Database Management Systems
support objects
an object definition language (ODL)
an object query language (OQL)
the counterpart of SQL for object-oriented DBMSs
the Object Database Management Group (ODMG)
Object-oriented DBMSs
support for persistent objects
provided ad hoc query, query optimization, and efficient transaction support.