Object-Oriented Database Management Systems: An Overview, Lecture notes of Database Programming

It focuses on transaction process and distributed database management systems

Typology: Lecture notes

2022/2023

Uploaded on 03/01/2023

kal-getachew
kal-getachew 🇪🇹

4 documents

1 / 16

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
Advanced Database Systems
Slides By: Habitamu A.
pf3
pf4
pf5
pf8
pf9
pfa
pfd
pfe
pff

Partial preview of the text

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