Sunday, July 13, 2008

CSC AS I SEE IT NOW 006

“BASIC AND ALTERNATIVE DATABASE MODELS”






Hierarchical

This is a tree structured model for a database. It requires that the application knows about the physical relationships between entities. The structure is rigid. IMS is a hierarchical database.

Network

An extension of the tree into a lattice so that multiple relationships can be supported. The CODASYL standard defines features for network databases. This model is inflexible, requiring significant changes if relationships change. IDMS is a network database.

Relational

This model is based on relational algebra and encompasses the rules developed by Codd. Most of the databases in commercial use now are relational, e.g., Sybase, Oracle, Ingres. The model is flexible and extensible.

Object

Object databases address the need to store more complex data types than are supported by the relational model.

Basic Characteristics of Database Management Systems

Databases are fundamentally a place for storage of data or objects relevant to a business. Database management systems provide storage and facilities for backup and restore as well as query capabilities. Distributed databases pose additional challenges in design. Database management systems provide mechanisms to address the issues in distributing data, however, their implementation and use within a system must be designed.

In general, a database management system must provide the following facilities.
Storage

PERSISTENCE

The fundamental purpose of a database is to provide persistent storage for data or objects.

ODBMS Strategies

The challenge for ODBMS persistent storage is the handling of arbitrarily large objects defined in terms of arbitrary types. Issues of storage management and database sizing arise. Also, the DBMS must handle the issue of an object's identity since this provides an access path to the object.

Identity

One of the key concepts in object-orientation is that an object has an identity. The RDBMS strategy for identification is by the value of some of the attributes, that is, the primary key. An object can be identified by this strategy, but commonly there is an identity independent of the value of attributes. Taken to the most general case, the concept of identity outside of attribute value would mean that the integer, 5, (the instance "5" within the class Integer) would have an identifier in addition to its attribute value of 5. Typically, an ODBMS defines base classes, e.g., Integer, whose instances are identified by their values alone.

Outside of the base classes, objects can be identified by:






Indirection


Objects can be identified by indirection (pointers) through a memory resident table or through an index for objects in secondary storage.

The trade-off between addressing and indirection is that of ease of use and flexibility of object movement versus the overhead in accessing components of objects.

Making an Object Persistent

Since an object is part of a class hierarchy structure, there are different strategies for defining it as persistent.

· Persistent Class

Any instance defined as a member of a class that is defined as persistent, is persistent.

· Persistent Instances

An instance must be declared as persistent itself. The application can place persistent objects in classes.

· Persistent through Reachability

A fundamental class is declared as persistent and anything that can be addressed from that class is also persistent.

RDBMS Strategies

Data in an RDBMS is defined in terms of basic types, e.g., character, integer, long integer. These fields are combined into tables with access through indices, i.e., keys. There is some limited support for user defined types and many RDBMSs provide limited support for other data through BLOBs.

No comments: