OBJECT-ORIENTED DATABASES by g4509244

VIEWS: 60 PAGES: 4

									OBJECT-ORIENTED DATABASES


Motivation

    Inability of standard relational techniques in handling complex data requirements.
    Increase in size of databases and their changing composition – includes graphics, video,
     sound, and text.


New versus Old Database Applications

Common features of “old” applications are

      Uniformity
      Record orientation
      Small data items
      Atomic fields
      Short transactions
      Static conceptual schemas


“New” applications include

      Computer-aided design (CAD)
      Computer-aided software engineering (CASE)
      Multimedia databases
      Office automation systems (OIS)
      Expert database systems

Note: The new applications are now practical because of (a) increase in available main
      memory size, (b) speed up of CPUs, (c) lower cost of hardware, (d) improved
      understanding of database management.


CORE concepts

Object :-    an abstract representation of a real-world entity that has a unique identity,
             embedded properties, and the ability to interact with other objects and itself.

Attributes :- characteristics used to describe objects. Also referred to as instance variables.


                                                 1
When attributes are assigned values at a given time, we say that the object is in a given state at
that time.

Identity :- an external identifier – the Object ID (OID) – maintained for each object. The OID
            is assigned by the system when the object is created, and cannot be changed. This is
            unlike the relational database, for example, where a data value stored within the
            object is used to identify the object.

Methods and messages :- every operation to be performed on an object must be implemented
                        by a method. Methods represent real-world actions such as changing
                        a student’s major, adding a student to a course, etc. Methods
                        represent the object’s behaviour. To invoke a method a message
                        must be sent to the object.

Class :- a group of objects with the same (or similar) attributes and behaviour.

Encapsulation :- the property that the attributes and methods of an object are hidden from the
                 outside world. A published interface is used to access an object’s methods.
                 The objects communicate via messages.

Inheritance :- the property that, when classes are arranged in a hierarchy, each class assumes
               the attributes and methods of its ancestors. For example, class students is the
               ancestor of undergraduates students and postgraduate students.

Polymorphism :- allows different objects to respond to the same message in different ways.

In the object-oriented database model, complex objects are modelled more naturally and easily.


Benefits of Object Orientation

   1. Programming language : -
         Reduces number of lines of code
         Decreases development time
         Enhances code reusability
         Makes code maintenance easier
         Enhances programmer productivity

   2. Graphical User Interface (GUI) :-
       Enhance ability to create easy-to-use interfaces
       Improve system user-friendliness
       Make it easier to define standards

                                                 2
   3. Databases :-
       Support abstract data types (ADTs)
       Support complex objects
       Support multimedia databases

   4. Operating Systems :- enhance system portability, thus improving system’s
      interoperability

   5. Design :- captures more of data model’s semantics and therefore represents real world
      better.


(Current) limitations of OODBMS

   1. Lack of accepted standards.
   2. Lack of development tools – e.g. CASE and 4GLs.
   3. Performance – OODBMS with a large number of users has not yet been properly tested.
   4. Data management facilities are not adequate – e.g. concurrency control, backup &
      recovery.
   5. Lack of proper query languages – retrieving data about one or more objects is not easy
      because of encapsulation.


Advantages of OODBMS

When compared with the relational model, the object-oriented data model has the following
advantages:

   1. Reusability – generic objects may be defined and then reused in numerous applications
      ( e.g. screen objects in Windows : icons, buttons, etc)
   2. Complex data types – can manage complex data such as documents, graphics, images,
      voice messages, etc.
   3. Distributed databases – because of mode of communication between objects, OODBMS
      can support distribution of data across networks more easily.


Traditional versus Object-Oriented DBMSes

    OODBMS objects are an active database component – the object has the ability to
     interact with other objects and with itself. In conventional database systems the object’s
     equivalent serves a passive role.
    OODBMSes are identity-based systems. Relational databases do not provide OID
     support; primary keys lack the permanence of the OID.
                                               3
    Support for ADTs and encapsulation makes OODBMS more appealing for applications
     with complex data or multimedia extensions.
    OODBMSes provide inheritance of attributes and/or methods; relational database
     systems do not. Inheritance increases code and data sharing, thus increasing reusability.
    Traditional DBMSes excel in features such as transaction and concurrency control,
     security, persistence, and query capabilities. OODBMSes are more appropriate in an
     environment in which the number of transactions is low and the duration of transactions
     is large – e.g. in CAD, CASE, and engineering applications.


Development of Data Models


Semantics in
Data Model

  least
                                            Hierarchical



                                          Network (CODASYL)




                                           Relational



                                            ERD



                                         Semantic




                       Object-Oriented                     Extended Relational
 most




                                               4

								
To top