21
Chapter 3 ODS Data Model: An Informal View 3.1 Preamble. The goal of a database system is to store and manipulate information about the application domain. In the preceding chapters, the fundamental concepts of object oriented database models have been narrated. This chapter and the subsequent chapters present how ODS handles these basic concepts of designing bibliographical database management system and related issues 2'6'9>13’15'17'21'22 The Object Oriented database management system (ODS) supports multiple object systems simultaneously. One object system represents one integrated and independent unit of database. An object system consists of an object hierarchy, the specification and instances which constitute the database. The scope of a query or communication is always restricted with in an object system. The user has to check-in an object system8 before starting any task and he/she cannot interact with any part of any other object system unless he/she finishes the current task in the object system and checks out of it. The constructs and the operations of the database system are described precisely to specify how this information is mapped in a database. These constructs and operations are specified in terms of a data model and this chapter describes the one underlying of the system. The model can be briefly described as a generic, object oriented data model, offering a rich classification scheme, object and schema evolution, and strong constraint assurance. In this context, the term generic means that the model can be used for both conceptual modeling10,13 of the application domain and for the implementation of the resulting database system. This is a considerable advantage over ^e traditional method, where the design is usually done with the Entity-Relationship model and the implementation is then done with another model, namely the relational model 5,21.The concept of typing by classification makes proposed model distinctive from most currently existing models.

Chapter 3shodhganga.inflibnet.ac.in/bitstream/10603/9610/10/10_chapter 3.pdf · c Class (i) captures the instance of relationship (ii) the basis on which a query may be formulated

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Chapter 3shodhganga.inflibnet.ac.in/bitstream/10603/9610/10/10_chapter 3.pdf · c Class (i) captures the instance of relationship (ii) the basis on which a query may be formulated

Chapter 3 ODS Data Model: An Informal View

3.1 Preamble.

The goal of a database system is to store and manipulate information about the

application domain. In the preceding chapters, the fundamental concepts of object

oriented database models have been narrated. This chapter and the subsequent

chapters present how ODS handles these basic concepts of designing bibliographical

database management system and related issues 2'6'9>13’15'17'21'22

The Object Oriented database management system (ODS) supports multiple object

systems simultaneously. One object system represents one integrated and independent

unit of database. An object system consists of an object hierarchy, the specification and

instances which constitute the database. The scope of a query or communication is

always restricted with in an object system. The user has to check-in an object system8

before starting any task and he/she cannot interact with any part of any other object

system unless he/she finishes the current task in the object system and checks out of it.

The constructs and the operations of the database system are described precisely to

specify how this information is mapped in a database. These constructs and operations

are specified in terms of a data model and this chapter describes the one underlying of

the system. The model can be briefly described as a generic, object oriented data

model, offering a rich classification scheme, object and schema evolution, and strong

constraint assurance. In this context, the term generic means that the model can be

used for both conceptual modeling10,13 of the application domain and for the

implementation of the resulting database system. This is a considerable advantage over

^e traditional method, where the design is usually done with the Entity-Relationship

model and the implementation is then done with another model, namely the relational

model 5,21.The concept of typing by classification makes proposed model distinctive

from most currently existing models.

Page 2: Chapter 3shodhganga.inflibnet.ac.in/bitstream/10603/9610/10/10_chapter 3.pdf · c Class (i) captures the instance of relationship (ii) the basis on which a query may be formulated

Figure 3.1- Object Identifier (OID).

3.2 Object System.

An object system consists of an ODS schema1,2,3,4 and a database instance

subsequently may evolve to rivet the changes in the schema or changes in the

database instances or both for database model.

A. Database model is a logical organization of the real world objects (entities),

constraints on them, and the relationship among objects. A database language is a

concrete system implements a data model.

B. A core object oriented data model consists,

i. Object and object identifier: Any real world entity is uniformly modeled as

an object (i.e. associated with a unique id for pinpointing an object to

retrieval).ii. Attributes and methods: Every object has a state (the set of values for the

attributes of the object and a behavior, the set of methods program code -

which operate on the state of the object). The state and behavior

