Download Object-Oriented Database Management Systems: An Overview and more Lecture notes Database Programming in PDF only on Docsity!
Advanced Database Systems
Slides By: Habitamu A.
CHAPTER-ONE
Overview of object-oriented DBMS concepts
● Agendas
○ Overview of object-oriented concepts
○ Object identity
○ Object Structure
○ Type constructors
○ Encapsulation of operations
○ OO Methods and persistence
● An object has two components
○ State (values)
○ Behaviors (operations)
● The main goal of OO database is to maintain a direct
correspondence between real-world and database objects
○ So that objects don't lose integrity and identity and can easily be
identified and operated upon.
○ OO database provides unique system generated identifier called (OID)
○ It might has an object structure of arbitrary complexity to represent
the characteristics of an object
○ In relational data model this can lose direct correspondence, since it
needs extra tables/records.
Cont’d Overview of object-oriented concepts
Object identity, Object Structure, and Type constructors
Basic database structuring frames
● Object identity
● Object structure
● Type constructor
Cont’d Object identity, Object Structure, and Type constructors
Cont’d Object identity, Object Structure, and Type constructors
● Object structure
○ The difference between set and bag is that all elements in a
set must be distinct
○ The state of object that is not atom will refer to other
objects by their object identifiers.
○ The type constructor set, list, array, and bag are called
collection types ( or bulk types)- to distinguish from basic
types and tuple types
○ Ordered collection types: list, or array array
○ Unordered collection types: set, or bag
Encapsulation
● Encapsulation is related to the concepts of abstract data types and
information hiding in programming languages.
● Encapsulation is a mechanism of binding data with functions.
Encapsulation of Operations
● The concepts of encapsulation is applied to database objects in ODBs by
defining the behavior of a type of object based on the operations that can
be externally applied to objects of that type. Some operations may be used
to create (insert) or destroy (delete) The external users of the object are
only made aware of the interface of the operations, which defines the name
and arguments (parameters) of each operation. The implementation is hidden
from the external users.
Encapsulation of operations, methods and persistence
Encapsulation of Operations
● For database applications, the requirement that all objects be completely
encapsulated is too stringent.
● One way to relax this requirement is to divide the structure of an object into visible
and hidden attributes (instance variables).
● Visible attributes can be seen by and are directly accessible to the database users
and programmers via the query language.
● The hidden attributes of an object are completely encapsulated and can be accessed
only through predefined operations.
● Most ODMSs employ high-level query languages for accessing visible attributes.
Encapsulation of operations, methods and persistence
● Persistence
○ The OOPL is used to specify the method (operation)
implementations as well as other application code. Not all
objects are meant to be stored permanently in the
database.
○ Transient objects exist in the executing program and
disappear once the program terminates.
○ Persistent objects are stored in the database and persist
after program termination.
○ The typical mechanisms for making an object persistent are
naming and reachability.
Encapsulation of operations, methods and persistence
● Persistence
○ The naming mechanism involves giving an object a unique
persistent name within a particular database.
○ This persistence object name can be given via a specific
statement or operation in the program The named persistent
objects are used as entry points to the database through which
users and applications can start their database access.
○ It is not practical to give name to all object in large database in
thousands of objects so, some objects are made persistence
using second mechanism called reachability
Encapsulation of operations, methods and persistence
Encapsulation of operations, methods and persistence