encapsulated in an object is accessed or invoked from outside the object

only through explicit message passing.

Page 3: Chapter 3shodhganga.inflibnet.ac.in/bitstream/10603/9610/10/10_chapter 3.pdf · c Class (i) captures the instance of relationship (ii) the basis on which a query may be formulated

c Class means grouping all objects which share the same set of attributes and

methods An object must belong to only one class as an instance10 of that class

(instance of relationship). A class is similar to an abstract data type, a class may also be

primitive (no attributes) e.g. integer, string or boolean.

D Class hierarchy and inheritance: A new class (subclass) is derived from an

existing class (s u p e rc la s s ) .The subclass inherits all the attributes and methods of the

existing class and beside having additional attributes and methods of single

inheritance12 (class hierarchy) vs multiple inheritance (class lattice) to form a object

structure.

3.2.1 Object Structure.

A. The object oriented paradigm is based on encapsulating code8 and data into a single

unit. Conceptually all the interactions between an object and the rest of the system are

via messages. Thus the interface between an object and the rest of the system is

defined by a set of allowed messages.

B. In general an object has associated with:4- A set of variables that contain the data for the object. The value of each variable

is itself an object.

4. A set of messages to which the object responds.± A set of methods each of which is a body of code to implement each message a

method returns a value as the response to the message.

C. Motivation for using messages and methods: All user objects respond to the issue

message but in different computations for entitlement. By getting encapsulat

within the user object itself, information about how to check the category and the

entitlement of all user objects presents the same interface. Since the only ext

interface presented by an object is the set of messages to which it respon

possible to (i) modify the definition of methods and variables without affecting the

Page 4: Chapter 3shodhganga.inflibnet.ac.in/bitstream/10603/9610/10/10_chapter 3.pdf · c Class (i) captures the instance of relationship (ii) the basis on which a query may be formulated

rest of the system and (ii) replace a variable with the method that computes a

value e.g. entitlement from category of borrowers. The ability to modify the

definition of an object without affecting the rest of the system is considered to be

one of the major advantages of the object oriented programming paradigm.

D The method of an object may be classified as either ‘read only’ or ‘update’. The

corresponding message10 can also be classified as ‘read only’ or ‘update’. Derived

attributes of an entity in the ER model can be expressed as read only messages

for a object class.

3.2.2 Object Classes.

A. Usually there are many similar objects in a database. By similar it is impelled that

they respond to the same messages, use the same methods and consist of variables of

the same name and type. Similar objects are grouped to form a class. Each such object

is called an instance of its class e.g. in a library database users information and

borrow/issue23 are classes and user id is an instance.

B. The definition of the class user is written in code. The definition shows the variables

and the messages to which the objects of the class respond but not the methods that

handle the messages.

class user {

/ *Variables 7

Varchar2 u_code

Varchar2 u_name

Varchar2 u_email

Varchar2 u_catagory

Date Reg_data

Date Exp_date

/* Messages 7

Varchar2 u_catagory();

Page 5: Chapter 3shodhganga.inflibnet.ac.in/bitstream/10603/9610/10/10_chapter 3.pdf · c Class (i) captures the instance of relationship (ii) the basis on which a query may be formulated

Varchar2 u_entitle();

Varchar2 loan_period();

Varchar2 U-finedayO;

};It may be wondered why the user field is used as VARCHAR2 in u_code tables INT

should be used even though the field is made up of digits however VARCHAR2 is

preferred since it will allow dashes and space and alphanumeric character as well as

textual numbers (like 01IE2653).Here IE stand for the Industrial Engineering and

Management Department.

) * * * • * > | «U hC tp :// tom alAV =bD B /SC O TT.FO R M _U SE R S .accep t........................................................... ........................................ - ...............j- 4 *B F ,.. Download* U D=~n,o.d= - «O pU onS ij SBTop - | “I P° W ? ™ * . '

„ |------------ ■ ............................, -5*.itc h - .^H igh ligh t 1 O ptions Hotmail J g fcM assengar < S W y M S N

\ | Q u M i y 1 Insert | Uprtert<? | Delete | Reset |

! IJcode [88032 *__Utiame Ji- nmnleucni Wnjumdor

| X J & .< i< 3 r c s s |central Library

IJemaxl [nTej~iMirioi( co»i

Rrii-dnie Ir/j/jnn-t| Batpdatfe |2/3/2020j , -D'c .itJt&c-iy pCT!

Row 1 o f 1~ jslwm?

Figure 3.2- Creation of user database.

SU«w Pavoritss lools Uelp ̂ 133 ^ I CajP̂ yorfl:** ^ v

t̂P^//Kamal/WcbDB/WEBPB. FORM_USERGNT55 Dov̂ ntoads < DoMnlo«ds - Options \ F'™"- j ' ............ ] ft?

t j fgll Toia C>o<*r*o*ti» - j “I P

W c l c o nri o £ <oPlease enter this from for creation of catagoiy arid entitelement

tTfineday fT~

R o w 1 o f 3

lerssss- - gBTleeM

Figure 3.3 - Creation of Category and Entitlement.

Page 6: Chapter 3shodhganga.inflibnet.ac.in/bitstream/10603/9610/10/10_chapter 3.pdf · c Class (i) captures the instance of relationship (ii) the basis on which a query may be formulated

c Class (i) captures the instance of relationship (ii) the basis on which a query may be

formulated (iii) enhances the integrity of object oriented systems by introducing type

checking and (iv) reduces replications of users and integrity-related specifications

among objects in the same class.D The concept of classes is similar to the concept of abstract data types (ADT). There

are several additional aspects to the class concept apart from ADTs. To represent these

properties, each class is treated as an object. Metaclass denotes the class of a class.

However, most OODB systems do not support the strict notion of metaclass. In

ORION19 class is the root of the class hierarchy. A class object includes4. a set-valued variable whose value is the set of all objects that are

instances of the class.4 implementation of a method for the message new, which creates a new

instance of the class.

Since the attributes of an object can not be used to differentiate it from the others, the

objects only have attributes when used in a given context and also because, there is no

intention to prevent two different objects from having exactly the same attributes in the

same context. For example, it is quite possible to think of a library where all copies of a

book are represented by the corresponding accession number of objects, in this case,

all objects will have the same attributes, but they are still different objects. The obvious

solution for solving object identity is to assign a unique object identifier Figure 3.1, or

OID, to each object. During the design, system generates the incremental value of

these OID e.g. data about the books in temp_BK system, instead of manual entry and

the uniqueness of OIDs is assured ( the code follows).

[sql_connect(webdb ,$username,$password);

@sql_select_db($database= softlilb ) or die( "Unable to select database ),

$q u e ry= "C R E A T E T A B L E contacts (id int(6) NOT NULL a u to jncrement,first

varchar(15) NOT NULL,last varchar(15) NOT NULL,phone varchar(20) NOT

NULL,mobile varchar(20) NOT NULL,fax varchar(20) NOT NULL.email varchar(30)

Page 7: Chapter 3shodhganga.inflibnet.ac.in/bitstream/10603/9610/10/10_chapter 3.pdf · c Class (i) captures the instance of relationship (ii) the basis on which a query may be formulated

NOT NULL,web varchar(30) NOT NULL,PRIMARY KEY (id).UNIQUE id (id),KEY id_2

(id))";sql_query($query);

sql_close();

echo "Table created";?>]

With adoption of system generated incremental value for OIDs, it is now possible to

determine the duplicate OIDs and the system is able to determine if two OIDs are equal

when their values are equal.

Another important characteristic of OIDs is that they are guaranteed to be an absolutely

immutable attribute of the object when an object is created, it obtains its OID, and the

same keeps it during whole life. Neither the user nor the system administrator may be

able to change the OID of an object. Only when the object is wiped out of the system its

OID be recycled and re-assigned to a newly created object.

Object identity is certainly an important feature of an object oriented database

management system, but it is not the only one, contrary to the relational DBMS,

OODBMS must also be able to manage objects that are more complex than simple flat

records. Such complex objects arise not only in large CAE (computer aided

engineering) databases, GIS(geographic information systems) or multimedia databases,

but also in modern payroll systems, library management, and many others.

Earlier the designer were not comfortable to handle complex objects for the modeling

/designing of such application models because non availability of the database

management systems for supporting such complex objects. But with the object oriented

approach the designer able to juggle around with the complex objects and accomplish

cleaner, simpler and better than the previous ones.

Another feature of OODBMS is that objects should not remain passive. On the contrary,

they must be active in the sense that they should be able to accept messages and

Page 8: Chapter 3shodhganga.inflibnet.ac.in/bitstream/10603/9610/10/10_chapter 3.pdf · c Class (i) captures the instance of relationship (ii) the basis on which a query may be formulated

respond to those messages by calling a routine or, in the object oriented terminology, a

method. In proposed design, this concept of active objects is provided the message

handler metaphor Inform of LOV (Large Object Volume). LOV are used during the

design as it is very simple and at the same time powerful enough to show the principle

of active objects. But nothing prevents the system from being extended with a more

complex method for calling mechanism. Last but not the least another important feature

of an object oriented system is the support for inheritance. With inheritance to mean a

mechanism that allows a class to be defined as an extension of a previously defined

ODS schema.

3.3 ODS Schema.

The basis of an ODS schema is a class hierarchy. A class specification is the

specification of the intentional properties that its instances17, 18,19 must possess. The

properties may be structural as well as procedural.

3.3.1 Primitive Class.

There are certain primitive classes of objects having knowing properties e.g. the class

int of integers, the class float of floating point numbers, the class bool of truth values

etc. These classes are invariant over time with neither their specifications nor the

instances can changing with time. The primitive classes may belong to two categories-

the primitive classes which can have only a finite set of instances, e.g. bool ( finite

domain primitive classes) and others, e.g. int ( infinite domain primitive classes). Each

primitive class must be associated with an effective constructor, i.e. a computational

procedure must exist to construct the instances of a primitive class. ODS has in-built

Primitive classes int, float, bool, string along with basic behavioral properties like

arithmetic and relational operations for int, float logic operations for bool and basic

string operations for string.

Page 9: Chapter 3shodhganga.inflibnet.ac.in/bitstream/10603/9610/10/10_chapter 3.pdf · c Class (i) captures the instance of relationship (ii) the basis on which a query may be formulated

At the time of initialization of an object system, additional primitive classes may be

defined by structure definition as in the programming language C. Behavioral properties,

however, may later be added to primitive classes. There is a primitive class root, with

extensional property id and operations equal (value equality) and equal (identity) over

object identifiers. This class is the most primitive class in the sense that every object

must be derived8 from it to construct a class.

3.4 Constructed Class.

Once an object system is initialized, the primitive classes and their instances are fixed.

However, new classes may be defined in an object system using existing classes,

semantic constructors supported by ODS and message-method definitions. The

fundamental semantic constructs supported by ODS are specialization, aggregation and

grouping (SET construction). These constructors are more or less similar to those in

classical object oriented paradigm. The specifications of these constructs in the ODS

model are;

Aggregation: It defines a class as a composition of other classes. A class may be

defined as an aggregation of named components which may belong to other classes or

may be of the same class. For example, the following aggregation declarations of

Employee and Dept.

Example 3.4

Employee

Name: string

Emp_no: string

WorksJn: Dept

Booksjssued : Book

Recommended_by Employee: EmployeeDept

Name: string

Head: Employee

Location: Address

Page 10: Chapter 3shodhganga.inflibnet.ac.in/bitstream/10603/9610/10/10_chapter 3.pdf · c Class (i) captures the instance of relationship (ii) the basis on which a query may be formulated

In this declaration Employee is an aggregation of four components namely name,

worksjn, booksjssued and recommended_by. Any instance of Employee, say empl,

will possess all these properties, i.e. empl will have a name, let “ B. Majumdar”, an

emp_no let “ 88032”, the department where empl works, let central library, the

accession number of the book issued , let TB37049 and an employee, let emp3 ( head

of the department) , who was the introducer of empl at the time of issuing/registration

of the library borrower card.

Two aggregations is shown diagrammatically as in figure 3.4, the nodes drawn as ®

denote aggregations, the nodes drawn^ as denote the primitive classes and the nodes

drawn as 0 denote other nodes which are not of primitive types and also not detailed

out in the diagram.

In this diagram the aggregation of address and book are not shown. The ISA

relationship is also hidden. However, it must be clear that the ISA lattice and the

a9gregation network do not interfere than for inheritance. If X ISA Y, then the

components in aggregation of Y is inherited by X.

Strii

O classFigure 3.4- Aggregation.

Page 11: Chapter 3shodhganga.inflibnet.ac.in/bitstream/10603/9610/10/10_chapter 3.pdf · c Class (i) captures the instance of relationship (ii) the basis on which a query may be formulated

3.4.1 Inheritance.

A staff class might be treated differently than a student class, even though they all

belong to the class of library user. To extend the behavior of the base class, while

creating a specialized class called student, tailor code segment could be used to give

the student class special privilege. An object oriented database schema typically

requires a large number of classes often, however several classes are similar. For

example Institute staff member are similar to student users. In the designed two type of

inheritance are used. i. Data inheritance (to inherit additional attributes from another

class by the data), ii) Function/object inheritance (to inherit data and attributes from

another object in its class by the object). In order to allow the direct representation of

similarities among classes which need to place classes in a specialization hierarchy.

3.4.1.1 Specialization:

When a class X is defined as a specialization of Y (defined as X ISA Y), the instances of

class X inherit all the properties (both structural and behavioral) of class Y. Hence, by

virtue of inheritance, any instance of X is logically an instance of Y also. NIL is a special

class in ODS which is a specialization of any class. It may be noted that the relation ISA

is reflexive and transitive. ODS does not allow multiple generalization which can be

expressed by the following proposition.

Proposition 3.4.1.1 If X ISA Y and X ISA Z then either Y ISA Z or Z ISA Y, or X is

NIL.

The set of instances in NIL is a null set. Moreover, X ISA root, for every class X. ISA is

an antisymmetric relation.

Page 12: Chapter 3shodhganga.inflibnet.ac.in/bitstream/10603/9610/10/10_chapter 3.pdf · c Class (i) captures the instance of relationship (ii) the basis on which a query may be formulated

Figure 3.5- Specialization hierarchies for the library borrowers.

The concept of class hierarchy is similar to that of specialization in the ER model. The

corresponding class hierarchy is show in Fig 3.7

Useas

Figure 3.6 - Class hierarchies corresponding to the library user.

The class hierarchy can be defined as figure. 3.6 in which the variables associated

with each class are as follows.

The relation ISA forms a hierarchy with the classes excluding NIL e.g. the class

hierarchy in figure3.7 where the arrow indicates the ISA relationship.

Page 13: Chapter 3shodhganga.inflibnet.ac.in/bitstream/10603/9610/10/10_chapter 3.pdf · c Class (i) captures the instance of relationship (ii) the basis on which a query may be formulated

Figure 3.7- ISA hierarchy.

Fact 3.4.1.1 The class root is an upper bound and NIL is a lower bound, for any subset

of classes in an ODS schema.

Lemma 3.4.1.1 ISA forms a lattice over the classes in an ODS schema.

Prof: ISA is reflexive, transitive and antisymmetric. The lub (lower bound) and

glb(greatest lower bound) of any two classes in an ODS schema exists. The follows

from the fact figure.3.7 and the proposition 3.4.1.1

The keyword ‘isa’ is used to indicate that a class is a specialization of another class.

The specializations of a class are called subclasses e.g. institute staff is a subclass of

user and Gr. A staff is a subclass of institute staff , Conversely, institute staff is a

superclass of Gr. A staff. Class hierarchy and inheritance of properties form more

general classes e.g. an object representing an institute staff contains all the variables of

classes Gr. A , Gr. B and Gr. C . Methods are inherited in a manner identical to

inheritance of variables.

An important feature of inheritance in 0 0 systems is the notion of substitutability. Any

method of a class ‘A ’ can be equally will be invoked with an object belonging to any

subclass B of ‘A’. This characteristic leads to code-reuse methods and functions in

class A (such as u_category in class user do not have to be rewritten again for objects

°f class B) These are probable ways of associating objects with nonleaf classes to

ensure a grouping.

^ associate with the employee class all institute staff objects including those that

are instances of Gr.A , Gr,. B and Gr. C

Page 14: Chapter 3shodhganga.inflibnet.ac.in/bitstream/10603/9610/10/10_chapter 3.pdf · c Class (i) captures the instance of relationship (ii) the basis on which a query may be formulated

Class user {

Varchar2 u_name;

Varchar2 u_address; };

Class Institute Staff isa user{

Varchar2 Gr. A; };

3.5 Grouping.

The grouping construct allows construction sets of instances. In the example 3.4 the

class Dept has a name, a head and a location. A department has a SET of employees

who work in the Dept. In order to include this information the class Dept, may be

modified using the grouping construct SET OF as show below.

Example 3.5

Dept

name: string

head: Employee

location: Address

employees: SET OF Employee

The grouping construct may be used along with aggregation only as illustrated in

example 3.4 . It cannot be used to create a distinct named class, which is allowed in the

IFO7 model.

ODS supports another specific grouping construct, a linear array indexed by integers.

This feature is illustrated in the following aggregation model of a user_entitle

SQL> describe user e n t i t l eName Null? Type

UjIATAGORY NOT NULL UARCHAR2(10)^ENTITLE NUMBER(2)L0ANj >ERIOD NUMBER(3)“-FINE DAV NUMBER(3)

Example 3.5.1

'-Lcatgory: Varchar2

^..entitle Number(2) means upto 99 books can me define

Page 15: Chapter 3shodhganga.inflibnet.ac.in/bitstream/10603/9610/10/10_chapter 3.pdf · c Class (i) captures the instance of relationship (ii) the basis on which a query may be formulated

If the library policy is allowed the specific category say ‘AL’ to barrow maximum of 10

books then it can be identified 2 digit number being an integer index (<99). It may be

mentioned that the array construct can also realized with the SET OF construct. This

construct is separately included because it provides a better user interface and is

amenable to more efficient implementation than as set.

Vendor Books

Figure 3.8- Classifications.

3.5.1 Classification by Collections.

The primary role of classification is to organize and structure a database by disposing or

classifying objects in different collections. In proposed model, a collection represents a

semantic grouping of objects, i.e. a set of objects with a common role and common

properties. A collection is an object itself. For example, a collection of vendor could

contain a set of persons supplying books for the library, and another collection of users

could contain a set of persons issuing the books Figure 3.8 shows a graphical

representation of such a classification.

In figure 3.8, collections are represented by grey ovals and the objects inside collections

are represented by black dots. In developed model terminology, the objects that belong

to a collection are called the members of the collection. The number of members of a

Election C is called the cardinality of C and two basic operations that are applicable to

collections are insertion and deletion. The semantics of these functions is obvious,

Page 16: Chapter 3shodhganga.inflibnet.ac.in/bitstream/10603/9610/10/10_chapter 3.pdf · c Class (i) captures the instance of relationship (ii) the basis on which a query may be formulated

insertion adds a new object to a collection and deletion removes one from it. From a

formal point of view, the insertion operation can be seen as a function with the following

property:

<?sql_connect(localhost,$username,$password);

@sql_select_db($database) or die( "Unable to select database");

$query = "INSERT INTO contacts VALUES (,,,,$first,1 '$lasf, '$phone', ^mobile', '$fax',

’$email', '$web')";

mysql_query($query); sql_close(); ?>

Since collections are object, it is even possible to make collections of collections and

allow nested structures of classification to be built. The set of all collections in a

database, together with the rules that control these collections, is called the schema of

the database. In many available DBMSs, a schema is a rather rigid structure in the

sense that once it is defined, the schema is never changed.

Through this study much more flexible model is introduced. Actually designed model

allows collections in the database to be added or removed, or in other terms to change

the schema of the database and enabled the user to add new classifications which

leads new ways of designing database schemas.

For example to illustrate this idea that need to design a bibliographical database for

library to sort information about the books to classification of books supplied by a

specific vendor by defining a collection of books and a collection of vendor and a

relation between these two collections to show which books are supplied by which

vendor.

Page 17: Chapter 3shodhganga.inflibnet.ac.in/bitstream/10603/9610/10/10_chapter 3.pdf · c Class (i) captures the instance of relationship (ii) the basis on which a query may be formulated

Figure 3.9- Collection and relations.

Besides these constructs, the ODS model specification requires the definition of

message and methods. With each class one may define zero or more messages (

other than those which are inherited). Each message may be associated with one or

more methods inherited). Each message possesses an identifier (name) which is

unique for the particular class. Each method also possesses a name unique over the

set of methods in the class. A methodis specified by a sort signature, formal

parameters, local variables and NODAL (New Object Oriented Database Language)

statements.

In ODS model each class is treated as a sort. Object variables may be declared to be of

such sorts. The ISA relationship provides the subsort relationship. The type checking for

message invocation is done using subtyping information inferred from the ISA

relationship. Statements written in C can be embedded in the NODAL statements.

However, the scoping rule of NODAL does not allow the user to deviate from the object

oriented style of programming. A statement in a method may refer to only the formal

Parameters and to local variables other than the object components. Therefore, the only

global environment that exists is the database. An ordinary user can never write a

statement in C which can directly operate on the database. Thus side-effects associated

with the C-statements are controlled by ODS.

Page 18: Chapter 3shodhganga.inflibnet.ac.in/bitstream/10603/9610/10/10_chapter 3.pdf · c Class (i) captures the instance of relationship (ii) the basis on which a query may be formulated

ODS supports queries expressed in the same object oriented style. The ODS model

attempts to look uniformly at both specification and manipulation of the database. In

order to capture the structural as well as behavioral features the existing models

advocate two different formalisms. Other models 1' 3' 18 use a relational model for the

methods and a graph model for the structure. Few models5,19 advocate a complex

object model for structure and a procedural transaction model for methods and queries.

Models like deductive database20 use complex object models for structure and relational

model for queries.

This work demonstrated that it is possible to model both the structural as well as the

behavioral aspects of objects with the help of accumulated arrows. The concept of

accumulated arrows was introduced by Heselink14 for modeling non-determinism in data

types. Heselink used an accumulated arrow for construction of models and modeling

their interactions. The same concept had been adopted here for modeling operations

involving objects in an object oriented database. The accumulated arrows can be used

for modeling both the schematic as well as operational aspects of an object oriented

database. Further, interpretation of accumulated arrows as multi-functions helps to

satisfy the database requirement of finding all possible answers to a query and batch

operations. The algebra of accumulated arrows had been extended to satisfy the

purpose of modeling ODS.

Page 19: Chapter 3shodhganga.inflibnet.ac.in/bitstream/10603/9610/10/10_chapter 3.pdf · c Class (i) captures the instance of relationship (ii) the basis on which a query may be formulated

3.6 Reference.

1 ABITEBOUL, S. and GRUMBNACHI, S. COL. A logical approach to the

manipulation of complex objects. In Proceedings of EDTP (LNCS) (march 1985),

Springer Verlag.

2 ABITEBOUL, S. and HULL, R. Ifo: A formal semantic database model. ACM

Transaction on Database System 12 (1987), pp.525-565.

3. ABITEBOUL, S. and KABELLAKIS, P.C. Object identity as a query language

primitive. Research Report 1022, INRIA, France, April 1989.

4. ALAGIC, S. Object oriented Database Programming. Springer Verlag, 1989.

5. ALBANO, A., GHELLI, G„ OCHIUTO, M„ AND ORISINI, R. Object oriented

Galileo. On Object oriented Database Suytems. K Dittrich, U. Dayal, and A.

Buchmann, Eds., Topics in Information Systems. Springer Verlag, 1991 pp.

87-103.6. BANERJEE, J., CHOU, H., GARZA, J., KIM, W „ WOELK, D„ and BALLOU,

N. Data model issues for object oriented applications. ACM Transactions on

Office Information Systems 5, 1 91987), pp.3-26

7. BERNSTEIN, P. A., HADZILACOS, V., AND GOODMAN, N. Concurrency Con­

trol'I and Recovery in Database Systems. Addison Wesley Publishing Company,

1987.8. BUCHMANN, A., CARRERA, R., AND GALINDO, M. V. Handling constraints

and-their exceptions: An attached constraint handler for object oriented cad

databases. In On Object Oriented Database Systems, K. Dittrich, U. Dayal, .

and A. Buchmann, Eds., Topics in Information Systems. Springer Verlag, 1991,

pp. , pp.65-83.9- BUNEMAN, 0. AND NIKHIL, R. The functional data model and its uses or

interaction with databases. In On Conceptual Modeling, Perspectives from A!

Databases and Programming Languages, M. Brodie, J. Mylopoulos, an

Schmidt,Eds. Springer Verlag, New York, 1984, pp. 359 380.

Page 20: Chapter 3shodhganga.inflibnet.ac.in/bitstream/10603/9610/10/10_chapter 3.pdf · c Class (i) captures the instance of relationship (ii) the basis on which a query may be formulated

10. CARDELLI, L., AND WEGNER, P. On understanding types, data abstraction

and polymorphism. ACM Computing Surveys 17,4 (December 1985), pp.471-

522.

1 1 . CERI, S., GOTTLEIB, C., AND TANCA. Logic and Databases. Springer Verlag,

1989.

12. CHANDRA, A., AND HAREL, D. Computable queries for relational databases.

Journal o f Computer and Systems Sciences 21,2 (1980), 156-178.

13. CHEN, P. The entity-relationship model: Towards a unified view or data.

ACM Transactions on Database Systems 1,1 (March 1976), pp.9-36.

14. HESELINK, M. A mathematical model of non-determinism in abstract data

types. ACM Transactions on Programming Languages and Systems 10, 1 (Jan­

uary 1988), pp. 87-117.

15. HULL, R., AND YAP, C. The format model: A theory of database organization.

Journal of Association of Computing Machinery :JI, 3 (July 1984).

16. JANTZEN, M. Confluent String Rewriting. No.14 in European Association for

Theoretical Computer Science Monographs. Springer Verlag (Berlin), 1988.

17. KENT, W. Limitations of record-oriented information models. ACM

Transaction on Database Systems 4 ,1 (March 1979), pp.107-131.

18. KIM, W„ BALLOU, N„ CHOU, H., GARZA, J„ AND WOELK, D. Integrating

an object oriented programming system with a database system.. In

Proceedings of the Conference on Object Oriented Programming Systems,

Languages and Applications (1988), pp. 142-152.

19. KIM; W ., GARZA, J., BALLOU, N., AND WOELK, D. Architecture of the ORION

next- generation database system. IEEE Transactions on Knowledge and Data

Engineering e, 1 (March 1990), pp. 109-124.

20- LLOYD, J., AND TOPOR, R. A basis for deductive database systems. The

Journal o f Logic Programming, 2 (1985), pp.93-109.

2i MAJUMDAR, (K) and SINGH, (UN). A formal model of ODS schema in LIPS.

SRELS SERLS Journal of Information Management Vol.45, No. 2, June 2008,

Paper S.pp.155.168.

Page 21: Chapter 3shodhganga.inflibnet.ac.in/bitstream/10603/9610/10/10_chapter 3.pdf · c Class (i) captures the instance of relationship (ii) the basis on which a query may be formulated

22. MAJUMDAR (K). and SINGH (UN). Library Information Process System: ODS

Data Model. SRELS Journal of Information Management Vol.42, No. 2, June

2005, Paper H.pp.101.130.

23. MAJUMDAR (K) and SINGH (UN). Integrated Library Management System :

Circulation Module SRELS Journal of Information Management Vol.41, No. 1,

March 2004, Paper J.pp.91.106.