B5.2-R3: Object Oriented Database Management Systems
1. Overview of Object Oriented Concepts
January-2004 [5]
4.
b) What Is the difference between overloading and overriding methods? [5]
Ans: The difference between are-
Overloading
Overriding
1. Deal with multiple methods.
2. Have same class with same name but different signature.
3. Codes
4. Compile time polymorphism is implemented.
5. Define operation act in different way for different data types.
1. Deals with two methods.
2. Have same class with same name but same signature.
3. Codes
4. Run time polymorphism is implemented.
5. Define operation act in different way for different object type.
July-2004 [6]
5.
a) Discuss the salient differences between overloading and overriding methods. [6]
January-2005 [14]
1. Briefly explain the following:
a) How does object-oriented programming style offer better reusability of code than modular programming? [4]
Ans: The concept of inheritance provides the idea of reusability. We can reuse a particular class to another class. That means reusability help us to add new features to an existing class without modifying it. The new class will have the features of both the classes. The programmer can reuse a class in such that it would not affect the other class. It means that if we require some new object that also needs some functionality of existing one's then it is easy to inherit the existing one instead of writing all the required code once again.
d) How is method-overriding different from method-overload? [4]
c) Why do we talk about message-dispatch in object-oriented systems rather than a function-call? [4]
Ans: In object oriented programming we use the concept of message dispatch. Object communicates with one another by sending and receiving message. A message for an object is a request for execution of a procedure and it invoke the function in the receiving object that generates desired result. It is a way of handling an event in the system.
Function call is used in procedure oriented language to execute the chunk of code when the program reaches that section of code.
2.
a) What distinguishes an ADT from a class? [2]
Ans: ADT stands for abstract data type which means that the data types that have similar semantic or behavior.
Abstract class is the class that cannot be use to create objects. It can only be used as base class.
An abstract class is a generalization concept. It is a class you invent to only use as a base class for inheritance but not to instantiate objects from
And abstract data type is not necessarily an OOP concept. It is an older term to describe the concepts of for example Stack and Queue in terms of their functionality, without describing the implementation.
An Abstract Data Type (ADT) is a mathematical model of a type of data. It describes operations that can be performed on the data and the mathematical definition of those operations using equations.
July-2005 [4]
4.
c) How a DBMS exploits encapsulation in implementing support for Abstract Data Types (ADTs). [4]
Ans:
January-2006 [32]
1. Briefly explain the following:
b) Define classes, abstract classes and interfaces and explain their utility. [4]
Ans: Interface is the interaction between two system or groups. This interaction can be in the form of human interaction, computer system or any other means of communication. Physical interface is the interaction between two items of hardware.
e) Distinguish between a function call and message dispatch. [4]
f) Distinguish between method overloading and method-overriding. [4]
g) Explain static and dynamic binding. [4]
Ans: Static binding is one in which the memory allocated remain to the data structure remain same or fixed at the compile time.
A dynamic binding is one in which the memory locations and the size of data structures are allocated at the run time.
2.
c) Define inheriting rule, subtype rule and method selection rule. Explain with examples. [6]
Ans: Inheritance is the process in which an object of a class can inherit property of another class. In inheritance there is bass class and drive class. The drive class is a class that can inherit some or all the property of bass class.
Subtype rule is a type of polymorphism in which a subtype is a data type that is related to another data type by some function.
Method selection rule: Method are the function that are associated with a class or an object. Methods provides the mechanism to access and manipulates encapsulate data stored in a object.
3.
a) Distinguish between procedural programming paradigm and object-oriented programming paradigm. What are the benefits of object-oriented programming over procedural programming? [4]
b) Explain static and dynamic polymorphism with suitable examples. [6]
Ans:
Static Examples: The System.out.println() method
is an example that may take String or Object references, boolean and
other primitive types as an argument
Dynamic Examples: For example, any class may override the
Object.toString() method and provide its own implementation, and this
is known at compile time
July-2006 [8]
1.
a) What is the purpose of inheritance? How does object oriented technique help produce flexible and extensible software? [4]
Ans: Inheritance is the property of Object oriented language with the help of which object of one class can inherited all or some property of object of another class.
Object oriented approach breakdown the whole program into small modules called objects. Each object contains data and function to access those data. Each object communicate with other though message. The data of an object can be hiding such that it can be only accessed by the function within that object. Identifying the error in object does not require much effort. Modification can be easily implement in object oriented language.
b) What are the advantages of polymorphism and dynamic binding? [4]
Ans Polymorphism is the phenomenon with the help of which an operation can take different form and behave differently at different time. This behavior is depends upon the type of data.
Dynamic binding is one which helps to link the procedure call to the code to be executed in respond. In it the memory is allocated to the data structure only at the run time. It uses the concept of pointer.
January-2007 [10]
1.
e) How does DBMS exploit the encapsulation in implementing support of ADTs? [4]
4.
c) How does a DBMS exploit encapsulation in implementing support for Abstract Data Types (ADTs)? [6]
Ans: In abstraction we just more concentrate on the essential details of the object and we ignore the non-essential details of the object. In encapsulation it hides or prevents the access to non-essential details of the object. These both are related to each other. We take an example of television. We just switch on the TV and see the programs there and change the channel continuously. So we more concentrate on the programs so this is abstraction. Also we don't know simultaneously what internal processing running inside the TV is. So this is encapsulated from us.
July-2007 [4]
1.
e) Differentiate between Overriding and Overloading with suitable example. [4]
January-2008 [12]
1.
a) Abstraction is a fundamental human capability that permits us to deal with complexity. Justify this statement. [4]
Ans: Abstraction is the process with the help of which we can hide the details and concentrate on the general and common properties of a set of object. Through the process of abstraction, a programmer hides all but the relevant data about an object in order to reduce complexity and increase efficiency. In the same way that abstraction sometimes works in art, the object that remains is a representation of the original, with unwanted detail omitted. The resulting object itself can be referred to as an abstraction, meaning a named entity made up of selected attributes and behavior specific to a particular usage of the originating entity.
c) Give reasons why it is necessary to override a feature in object oriented programming. [4]
2.
c) Differentiate between overloading and overriding of methods in object oriented programming with suitable examples. Explain using C++ code. [4]
Ans: Overloading example:
ClassMyString
{
public:
charmember1[100];
voidoperator+(MyStringval)
{
strcat(member1,val.member1);
}
};
Overriding example:
ref class Base
{
public:
virtual void Goo()
{
Show("Base::Goo");
}
virtual void Boo()
{
Show("Base::Boo");
}
virtual void Doo()
{
Show("Base::Doo");
}
};
ref class Derived : Base
{
public:
//Overrides Base::Goo
virtual void Goo()
{
Show("Derived::Goo");
}
//Overrides Base::Boo as above
virtual void Boo() = Base::Boo
{
Show("Derived::Boo");
}
//Hides Base::Doo
virtual void Doo() new
{
Show("Derived::Doo");
}
};
2. Object Oriented Analysis and Design (OOAD)
January-2004 [29]
1.
c) State the difference between persistent and transient objects. How persistence is handled In Object Oriented (OO) database systems? [4]
Ans: The difference between persistent and transient object is as follows:-
A persistent object is a permanent object. They are session or application variables. They are stored in database. They remain alive till the termination of the program or user session.
Transient objects are temporary object. They are local variables. They remain alive within a function/program where they are declared. When the execution of function/program is over the object in no more remain alive.
Persistence objects are handled by two ways:
1) Naming Mechanism: In this process an object is given a unique persistent name though statement or set of operations. By using this unique persistent name they are retrieving within a program or other program.
2) Reach ability: In this process an object is made persistent by making the object reachable from some persistent object.
d) How are relationships are represented in Object Oriented (OO) data model? Discuss also the importance of inverse references in Object Oriented (OO) data model. [4]
Ans: An association among entities lead to relationships.
There are three types of relationship that exist among entities:-
a) One to one:- One to one relationship is the relationship between two entities.
b) One to Many:-It is the relationship between one entity with more than one entities.
c) Many to Many: It is the relationship among different entities with each other.
In object oriented data model relationship is represented though two way:
1) “IS-A” (INHERITANCE): In this type of relationship the object of a class inherited some or all the proprieties of another object of a class.
2)
3) “HAS_A” (COMPOSITION): In this type of relationship a common object is compose from two or more object of a class exhibiting similar functionality. The key concept is that we can manipulate a single instance of object just as manipulating group of objects.
IRI or inverse reference in object oriented data model can be defined as the traversal of composition hierarchy into inverse direction. It is important to invalidate the dependent method in object composition hierarchy.
f) What Is versioning? Why Is It Important? [4]
Ans: Versioning of a software/system basically mean that a new software/ system is being made with new features add from the existing system or software. This new software is a modified copy of the pervious system which has some new features than other previous system. Every new version of an software has a unique version number for its identification.
Versioning is important for:-
1) Adding new features in existing system.
2) Make it more reliable.
3) To improve a software performance.
4) To overcome its deficiency.
5) To correct bugs.
6) To keep it in the market.
4.
c) A car rental company maintains a vehicle database for all vehicles in Its current fleet. For all vehicles, It Includes the vehicle identification number, license number, manufacturer, model, data of purchase and color. Special data are Included for certain types of vehicles;
Trucks:
Sports car. Vans:
Off-road vehicles:
cargo capacity;
horse power, rental age requirement
number of passengers
ground clearance, drlvertraln (four or two wheel drive)
Construct an object oriented database schema definition for this database. Use Inheritance wherever appropriate. [8]
Ans:
5.
b) Discuss with an example Chen-Chen methodology for object-oriented design. [9]
Ans: E-R Model was introduced by Chen. Entity Relationship modeling gives us a detailed, logical description about entities, association and data element within an organization or business area. This technique is used in database design to represent the entities in an enterprise and their relation with one another.
The E-R model has three features to describe data:-
a) Entities:- An entity is the person, place or event of interest to the organization.
b) Attributes:- The data items that describe the entity.
c) Relationship:- An association of several entities.
E-R diagram representation:- E-R diagram is represented by the following symbols
1) Rectangle Represents Entity
2) Oval Represent Attributes
3) Diamond Represents relationships
4) Line _________ Link to attributes to entity set and entity sets
to relationships.
Ex
There are three types of relationship that exist among entities:-
a) One to one:- One to one relationship is the relationship between two entities.
b) One to Many:-It is the relationship between one entity with more than one entities.
c) Many to Many: It is the relationship among different entities with each other.
Database Design Using E-R Model: A database which conform the E_R Diagram can be represented by a table or a set of tables.
Teacher Student
T_no
Name
Address
Salary
Tips to Draw E-R diagram
a) Do not introduce unwanted details
b) Merge the entities with common attributes.
c) Divide complex entities into sub-entities.
July-2004 [32]
1.
a) Under what circumstances a relationship is its own inverse? Explain. [4]
Ans: An inverse or negative relationship is a mathematical relationship in which one variable decreases as another increases. For example, there is an inverse relationship between education and unemployment — that is, as education increases, the rate of unemployment decreases.
A one-to-many relationship between the two sets is also called an inverse functional relation. The diagram below illustrates an inverse functional relation.
A many-to-one relationship between two sets is also called a functional relation (or simply function). The diagram below illustrates a functional relation.
A one-to-one relationship between two sets is also called a bijection, which is illustrated below.
Binary Relation (Many-to-Many)
f) Class diagrams developed using Booch's methodology can serve as the functional specification of a system. Justify whether this statement is true or false. [4]
Ans: The Booch software engineering methodology [#!booch!#] provides an object-oriented development in the analysis and design phases. The analysis phase is split into steps. The first step is to establish the requirements from the customer perspective. This analysis step generates a high-level description of the system's function and structure. The second step is a domain analysis. The domain analysis is accomplished by defining object classes; their attributes, inheritance, and methods. State diagrams for the objects are then established. The analysis phase is completed with a validation step. The analysis phase iterates between the customer's requirements step, the domain analysis step, and the validation step until consistency is reached.
Once the analysis phase is completed, the Booch software engineering methodology develops the architecture in the design phase. The design phase is iterative. A logic design is mapped to a physical design where details of execution threads, processes, performance, location, data types, data structures, visibility, and distribution are established. A prototype is created and tested. The process iterates between the logical design, physical design, prototypes, and testing.
The Booch software engineering methodology is sequential in the sense that the analysis phase is completed and then the design phase is completed. The methodology is cyclical in the sense that each phase is composed of smaller cyclical steps. There is no explicit priority setting nor a non-monotonic control mechanism. The Booch methodology concentrates on the analysis and design phase and does not consider the implementation or the testing phase in much detail.
2.
b) Develop an object diagram for a graphical document editor that support grouping, which is a concept used in a variety of graphical editors. Assume that a document is composed of several sheets. Each sheet contains drawing objects, including text, geometrical objects and groups. A group is simply a set of drawing objects, possibly including other groups. A group must contain at least two drawing objects. A drawing object can be a direct member of at most one group. Geometrical objects include circles, ellipse, rectangles and squares. [9]
3.
b) Decide which model(s) (object, dynamic and functional) are relevant for the following aspects of a computer chess player. The board and pieces will be displayed graphically on a video display. Human moves will be indicated via a cursor controlled by a mouse. Of course, in some cases, more than one category may apply. Defend your answers.
i) User interface which displays computer moves and accept human moves.
ii) Representation of a configuration of pieces on the board.
iii) Consideration of a sequence of possible legal moves.
iv) Validation of a move requested by a human player. [9]
5.
b) Explain the differences between triggers and integrity constraints. [6]
Ans:
TRIGGER
INTEGRITY CONSTRAINTS
Set of pl/sql statement those are stored permanently in database.
Set of predefine rule for table column at the time of creating table or after creating table.
It will not affect the row.
It will affect the existing row.
It is not applied to data
It is applied to data.
IT can be automatically execute.
It doesn’t.
A trigger can enforce integrity.
Integrity can’t enforce trigger.
It is a procedure stored in database.
It is used to maintain date integrity .
January-2005 [50]
1. Briefly explain the following:
b) How do IS-A and HAS-A relationships help in developing object-oriented design? [4]
Ans:
e) What is an association relationship? Give one example of one-to-many association. [4]
Ans: The association relationship is a way of describing that a class knows about and holds a reference to another class. This can be described as a "has-a" relationship because the typical implementation in Java is through the use of an instance field. The relationship can be bi-directional with each class holding a reference to the other. Aggregation and composition are types of association relationships.
f) What is object serialization? How is the concept linked to object-persistence? [4]
Ans: Serialization is the process of converting a data structure or object into a sequence of bits so that it can be stored in a file, a memory buffer, or transmitted across a network connection link to be "resurrected" later in the same or another computer environment.
2.
b) Declare a class for a Rational Number ADT. (A rational number is represented by P/Q where P and Q are integers). [6]
3. Consider the following details of a Library Management system (LMS), which is required by an academic institute to automate book/periodical issuing activities. Carry-out the jobs (a) – (b) listed below: -
- Library books and periodicals are issued o three types of members – faculty, student and staff members.
- All members have a name (string), an address (string) and an Id (integer). In addition, faculty-members have a few research interests (an array of strings) and Office-telephone number (integer); student-numbers have an academic program number (integer) and staff-members have an employee-number (integer).
- You may further assume that a faculty can issue a book for 4 months, a staff for 2 months and a student for 15 days. The Issuing period for a periodical for a faculty-member is 7 days; periodicals are not issued to staff and students.
a) Identify classes and their relationships and represent them using notations of Booch methods. [9]
b) Write complete declarations of all the classes/subclasses. [9]
5.
b) A Used-vehicle Sale Company maintains a vehicle database for all vehicles in its current fleet. For all vehicles, it includes the vehicle identification number, registration number, manufacturer, model, first-sales company’s name, insurance status and date of first purchase. For certain categories of vehicle, the following data is also available:
Trucks: cargo capacity
Sports car:Horse poser, and
Vans : Seating capacity.
Create an object-oriented database schema definition for this database. [6]
6.
a) What is persistent programming language? How do they make object persistent? [4]
Ans: Programming languages that natively and seamlessly allow objects to continue existing after the program has been closed down are called persistent programming languages.
There are three classes of solutions for implementing persistence in object-oriented applications: the gateway-based object persistence approach, which involves adding object-oriented programming access to persistent data stored using traditional non-object-oriented data stores, the object-relational database management system (DBMS) approach, which involves enhancing the extremely popular relational data model by adding object-oriented modeling features, and the object-oriented DBMS approach (also called the persistent programming language approach), which involves adding persistence support to objects in an object-oriented programming language.
b) Consider a system that provides persistent objects. Is such a system necessarily a database system? Explain. [4]
July-2005 [8]
1.
a) State the difference between persistent and transient objects? How persistence is handled in OODBMS? [4]
d) What is check pointing? Why is it needed? [4]
Ans: Check pointing is a technique for inserting fault tolerance into computing systems. It basically consists of storing a snapshot of the current application state, and later on, use it for restarting the execution in case of failur.
Needs:
1) High availibity.
2) Recoverable long run processes.
3) Time-travelling debugging.
4) -1 day patching
January-2006 [36]
1. Briefly explain the following:
a) Compare object oriented design with procedure-oriented design. [4]
c) What is meant by separation of interface and implementation in object-oriented design? [4]
ANS:
d) Distinguish between coupling and cohesion. Which is encouraged by object-oriented technology? [4]
Ans: Cohesion is the measure of the functional strength of a module whereas coupling of a module is a measure of degree of interdependent or interaction between the two modules.
Coupling encourage the object oriented technology.
2.
a) Define inheritance relationship, composition relationship and association relationship in object-oriented technology. Also define and discuss their role in system development. [6]
5. Consider the following details of a database system, which is required by an academic institute to automate many of its administrative activities. Carryout the questions (a), (b) and (c) listed below:
- The database system caters to the needs of three types of members – faculty, student and staff members.
- All members have a name (string), an address (string) and an Id (integer). In addition, faculty-members have a few research interests (an array of strings) and Office-telephone number (integer); student-members have an academic program number (integer) and staff-members have an employee-number (integer).
a) Identify the features of the above systems, which would help in object-oriented design. [6]
c) Create an object-oriented database schema definition for this database. [6]
6.
a) What is object serialization? How is the concept linked to object-persistence? How does a persistent programming language help in object-oriented databases? [6]
July-2006 [18]
1.
c) While using object oriented analysis multiple inheritance in type hierarchy occurs when a certain subtype T is a subtype of one or more than one types and hence inherits the function of one or more than one super type. State whether the sentence is true or false. Justify your answer. [4]
g) What is persistent programming language? How do they make object persistent? [4]
2.
b) What is the importance of checkpoints in the database management system? How checkpoints are used in the system log file of database management system? [4]
Ans:
3.
b) What do you understand by in database management system? Give differences between versions and configurations. What is concurrent engineering? [6]
Ans: Revision control, also known as version control, source control or software configuration management (SCM), is the management of changes to documents, programs, and other information stored as computer files. It is most commonly used in software development, where a team of people may change the same files. Changes are usually identified by a number or letter code, termed the "revision number", "revision level", or simply "revision".
Difference:
Configuration Management is the approach used in managing the individual components (software & hardware) that make up the ‘System’.
Version Control is part of Configuration Management. Version control is saving files and keeping different versions of them, so you can see the change over time.
Concurrent Engineering is a work methodology based on the parallelization of tasks (i.e. performing tasks concurrently). It refers to an approach used in product development in which functions of design engineering, manufacturing engineering and other functions are integrated to reduce the elapsed time required to bring a new product to the market.
January-2007 [16]
1.
c) What is check pointing? Why is it needed? [4]
5.
b) How is Chen-Chen methodology used for object oriented design? [6]
c) What is the purpose of creating an intersection record in mapping object-oriented models to hierarchical networks? [6]
Ans: A junction record is a member record type that allows for many-to-many relationship between its two owner records. A junction record is called intersection record. It is important in hierarchical network. A hierarchical network model is a data model where data’s are arrange in hierarchical form. It follows the tree structure. Here the root note is placed at the top and the rest of the nodes are under root note. The root node has a link with the sub-nodes and each sub node is further link with their sub node. For representing this link among the nodes we required to create an intersection record. Intersection record helps us hold the connection among all nodes and we can move from one node to another at anytime.
For example: Take the employment management system. In this system there are different tables and each table has different data’s. The employee personal details table is different from salary table, salary table is different from loan table and so on. So the personal table consist of data like- emp id,emp name,add,design, date of join etc and the salary table consist of data like- emp id,emp name, month, salary ,paid etc. So each table in employee database is related to other table though some common record such as emp_id,emp name. This record are the intersection record for employee database which bind all the table together in an hierchical order.
July-2007 [35]
1.
c) How do IS-A and HAS-A relationships help in developing object-oriented design? [4]
f) What is object serialization? How is the concept linked to object-persistence? [4]
2.
b) A Vehicle Rental Company maintains a vehicle database for all vehicles in its current fleet. For all vehicles, it includes the vehicles identification number, registration number, Engine number, manufacturer model, colour of vehicle, date of purchase and the drivers of vehicles. Special data are included for certain types of vehicles:
* Trucks: Cargo capacity
* Sports Cars: Horsepower, renter age requirement
* Vans: Number of passengers
* Off road vehicles: ground clearance, drivetrain (four or two-wheel drive)
Similarly, the details of drivers include such items as driver’s name, date of birth, Licence Number, Permanent Account Number and the type of vehicles he is allowed to drive.
Construct an object oriented database schema for this example. Use inheritance where appropriate. [9]
b) Differentiate between edges in DAG representing inheritance and a DAG representing object containment. [6]
ANS: In DAG representing inheritance the arrow follows in only one direction. There can be only one path between vertexes to other. It follows the “ÏS-A” inheritance relationship. The base class is serve as vertex and all other class are derive class or child class. Each child class can have only one edge connected to the base class.
For example—
Take the case of Animal.
In this case we see that there can only one path exist among the class to the vertex. Here Animal is the vertex as because it is the base class and remaining class are derive from it. Secondly, the class Domestic and Wild have sub-class under it which is served as grandchild of the vertex. There exists only one path between the vertex and grandchild class and they are as follows:
DOG DOMESTIC Animal
COWDOMESTICAnimal
LIONWILDAnimal
TIGERWILDAnimal
In DAG of object containment each object can contain other object .The contained object can be called composite object. Here it follows “Has-A” relation. An object can be seen as manipulating group of object. Multiple edges can be possible here. An class can inherit property from more than one class.
For example:-
Here we cans see the multiple path can be exists among the class. Elephant can be wild also and it can be domestic also. So the class takes both the features of class domestic and wild and is manipulated as single class. The multiple path are:
ELEPHANTDOMESTICAnimal AND ELEPHANTWILDAnimal
c) Why do persistent programming languages allow transient objects? Is it not simple to use only persistent objects with unneeded objects deleted at the end of an execution? Explain with justification. [6]
5.
c) Describe the main strategies that can be used to create persistent objects? [6]
Ans:
i) .
ii)
January-2008 [24]
1.
b) In object oriented analysis and design, aggregation is considered as a special form of association. Explain with an example. [4]
e) What is the meaning of persistent and transient Objects in the object oriented databases? Can a single class have both types of instances in object oriented databases? [4]
f) Qualification improves semantic accuracy and increases the visibility of navigation paths in object oriented analysis and design. Explain with an example. [4]
g) “Underestimating multiplicity can restrict the flexibility of an application in object oriented technique”. Justify the statement. [4]
2.
a) Prepare an Object diagram for a graphical document editor that supports grouping, which is a concept used in a variety of graphical editors. Assume that a document is composed of several sheets. Each sheet contains drawing objects, including text, geometrical objects and groups. A group is simply a set of drawing objects, possibly including other groups. A group must contain at least two drawing objects. A drawing object can be a direct member of at most one group. Geometrical objects include circles, ellipses, rectangles, lines and squares. [8]
3. Object Oriented Programming
January-2004 [6]
7. Write short notes on the following:
a) Virtual functions [6]
Ans: A virtual function is the function with the help of which we can do different function by calling the same function. It is defined by the keyword “virtual”.
Ex:
/* Program to demonstrate virtual function*/
#include <iostream.h>
July-2004 [0]
January-2005 [20]
2.
c) Implement any four methods declared above in C++ or Java language. [6]
d) Identify object-oriented features used in the above code. [4]
6.
c) If an object is created without any reference to it, how can it be deleted? [4]
7.
c) What is JDBC? How does this works? Explain in brief. [6]
July-2005 [4]
1.
c) Under what conditions two objects of the same type are called deep equal? Also describe how is this equality different from shallow equal? [4]
January-2006 [18]
2.
b) Explain single and multiple inheritances and how Java supports them. Illustrate with suitable examples. [6]
3.
c) Explain abstraction and encapsulation concepts in object-oriented technology with a suitable example. Can abstraction and encapsulation be achieved in C programming language? If yes; then illustrate with an example in C otherwise explain. [8]
7.
b) If an object is created without any reference to it how can it be deleted? [4]
Ans: A ob
July-2006 [4]
1.
d) What is the virtual member function? How much does it cost to call a virtual function compared to calling a normal function? Can destructor be virtual? What is the purpose of a virtual destructor? [4]
January-2007 [4]
1.
b) Under what conditions two objects of the same type are called deep equal? Describe how this equality is different from shallow equal. [4]
July-2007 [19]
1.
b) How would you delete an object that is created without any references to it? [4]
2.
a) What do you understand by pointer swizzling? Describe the various approaches to pointer swizzling. [9]
3.
a) Explain as to how a persistent pointer is implemented. Contrast this implementation with that of pointers as they exist in general-purpose languages such as C or Pascal. [6]
January-2008 [0]
4. Overview Of Advanced Database Technology
January-2004 [38]
1.
e) Define the term distributed data Independence. Specifically, what does this mean with respect to querying and with respect to updating of data In the presence of data fragmentation and data replication? [4]
g) Define Data Mining? Mention any three applications where data mining is used. [4]
6.
a) Given a relation S(student, subject, marks), write a query to find the top n students by total marks, by using ranking. [5]
b) State any five advantages of OLAP over OLTP. [5]
c) What is meant by nested transaction? Discuss with an example various operations used in nested transaction. [8]
7. Write short notes on the following:
b) Advantages of Data warehouses [6]
c) Features of deductive databases [6]
July-2004 [59]
1.
c) Give an example execution sequence such that Two phase commit(2PC) and 2PC with presumed abort generate an identical sequence of actions. [4]
e) What is the ratio of the size of CUBE(F) to the size of F if fact table F has ten dimension attributes, each with two different values. [4]
3.
a) Compare the three approaches of serializability, namely, locks, timestamps and validation, with respect to storage utilization and performance. [9]
4. A multi national software company has decided to distribute its project management information at regional level. The current centralized relational. schema is as given below:
Employee(NIN, Fname, Iname, Address, DOB, Sex, Salary, TaxCode, DeptNo)
Department(DeptNo, DeptName, ManagerNIN, BusinessAreaNo, RegionNo)
Project(ProjNo, ProjName, ConractPrice, ProjectManagerNIN,DeptNo)
Workson(NIN, ProjNo, HoursWorked)
Business(BusinessAreaNo, BusinessAreaName)
Region(RegionNo, RegionName)
Department are grouped regionally as Region 1: Scotland, Region 2: Wales and Region 3: England. Information is required by business area, which covers Software engineering, Mechanical engineering and Electrical engineering. There is no software engineering in Wales and Electrical Engineering departments are in England. Projects are staffed by local department offices. As well as distributing the data regionally, there is an additional requirement to access employee data either by personal information ( by Personnel) or by work related information ( by payroll).
Produce a distributed database design for this system by including the following details:
a) A suitable fragmentation schema for the system. [6]
b) In the case of primary horizontal fragmentation, a minimal set of predicates. [6]
c) The reconstruction of necessary global relations from fragments. [6]
6.
b) Discuss the salient features of an Active database. How do you model an active database? [6]
7.
a) State why, for the integration of multiple heterogeneous information sources, many companies in industry prefer the update-driven approach rather than query driven approach? [6]
b) What is a star schema? Is it typically in BCNF? Why or why not? [6]
c) Draw the architecture of a data warehouse and describe the various components involved in it. [6]
January-2005 [0]
July-2005 [86]
1.
e) Compare OLAP systems with OLTP with respect to orientation, user, unit of work, number of users accessed, priority and metric features. [4]
f) Distinguish between transaction queries and data warehouse queries. [4]
2.
a) Discuss why two-phase locking protocol is not appropriate for indexes. [6]
b) Explain the concepts of serial, non-serial and serializable schedules. State also the rules for equivalence of schedules. [12]
3.
a) Give details of the centralized two-phase commit protocol in a distributed environment. Outline the algorithms for both coordinator and participants. [10]
b) Define distributed join. Explain its representation in relational algebra. [8]
4.
a) State any five weaknesses of Relational Database Management Systems. [6]
5.
b) What is meant by nested transaction? Discuss with an example various operations used in nested transaction. [6]
6. Suppose that a data warehouse consists of four dimensions date, spectator, location and game and the two measures count and charge, where charge is the fare that a spectator pays when watching a game on a given date. Spectators may be students, adults, or seniors. With each category having its own charge rate.
a) Draw a star schema diagram for the data warehouse. [6]
b) How many cuboids are needed to build the data cube? List them [6]
c) Starting with base cubiod, what specific OLAP operations should one need to perform in order to list the total charge paid by student spectators at New Delhi in the year 2004? [6]
7.
a) State and justify the Thomas write rule. [6]
b) Define Data Mining? Mention any three applications where data mining is used. [6]
January-2006 [4]
7.
d) Explain in brief the features of deductive databases. [4]
Ans: Features are
a) Have it own rules and facts
b) Facts serves as tables and rules use to gather information form facts
c) Faster accessibility
d) Deals with large database.
e) Rules are based on mathematical formulas
f) New facts can be created with this rules.
July-2006 [66]
1.
e) What is active database? How does it differ from object-oriented database? [4]
Ans: Active data base has some sort active rules which are triggered when an events or condition is occurred. They are important enhancement of a database. Active database is based on three components:
1) Event: It is responsible for trigger of rules.
2) Condition: It decided whether an active rules should be triggered or not.
3) Action: The set of sequence of code which are contained in active rule.
f) What is multimedia database? How does it differ from conventional database? What are the different types of multimedia data? [4]
4.
c) What is distributed database management system? How does it differ from object oriented database management systems? [4]
5.
a) What do you mean by a recovery in database management system? What is the necessity of recovery? What are the possible reasons for a transaction to fail in the middle of the execution? What is the transaction processing? [18]
6.
a) FDBS is an Integration of autonomous database system. State whether FDBS is a type of Distributed Database System. Discuss the issues affecting the design of FDBSs (Federated database). [3+7]
Ans: Federated database is a type of meta database management system where multiple collection of database is integrated into single federated database. Each database is connected via a computer network. Federated database can be classified as centralized or distributed database system based on the storage of data in single computer or multiple computers.
b) What is the data mining and data warehouse? Explain data mining process as a part of the knowledge discovery process in brief.
[4]
Ans: Data Mining: - It is a process of semi automatically analyzing the large database to find the useful pattern of data. It attempts to discover rules and pattern of the data. It deals with large volume of database or set of rules. It is the core of knowledge discovery process.
Data ware house: It is the process of gathering information from various source and stored in a single site. It is the respiratory of the information. Once it gather a data, it keep it for a long time and also permits access of data. It provides a single address for data and also make the decision support queries easier.
c) List the main features of an oracle distributed database management system and draw the block diagram of it. [4]
Ans:
The main features of Oracle distributed database management system are::
a) Data sharing
b) Reliability
c) Accessibility
d) Data transparency
e) Data Replication
f) Data fragmentation
g) Faster query processing
7. Consider the following database schema, where underline indicates primary or foreign key.
EMPLOYEE
FName
Minit
LName
SSN
BDate
Add
Sex
Salary
SuperSSN
DNo
DEPARTMENT
DName
DNumber
MGRSSN
MGR StartDate
DEPT_LOCATION
DNumber
DLocation
PROJECT
WORKS_ON
DEPENDENT
ESSN
Dependent Name
Sex
BDate
Relationship
Write a SQl Query to retrieve the following data:
a) Make a list of all project numbers for project that involve an employee whose last name is “smith”, either as a worker or as a manager of the department that controls the project. [4]
b) Retrieve the name of each employee who has dependent with same first name and same sex as the employee. [4]
c) Retrieve the name of each employee who works on all projects controlled by department number 5. [4]
d) List the name of managers who have at least one dependent. [4]
e) Retrieve all employees in department 5 whose salary is between Rs. 30,000 and Rs. 40,000. [2]
January-2007 [58]
1.
d) State any six salient differences between OLTP and OLAP systems? [4]
Ans:
OLTP
OLAP
Holds current data
Holds Historical data
Data are dynamic
Data are static
Stores details data
Stores details and summarize data
Predictable pattern can be use
Unpredictable pattern is used
Support day to day decision
Support strategic decision
Application oriented
Subject oriented
Transaction throughput is high
Transaction throughput is low
2.
a) Explain the concepts of serial, non-serial and serializable schedules. State also the rules for equivalence of schedules.
Ans: Serializability : A schedule that is equivalent (in its outcome) to a serial schedule has the serializability property.
[6]
Serial: The transactions are executed non-interleaved (see example above). I.e., a serial schedule is one in which no transaction starts before a running transaction ends.
Non Serial : Transaction are interleaved. There are many possible order of the transaction.
b) State the advantages of distributed DBMS over a centralized DBMS? [6]
c) What is meant by nested transaction? Discuss with an example the various operations used in nested transaction. [6]
Ans: A nested transaction is a new transaction that is created inside an existing transaction by some instruction.
The various operation used in nested transaction are-
1) SAVEPOINT: they are the method of creating transaction similar to BEGIN.
2) ROLLBACK TO: revert the database to the point where it was before the SAVEPOINT.
3) RELEASE: it causes all the savepoints including the most recent one removed from the transaction stack.
3.
a) How recovery is handled in distributed system? Discuss with example. [6]
b) Define distributed join. Explain its representation in relational algebra. [6]
Ans: Join between the records of the database that reside in the distributive system is called distributed join.
4.
b) What are the major functions of OLAP tool? Name any two commercial tools. [6]
6.
a) Suppose that a data warehouse consists of four dimensions date, spectator, location and game and the two measures count and charge, where charge is the fare that a spectator pays when watching a game on a given date, Spectators may be students, adults or seniors. With each category having its own charge rate. Draw a star schema diagram for the data warehouse and state how many cuboids are needed to build the data cube? [6]
b) Explain with an example, how parallel queries are executed? [6]
7.
b) What are the typical requirements of clustering in data mining? [6]
Ans:
1) Scalability
2) Deals with different types of attributes
3) high Dimension
4) Able to deals with noise
5) Interpretability and Usability
6) Domain knowledge to determine input parameter
July-2007 [40]
1.
b) Discuss as to how serializability is used to enforce concurrency control in a database system? Why serializability is sometimes considered too restrictive as a measure of correctness of schedules? [6]
c) Differentiate between the constrained write and the unconstrained write assumptions. Which is more realistic and why? [6]
d) Discuss various measures of transaction equivalence. What is the difference between conflict equivalence and view equivalence? [4]
Ans:
View equivalence
Two schedules S1 and S2 are said to be view-equivalent when the following conditions are satisfied:
1. If the transaction Ti in S1 reads an initial value for object X, so does the transaction Ti in S2.
2. If the transaction Ti in S1 reads the value written by transaction Tj in S1 for object X, so does the transaction Ti in S2.
3. If the transaction Ti in S1 is the final transaction to write the value for an object X, so is the transaction Ti in S2.
Conflict equivalence
The schedules S1 and S2 are said to be conflict-equivalent if the following conditions are satisfied:
1. Both schedules S1 and S2 involve the same set of transactions (including ordering of actions within each transaction).
2. The order of each pair of conflicting actions in S1 and S2 are the same.
5.
b) Consider the following relations:
Employee(name, address, salary, plant-number)
Machine(machine-number, type, plant-number)
Assume that
the employee relation is fragmented horizontally by plant-number and that each fragment is stored locally at its corresponding plant site.
the machine relation is stored in its entirety at the Armonk site.
Describe a good strategy for processing each of the following queries.
i) Find all employees at the plant that contains machine number 1130.
ii) Find all employees at plants that contains machine whose type is “milling machine”.
iii) Find all machines at the Almaden Plant. [6]
6.
b) Discuss the system of propagation of privileges and the restraints imposed by horizontal and vertical propagation limits. [6]
c) Discuss main categories of OLAP tools as suggested by Berson and Smith. [6]
Ans The main categories of OLAP tool are:
a) Multidimensional OLAP: When the OLAP uses multidimensional array to process multidimensional data then the OLAP is called multidimensional.
b) Relational OLAP: When the OLAP is integrated into relational system and process the data of relational database then it is called relational OLAP.
c) Hybrid OLAP: It is the combination of both multidimensional OLAP and relational OLAP.
7.
a) Discuss why two-phase locking protocol is not appropriate for indices? [6]
Ans: Boecause Two phase locking not appropriate because:
1) not freedom ftrom DEADLAOCK
2) CASCADE ROLLBACK may occur
3) Incas need better consistency
4) Locking should be done only one
5) Tree structure is follows
6) Data integeity is most imporatnat
7) Unlocking is required any time
8) Locking of a data require to lock the parent
January-2008 [38]
3.
c) Differentiate between the concept of Data independence in distributed DBMS and the concept of data independence in centralized DBMS. [4]
4.
b) What is the meaning and type of distributed database? Define the term Distributed DBMS. Explain the objectives of distributed databases. [10]
5.
a) With neat sketch, explain the architecture of typical data mining system. [8]
Ans:
c) Give comparison between On Line Transaction Processing (OLTP) and On Line Analytical Processing (OLAP). [4]
7.
a) Differentiate the following Database concepts:
i) Remote Update Vs. Distributed Update
ANS:
REMOTE UPDATE
DISTRIBUTED UPDATE
USER MUST CONNECT SERVER
DATABASE IS ON THE COMPUTER
USER MUST HAVE ACCOUNT
DONOT REQUIRED ACCOUNT
USER MUST HAVE PASSWORD AND USERNAME
PASSWORD IS OPTIONAL
USER CONNECT AS GOBAL USER
REMOTE SERVER IS SHARED
DATABASE IS SAHRED
ii) Remote Transaction Vs. Distributed Updates. [6]
Ans:
REMOTE TRANSACTION
DISTRIBUTED TRANSACION
Transaction are in single mode
Transactions are in multiple mode.
Does not update individually
Update individually
USER MUST HAVE PASSWORD AND USERNAME
PASSWORD IS OPTIONAL
USER CONNECT AS GOBAL USER
REMOTE SERVER IS SHARED
DATABASE IS SAHRED
b) What is the meaning of nested transactions in object oriented database management system? Discuss various operations used in nested transaction. [6]
5. Object Oriented Database Systems (including Object Relational Database systems)
January-2004 [27]
1.
b) State various concepts, with one example for each, that are essential in defining an Object Oriented (OO) Database. [4]
3.
a) Discuss with examples various object oriented extensions that are supported In Oracle. [9]
4.
a) Explain how the concept of object Identity in an object-oriented model differs from the concept tuple equality in the relational model. [5]
5.
a) Discuss various characteristics of object hierarchies and entity hierarchies. [9]
July-2004 [17]
1.
b) Mention the type systems offered by Object Definition Language (ODL) to the database designer? [4]
g) Write type declaration for the following in SQL:
i) NameType, with components for first, middle and last names and a title.
ii) PersonType, with a name of the person and references to the persons that are their mother and father. You must use the type form part(i) in your declaration.
iii) MarriageType, with the date of the marriage and reference to the husband and wife. [4]
2.
a) Discuss the necessary features that are needed to consider into account for extending relational model into the Object relational model. [9]
January-2005 [34]
1.
g) How object hierarchies are formed? Illustrate with a suitable example. [4]
5.
a) How does the concept of an object in the object-oriented model differ from the concept of an entity in the entity-relationship model? [6]
c) How the above object-orientation [in Q. 5. b)] can be supported in SQL? List the characteristic features of SQL to deal with object-orientation. [6]
6.
d) Compare and contrast relational database and object-relational database models. [6]
7.
a) List important features of object definition and object manipulation languages. [6]
b) How large-object particularly multimedia objects are stored in object-oriented database systems? Explain. [6]
July-2005 [16]
1.
b) What are the main differences between designing a relational database and an object oriented database? [4]
5.
a) Compare ORDBMS and OODBMS with respect to Data sharing, data modeling and data accessing. [12]
January-2006 [28]
5. Consider the following details of a database system, which is required by an academic institute to automate many of its administrative activities. Carryout the questions (a), (b) and (c) listed below:
- The database system caters to the needs of three types of members – faculty, student and staff members.
- All members have a name (string), an address (string) and an Id (integer). In addition, faculty-members have a few research interests (an array of strings) and Office-telephone number (integer); student-members have an academic program number (integer) and staff-members have an employee-number (integer).
b) How the above object-orientation can be supported in SQL? List the characteristic features of SQL to deal with object-orientation. [6]
6.
b) Differentiate between a relational database and object-relational database models. [6]
Ans:
RDBMS
OODBMS
It does not support nested structure
It supports nested structure.
Limited data type
Arbitrary data type
Favors where data is importance
Favour where relation is importance then data
No concept of object is use
Concept of object is used
Data cannot be hide
Data can hide
Polymorphism can’t be use
Polymorphism can be use
c) Using description given in question 5, describe how does the concept of an object in the object-oriented model differ from the concept of an entity in the entity-relationship model? [6]
7.
a) How are large objects such as multimedia objects are stored in object-oriented database systems? Explain in details. [6]
Ans:
c) Distinguish between relational database and object-relational database models. [4]
July-2006 [26]
2.
a) What is relational database management system? What is object oriented database management system? Differentiate between the conceptual design of object database and relational database. [3+3+8]
Ans: Relational database management system is a system where data’s are stored in the form of rows and clomuns. Here records are called relation. The rows of the records are called tuples and columns are called attributes. Tuples use to indicate the records and attributes are used to indicate fields.
Object oriented database system is the system where object is use as the basic run time entity. Object can be a person, place or things or any other item that is handeld by oodbms. Objects are create the partition in the memory where data along with set of operation to acess them is stored.
4.
a) What is data definition and a data manipulation in object database 02 differs from data definition and data manipulation in object database object store. [12]
Ans: Data definition means defining the structure of data, its content, length , type etc. Data definition language is used to define the data structure of a date.
Data manipulation is the way to handle the data, use the data or manipulate and change the data.
In O2 , the O2 consist of a set, schema and a database. The data types are defined by the schema and database contains the data. O2 are the basis of O2 C language which is fourth generation language.
O2 handles values and object in different ways. Values have a type recursively defined by atomic type and type constructor. Object has an identity, value and behavior defined by method.
O2 in order to become persistent the have to directly attached with the persistence root defined by the schema in the class.
O2 has three level of encapsulation:
a) Class Encapsulation: Attribute is private by default and method as either private or public.
b) Schema Encapsulation: Schema can defined an class which can be also reuse by another class.
c) Database Encapsulation: Permits reutilization of data and communication of heterogeneous database.
January-2007 [38]
1.
a) Explain clearly in what way designing an object oriented database is different from relational database. [4]
g) What kinds of support are available in Oracle 9i for ORDBMS? [4]
Ans: Support that are available in Oraclai 9i are:
a) Real application cluster
b) Data guard
c) Memory Undo Management
d) Zero data loss
e) Dynamic memory pool
f) XML type
g) Two Phase recovery
h) Java support
i) C and C++ support
j) Asp,php support
3.
c) How does the concept of an object in object-oriented model differ from the concept of an entity in the ER diagram? [6]
Ans: Difference between OODM and ER diagram are:
OODM
E-R DIAGRAM
Model based on collection of object
Model based on collection of object and their relationship.
Objects are unique
Entities are not unique
Object contains instance variable
Entities contain attribute
Object is communicating with each other though message.
No concept is of message is used here
Class is used which is an instance of object
No concept of class is used.
Does not represent using graph or diagram.
Diagram is used to represent E-R
4.
a) Discuss various types of concept hierarchies by providing two examples for each type. [6]
Ans : The various types of hierarchies are:
a) Abstraction
b) Generalisation
c) Specilasiont
d) Classification
5.
a) Compare ORDBMS and OODBMS with respect to Data sharing, data modeling and data accessing. [6]
Ans:
7.
a) How are large objects such as multimedia objects stored in object-oriented database systems? [6]
c) State the new kinds of data types supported in object-database system. Give an example for each and discuss how the example situation would be handled if only RDBMS were available. [6]
July-2007 [34]
1.
a) What is the conceptual difference between an object in the object-oriented model and an entity in the entity-relationship model? [4]
4.
a) Describe the limitations of Relational Data Model that have called for object orientation. [6]
Ans: The limitation are:
a) Temporal data
b) Unstructured data
c) Object Identity
d) Explicit relationship
e) Generalization and Inheritance
f) Multimedia data
5.
a) Compare OODBMS with ORDBMS to find the points of similarities and dissimilarities. [6]
6.
a) List the advantages and disadvantages of an OODBMS? [6]
Ans: The disadvantage of an OODBMS are:-
a) Maintainance cost is high
b) Implement cost is high
c) Not suitable for all application
d) Difficult to maintain
7.
b) How large-objects particularly multimedia objects are stored in object-oriented database system? Explain the procedure. [6]
c) How object hierarchies are formed? Illustrate with a suitable example. [6]
January-2008 [28]
1.
5d) How does the concept of an object in the object oriented model differ from the concept of an entity in entity relationship model? [4]
3.
5b) Enumerate the strengths and weaknesses of object oriented database management system. [8]
6.
5a) SQL Extension and Extension to an OO Programming are two approaches used for object query language. Compare and contrast between “SQL Extension” and “Extension to an OO programming language”. [4]
5b) Explain, how the concept of data identity in relational database management system differs from the concept of Object identity in object oriented database management system. [6]
Ans: Object create portion in the computer memory where the data’s and the set of operation to access those data are kept. Objects are identified by their id. Object id is just a pointer. Variables contain this object id. In programs object is passed by argument where object id is used.
Data identity: Data are identified in the relational database by using common characteristic found within data set. In relational database the data’s are kept in the form of rows and columns. Each records is knows as relations. The rows in the relation is known as tuple and columns are knows as the attribute.
So the attribute defines the fields and on the basis of this attributes the data s are identified.
7.
5c) What is object oriented database? What is the requirement of object oriented databases? Explain the advantages of object oriented databases over relational databases. [6]
6. Distributed Object Oriented Systems Standards (OMG & CORBA)
January-2004 [31]
1.
a) For which category of applications, the use of object data management is more appropriate? State any three relevant applications pertaining to the use of object data management principles. [4]
2.
a) Discuss the main concepts of ODMG object model. Give an example to illustrate each of the concepts.
[8]
b) Discuss the salient differences between static and dynamic service invocations mechanisms In CORBA? [5]
c) Discuss the role of OMG In forming standards In Object Oriented (OO) technology. [5]
3.
b) Explain how does ODMG group by clause differ from the SQL group by clause? Give an example to illustrate your answer. [9]
July-2004 [16]
1.
d) Discuss the main concepts of ODMG object model. [4]
6.
a) Discuss the salient differences between static and dynamic service invocations mechanism in CORBA? [7]
c) Discuss the role of OMG in forming standards in OOP technology. [5]
January-2005 [18]
4.
a) Describe in brief, the need of formulating middleware standards like (CORBA) in distributed object-oriented systems. [6]
b) Explain in brief the architecture of CORBA with special reference to ORB, IDL and protocols. [6]
c) What are the roles of stubs and skeletons? What is object marshalling? [6]
July-2005 [14]
4.
b) State the functions of ODMG object definition and object management languages. [8]
7.
c) State the difference between static and dynamic service invocation mechanism in CORBA. [6]
January-2006 [18]
4.
a) What is OMG? Explain in brief. [3]
Ans: Cobra was first published by OMG. OMG is the world’s largest software consortium which develops objects oriented industrial guidelines for distributive application. OMG specifications are designed in such a way that they are well enough standard and flexible to handles distributive application.
OMG has developed a object oriented architecture which provides complete architectural framework for COBRA. OMG is open for all members.
OMG is designed object oriented architecture so that platform application can interact each other. OMA is composed of two models:
a) Object Model: In this model object are distributed in heterogeneous network.
b) Reference Model: Here the interaction of those objects is represented.
In OMA a client send request to object which perform services on the behalf of location and implementation and this are hide from the client. All the components in OMA architecture are object. If an non object oriented software want to participate in OMA it should first warped into objects.
b) What is an ORB and what are its functions? [3]
Ans: ORB stands for object oriented broker. It is middle software which helps the programmer to call programs from different computer via network.
The function of ORB is to build a system by combining different small pieces of object from different program using network .ORB is also responsible for hiding:-
a) OBJECT LOCATION
b) OBJECT IMPLEMENTATION
c) OBJECT EXECUTION STATE
d) OBJECT COMMUNICATION MECHANISM
c) What is CORBA? Give a brief explanation about the CORBA arid its architecture. [6]
Ans: COBRA stands for common object request broker. It allows software to talk with each other in a very well defined way. They also maintain transparent in the entire task.
The main features of COBRA are:
a) Transparency
b) Location Transparency
c) Portability
d) Platform Independent
e) Software reuse
f) Integration
COBRA services:
a) Naming services allow the object to bind with a naming content.
b) Object Persistent Service allows the object to be persistent beyond the scope of application
c) License service allows controlling the intellectual properties of object.
d) Security service allow to identify and authenticate an object
e) Collective Service allow to make group of object
f) Query service allows making query on the set of object.
g) Transaction service allows maintaining atomicity among distributive objects.
COBRA Architecture:
COBRA Needs:
a) Need for location transparency
d) What are CORBA services? Explain with some example. [6]
July-2006 [12]
3.
a) Explain how object management group standard (OMG) – CORBA allows object to communicate in distributed heterogeneous environment, providing transparency across network, operating system and programming language boundaries. [12]
January-2007 [6]
6.
c) Describe in brief the need for formulative middleware standard like CORBA in distributed object oriented systems. [6]
July-2007 [4]
1.
g) What is the objective of CORBA? Why is it relevant to ODMG (Object Database Management Group) standard? [4]
January-2008 [28]
2.
6b) Write the necessary steps which are required to implement an “Object Model”. [6]
3.
6a) For which category of application, the use of object data management is more appropriate? State any three relevant application pertaining to the use of object data management principles. [6]
4.
6a) What is CORBA? Explain the services provided by the CORBA to support the integration and interoperation of distributed objects. [8]
6.
6c) What is Object Management Group (OMG) reference model? Explain the responsibilities, purposes and major components of OMG reference model. [8]
Ans: The following figure illustrates the primary components in the OMG Reference Model architecture. Descriptions of these components are available further below. Portions of these descriptions are based on material from [Vinoski].
Figure 1. OMG Reference Model Architecture
Object Services -- These are domain-independent interfaces that are used by many distributed object programs. For example, a service providing for the discovery of other available services is almost always necessary regardless of the application domain. Two examples of Object Services that fulfill this role are:
The Naming Service -- which allows clients to find objects based on names;
The Trading Service -- which allows clients to find objects based on their properties.
There are also Object Service specifications for lifecycle management, security, transactions, and event notification, as well as many others [OMG:95b].
Common Facilities -- Like Object Service interfaces, these interfaces are also horizontally-oriented, but unlike Object Services they are oriented towards end-user applications. An example of such a facility is the Distributed Document Component Facility (DDCF), a compound document Common Facility based on OpenDoc. DDCF allows for the presentation and interchange of objects based on a document model, for example, facilitating the linking of a spreadsheet object into a report document.
Domain Interfaces -- These interfaces fill roles similar to Object Services and Common Facilities but are oriented towards specific application domains. For example, one of the first OMG RFPs issued for Domain Interfaces is for Product Data Management (PDM) Enablers for the manufacturing domain. Other OMG RFPs will soon be issued in the telecommunications, medical, and financial domains.
Application Interfaces - These are interfaces developed specifically for a given application. Because they are application-specific, and because the OMG does not develop applications (only specifications), these interfaces are not standardized. However, if over time it appears that certain broadly useful services emerge out of a particular application domain, they might become candidates for future OMG standardization.
ORB Architecture
7. Security Authorization
January-2004 [0]
July-2004 [6]
5.
c) Discuss briefly about the implementation aspects of security. [6]
January-2005 [0]
July-2005 [4]
1.
g) List out the main types of threat that could affect a database system. [4]
January-2006 [0]
July-2006 [0]
January-2007 [4]
1.
f) Why does the need of encryption still require when a DBMS already supports discretionary and mandatory access control? [4]
July-2007 [0]
January-2008 [6]
5.
b) What is a database authorization? How database authorization is done in relational database management system? [6]
1. Overview of Object Oriented Concepts
January-2004 [5]
4.
b) What Is the difference between overloading and overriding methods? [5]
Ans: The difference between are-
Overloading
Overriding
1. Deal with multiple methods.
2. Have same class with same name but different signature.
3. Codes
4. Compile time polymorphism is implemented.
5. Define operation act in different way for different data types.
1. Deals with two methods.
2. Have same class with same name but same signature.
3. Codes
4. Run time polymorphism is implemented.
5. Define operation act in different way for different object type.
July-2004 [6]
5.
a) Discuss the salient differences between overloading and overriding methods. [6]
January-2005 [14]
1. Briefly explain the following:
a) How does object-oriented programming style offer better reusability of code than modular programming? [4]
Ans: The concept of inheritance provides the idea of reusability. We can reuse a particular class to another class. That means reusability help us to add new features to an existing class without modifying it. The new class will have the features of both the classes. The programmer can reuse a class in such that it would not affect the other class. It means that if we require some new object that also needs some functionality of existing one's then it is easy to inherit the existing one instead of writing all the required code once again.
d) How is method-overriding different from method-overload? [4]
c) Why do we talk about message-dispatch in object-oriented systems rather than a function-call? [4]
Ans: In object oriented programming we use the concept of message dispatch. Object communicates with one another by sending and receiving message. A message for an object is a request for execution of a procedure and it invoke the function in the receiving object that generates desired result. It is a way of handling an event in the system.
Function call is used in procedure oriented language to execute the chunk of code when the program reaches that section of code.
2.
a) What distinguishes an ADT from a class? [2]
Ans: ADT stands for abstract data type which means that the data types that have similar semantic or behavior.
Abstract class is the class that cannot be use to create objects. It can only be used as base class.
An abstract class is a generalization concept. It is a class you invent to only use as a base class for inheritance but not to instantiate objects from
And abstract data type is not necessarily an OOP concept. It is an older term to describe the concepts of for example Stack and Queue in terms of their functionality, without describing the implementation.
An Abstract Data Type (ADT) is a mathematical model of a type of data. It describes operations that can be performed on the data and the mathematical definition of those operations using equations.
July-2005 [4]
4.
c) How a DBMS exploits encapsulation in implementing support for Abstract Data Types (ADTs). [4]
Ans:
January-2006 [32]
1. Briefly explain the following:
b) Define classes, abstract classes and interfaces and explain their utility. [4]
Ans: Interface is the interaction between two system or groups. This interaction can be in the form of human interaction, computer system or any other means of communication. Physical interface is the interaction between two items of hardware.
e) Distinguish between a function call and message dispatch. [4]
f) Distinguish between method overloading and method-overriding. [4]
g) Explain static and dynamic binding. [4]
Ans: Static binding is one in which the memory allocated remain to the data structure remain same or fixed at the compile time.
A dynamic binding is one in which the memory locations and the size of data structures are allocated at the run time.
2.
c) Define inheriting rule, subtype rule and method selection rule. Explain with examples. [6]
Ans: Inheritance is the process in which an object of a class can inherit property of another class. In inheritance there is bass class and drive class. The drive class is a class that can inherit some or all the property of bass class.
Subtype rule is a type of polymorphism in which a subtype is a data type that is related to another data type by some function.
Method selection rule: Method are the function that are associated with a class or an object. Methods provides the mechanism to access and manipulates encapsulate data stored in a object.
3.
a) Distinguish between procedural programming paradigm and object-oriented programming paradigm. What are the benefits of object-oriented programming over procedural programming? [4]
b) Explain static and dynamic polymorphism with suitable examples. [6]
Ans:
Static Examples: The System.out.println() method
is an example that may take String or Object references, boolean and
other primitive types as an argument
Dynamic Examples: For example, any class may override the
Object.toString() method and provide its own implementation, and this
is known at compile time
July-2006 [8]
1.
a) What is the purpose of inheritance? How does object oriented technique help produce flexible and extensible software? [4]
Ans: Inheritance is the property of Object oriented language with the help of which object of one class can inherited all or some property of object of another class.
Object oriented approach breakdown the whole program into small modules called objects. Each object contains data and function to access those data. Each object communicate with other though message. The data of an object can be hiding such that it can be only accessed by the function within that object. Identifying the error in object does not require much effort. Modification can be easily implement in object oriented language.
b) What are the advantages of polymorphism and dynamic binding? [4]
Ans Polymorphism is the phenomenon with the help of which an operation can take different form and behave differently at different time. This behavior is depends upon the type of data.
Dynamic binding is one which helps to link the procedure call to the code to be executed in respond. In it the memory is allocated to the data structure only at the run time. It uses the concept of pointer.
January-2007 [10]
1.
e) How does DBMS exploit the encapsulation in implementing support of ADTs? [4]
4.
c) How does a DBMS exploit encapsulation in implementing support for Abstract Data Types (ADTs)? [6]
Ans: In abstraction we just more concentrate on the essential details of the object and we ignore the non-essential details of the object. In encapsulation it hides or prevents the access to non-essential details of the object. These both are related to each other. We take an example of television. We just switch on the TV and see the programs there and change the channel continuously. So we more concentrate on the programs so this is abstraction. Also we don't know simultaneously what internal processing running inside the TV is. So this is encapsulated from us.
July-2007 [4]
1.
e) Differentiate between Overriding and Overloading with suitable example. [4]
January-2008 [12]
1.
a) Abstraction is a fundamental human capability that permits us to deal with complexity. Justify this statement. [4]
Ans: Abstraction is the process with the help of which we can hide the details and concentrate on the general and common properties of a set of object. Through the process of abstraction, a programmer hides all but the relevant data about an object in order to reduce complexity and increase efficiency. In the same way that abstraction sometimes works in art, the object that remains is a representation of the original, with unwanted detail omitted. The resulting object itself can be referred to as an abstraction, meaning a named entity made up of selected attributes and behavior specific to a particular usage of the originating entity.
c) Give reasons why it is necessary to override a feature in object oriented programming. [4]
2.
c) Differentiate between overloading and overriding of methods in object oriented programming with suitable examples. Explain using C++ code. [4]
Ans: Overloading example:
ClassMyString
{
public:
charmember1[100];
voidoperator+(MyStringval)
{
strcat(member1,val.member1);
}
};
Overriding example:
ref class Base
{
public:
virtual void Goo()
{
Show("Base::Goo");
}
virtual void Boo()
{
Show("Base::Boo");
}
virtual void Doo()
{
Show("Base::Doo");
}
};
ref class Derived : Base
{
public:
//Overrides Base::Goo
virtual void Goo()
{
Show("Derived::Goo");
}
//Overrides Base::Boo as above
virtual void Boo() = Base::Boo
{
Show("Derived::Boo");
}
//Hides Base::Doo
virtual void Doo() new
{
Show("Derived::Doo");
}
};
2. Object Oriented Analysis and Design (OOAD)
January-2004 [29]
1.
c) State the difference between persistent and transient objects. How persistence is handled In Object Oriented (OO) database systems? [4]
Ans: The difference between persistent and transient object is as follows:-
A persistent object is a permanent object. They are session or application variables. They are stored in database. They remain alive till the termination of the program or user session.
Transient objects are temporary object. They are local variables. They remain alive within a function/program where they are declared. When the execution of function/program is over the object in no more remain alive.
Persistence objects are handled by two ways:
1) Naming Mechanism: In this process an object is given a unique persistent name though statement or set of operations. By using this unique persistent name they are retrieving within a program or other program.
2) Reach ability: In this process an object is made persistent by making the object reachable from some persistent object.
d) How are relationships are represented in Object Oriented (OO) data model? Discuss also the importance of inverse references in Object Oriented (OO) data model. [4]
Ans: An association among entities lead to relationships.
There are three types of relationship that exist among entities:-
a) One to one:- One to one relationship is the relationship between two entities.
b) One to Many:-It is the relationship between one entity with more than one entities.
c) Many to Many: It is the relationship among different entities with each other.
In object oriented data model relationship is represented though two way:
1) “IS-A” (INHERITANCE): In this type of relationship the object of a class inherited some or all the proprieties of another object of a class.
2)
3) “HAS_A” (COMPOSITION): In this type of relationship a common object is compose from two or more object of a class exhibiting similar functionality. The key concept is that we can manipulate a single instance of object just as manipulating group of objects.
IRI or inverse reference in object oriented data model can be defined as the traversal of composition hierarchy into inverse direction. It is important to invalidate the dependent method in object composition hierarchy.
f) What Is versioning? Why Is It Important? [4]
Ans: Versioning of a software/system basically mean that a new software/ system is being made with new features add from the existing system or software. This new software is a modified copy of the pervious system which has some new features than other previous system. Every new version of an software has a unique version number for its identification.
Versioning is important for:-
1) Adding new features in existing system.
2) Make it more reliable.
3) To improve a software performance.
4) To overcome its deficiency.
5) To correct bugs.
6) To keep it in the market.
4.
c) A car rental company maintains a vehicle database for all vehicles in Its current fleet. For all vehicles, It Includes the vehicle identification number, license number, manufacturer, model, data of purchase and color. Special data are Included for certain types of vehicles;
Trucks:
Sports car. Vans:
Off-road vehicles:
cargo capacity;
horse power, rental age requirement
number of passengers
ground clearance, drlvertraln (four or two wheel drive)
Construct an object oriented database schema definition for this database. Use Inheritance wherever appropriate. [8]
Ans:
5.
b) Discuss with an example Chen-Chen methodology for object-oriented design. [9]
Ans: E-R Model was introduced by Chen. Entity Relationship modeling gives us a detailed, logical description about entities, association and data element within an organization or business area. This technique is used in database design to represent the entities in an enterprise and their relation with one another.
The E-R model has three features to describe data:-
a) Entities:- An entity is the person, place or event of interest to the organization.
b) Attributes:- The data items that describe the entity.
c) Relationship:- An association of several entities.
E-R diagram representation:- E-R diagram is represented by the following symbols
1) Rectangle Represents Entity
2) Oval Represent Attributes
3) Diamond Represents relationships
4) Line _________ Link to attributes to entity set and entity sets
to relationships.
Ex
There are three types of relationship that exist among entities:-
a) One to one:- One to one relationship is the relationship between two entities.
b) One to Many:-It is the relationship between one entity with more than one entities.
c) Many to Many: It is the relationship among different entities with each other.
Database Design Using E-R Model: A database which conform the E_R Diagram can be represented by a table or a set of tables.
Teacher Student
T_no
Name
Address
Salary
Tips to Draw E-R diagram
a) Do not introduce unwanted details
b) Merge the entities with common attributes.
c) Divide complex entities into sub-entities.
July-2004 [32]
1.
a) Under what circumstances a relationship is its own inverse? Explain. [4]
Ans: An inverse or negative relationship is a mathematical relationship in which one variable decreases as another increases. For example, there is an inverse relationship between education and unemployment — that is, as education increases, the rate of unemployment decreases.
A one-to-many relationship between the two sets is also called an inverse functional relation. The diagram below illustrates an inverse functional relation.
A many-to-one relationship between two sets is also called a functional relation (or simply function). The diagram below illustrates a functional relation.
A one-to-one relationship between two sets is also called a bijection, which is illustrated below.
Binary Relation (Many-to-Many)
f) Class diagrams developed using Booch's methodology can serve as the functional specification of a system. Justify whether this statement is true or false. [4]
Ans: The Booch software engineering methodology [#!booch!#] provides an object-oriented development in the analysis and design phases. The analysis phase is split into steps. The first step is to establish the requirements from the customer perspective. This analysis step generates a high-level description of the system's function and structure. The second step is a domain analysis. The domain analysis is accomplished by defining object classes; their attributes, inheritance, and methods. State diagrams for the objects are then established. The analysis phase is completed with a validation step. The analysis phase iterates between the customer's requirements step, the domain analysis step, and the validation step until consistency is reached.
Once the analysis phase is completed, the Booch software engineering methodology develops the architecture in the design phase. The design phase is iterative. A logic design is mapped to a physical design where details of execution threads, processes, performance, location, data types, data structures, visibility, and distribution are established. A prototype is created and tested. The process iterates between the logical design, physical design, prototypes, and testing.
The Booch software engineering methodology is sequential in the sense that the analysis phase is completed and then the design phase is completed. The methodology is cyclical in the sense that each phase is composed of smaller cyclical steps. There is no explicit priority setting nor a non-monotonic control mechanism. The Booch methodology concentrates on the analysis and design phase and does not consider the implementation or the testing phase in much detail.
2.
b) Develop an object diagram for a graphical document editor that support grouping, which is a concept used in a variety of graphical editors. Assume that a document is composed of several sheets. Each sheet contains drawing objects, including text, geometrical objects and groups. A group is simply a set of drawing objects, possibly including other groups. A group must contain at least two drawing objects. A drawing object can be a direct member of at most one group. Geometrical objects include circles, ellipse, rectangles and squares. [9]
3.
b) Decide which model(s) (object, dynamic and functional) are relevant for the following aspects of a computer chess player. The board and pieces will be displayed graphically on a video display. Human moves will be indicated via a cursor controlled by a mouse. Of course, in some cases, more than one category may apply. Defend your answers.
i) User interface which displays computer moves and accept human moves.
ii) Representation of a configuration of pieces on the board.
iii) Consideration of a sequence of possible legal moves.
iv) Validation of a move requested by a human player. [9]
5.
b) Explain the differences between triggers and integrity constraints. [6]
Ans:
TRIGGER
INTEGRITY CONSTRAINTS
Set of pl/sql statement those are stored permanently in database.
Set of predefine rule for table column at the time of creating table or after creating table.
It will not affect the row.
It will affect the existing row.
It is not applied to data
It is applied to data.
IT can be automatically execute.
It doesn’t.
A trigger can enforce integrity.
Integrity can’t enforce trigger.
It is a procedure stored in database.
It is used to maintain date integrity .
January-2005 [50]
1. Briefly explain the following:
b) How do IS-A and HAS-A relationships help in developing object-oriented design? [4]
Ans:
e) What is an association relationship? Give one example of one-to-many association. [4]
Ans: The association relationship is a way of describing that a class knows about and holds a reference to another class. This can be described as a "has-a" relationship because the typical implementation in Java is through the use of an instance field. The relationship can be bi-directional with each class holding a reference to the other. Aggregation and composition are types of association relationships.
f) What is object serialization? How is the concept linked to object-persistence? [4]
Ans: Serialization is the process of converting a data structure or object into a sequence of bits so that it can be stored in a file, a memory buffer, or transmitted across a network connection link to be "resurrected" later in the same or another computer environment.
2.
b) Declare a class for a Rational Number ADT. (A rational number is represented by P/Q where P and Q are integers). [6]
3. Consider the following details of a Library Management system (LMS), which is required by an academic institute to automate book/periodical issuing activities. Carry-out the jobs (a) – (b) listed below: -
- Library books and periodicals are issued o three types of members – faculty, student and staff members.
- All members have a name (string), an address (string) and an Id (integer). In addition, faculty-members have a few research interests (an array of strings) and Office-telephone number (integer); student-numbers have an academic program number (integer) and staff-members have an employee-number (integer).
- You may further assume that a faculty can issue a book for 4 months, a staff for 2 months and a student for 15 days. The Issuing period for a periodical for a faculty-member is 7 days; periodicals are not issued to staff and students.
a) Identify classes and their relationships and represent them using notations of Booch methods. [9]
b) Write complete declarations of all the classes/subclasses. [9]
5.
b) A Used-vehicle Sale Company maintains a vehicle database for all vehicles in its current fleet. For all vehicles, it includes the vehicle identification number, registration number, manufacturer, model, first-sales company’s name, insurance status and date of first purchase. For certain categories of vehicle, the following data is also available:
Trucks: cargo capacity
Sports car:Horse poser, and
Vans : Seating capacity.
Create an object-oriented database schema definition for this database. [6]
6.
a) What is persistent programming language? How do they make object persistent? [4]
Ans: Programming languages that natively and seamlessly allow objects to continue existing after the program has been closed down are called persistent programming languages.
There are three classes of solutions for implementing persistence in object-oriented applications: the gateway-based object persistence approach, which involves adding object-oriented programming access to persistent data stored using traditional non-object-oriented data stores, the object-relational database management system (DBMS) approach, which involves enhancing the extremely popular relational data model by adding object-oriented modeling features, and the object-oriented DBMS approach (also called the persistent programming language approach), which involves adding persistence support to objects in an object-oriented programming language.
b) Consider a system that provides persistent objects. Is such a system necessarily a database system? Explain. [4]
July-2005 [8]
1.
a) State the difference between persistent and transient objects? How persistence is handled in OODBMS? [4]
d) What is check pointing? Why is it needed? [4]
Ans: Check pointing is a technique for inserting fault tolerance into computing systems. It basically consists of storing a snapshot of the current application state, and later on, use it for restarting the execution in case of failur.
Needs:
1) High availibity.
2) Recoverable long run processes.
3) Time-travelling debugging.
4) -1 day patching
January-2006 [36]
1. Briefly explain the following:
a) Compare object oriented design with procedure-oriented design. [4]
c) What is meant by separation of interface and implementation in object-oriented design? [4]
ANS:
d) Distinguish between coupling and cohesion. Which is encouraged by object-oriented technology? [4]
Ans: Cohesion is the measure of the functional strength of a module whereas coupling of a module is a measure of degree of interdependent or interaction between the two modules.
Coupling encourage the object oriented technology.
2.
a) Define inheritance relationship, composition relationship and association relationship in object-oriented technology. Also define and discuss their role in system development. [6]
5. Consider the following details of a database system, which is required by an academic institute to automate many of its administrative activities. Carryout the questions (a), (b) and (c) listed below:
- The database system caters to the needs of three types of members – faculty, student and staff members.
- All members have a name (string), an address (string) and an Id (integer). In addition, faculty-members have a few research interests (an array of strings) and Office-telephone number (integer); student-members have an academic program number (integer) and staff-members have an employee-number (integer).
a) Identify the features of the above systems, which would help in object-oriented design. [6]
c) Create an object-oriented database schema definition for this database. [6]
6.
a) What is object serialization? How is the concept linked to object-persistence? How does a persistent programming language help in object-oriented databases? [6]
July-2006 [18]
1.
c) While using object oriented analysis multiple inheritance in type hierarchy occurs when a certain subtype T is a subtype of one or more than one types and hence inherits the function of one or more than one super type. State whether the sentence is true or false. Justify your answer. [4]
g) What is persistent programming language? How do they make object persistent? [4]
2.
b) What is the importance of checkpoints in the database management system? How checkpoints are used in the system log file of database management system? [4]
Ans:
3.
b) What do you understand by in database management system? Give differences between versions and configurations. What is concurrent engineering? [6]
Ans: Revision control, also known as version control, source control or software configuration management (SCM), is the management of changes to documents, programs, and other information stored as computer files. It is most commonly used in software development, where a team of people may change the same files. Changes are usually identified by a number or letter code, termed the "revision number", "revision level", or simply "revision".
Difference:
Configuration Management is the approach used in managing the individual components (software & hardware) that make up the ‘System’.
Version Control is part of Configuration Management. Version control is saving files and keeping different versions of them, so you can see the change over time.
Concurrent Engineering is a work methodology based on the parallelization of tasks (i.e. performing tasks concurrently). It refers to an approach used in product development in which functions of design engineering, manufacturing engineering and other functions are integrated to reduce the elapsed time required to bring a new product to the market.
January-2007 [16]
1.
c) What is check pointing? Why is it needed? [4]
5.
b) How is Chen-Chen methodology used for object oriented design? [6]
c) What is the purpose of creating an intersection record in mapping object-oriented models to hierarchical networks? [6]
Ans: A junction record is a member record type that allows for many-to-many relationship between its two owner records. A junction record is called intersection record. It is important in hierarchical network. A hierarchical network model is a data model where data’s are arrange in hierarchical form. It follows the tree structure. Here the root note is placed at the top and the rest of the nodes are under root note. The root node has a link with the sub-nodes and each sub node is further link with their sub node. For representing this link among the nodes we required to create an intersection record. Intersection record helps us hold the connection among all nodes and we can move from one node to another at anytime.
For example: Take the employment management system. In this system there are different tables and each table has different data’s. The employee personal details table is different from salary table, salary table is different from loan table and so on. So the personal table consist of data like- emp id,emp name,add,design, date of join etc and the salary table consist of data like- emp id,emp name, month, salary ,paid etc. So each table in employee database is related to other table though some common record such as emp_id,emp name. This record are the intersection record for employee database which bind all the table together in an hierchical order.
July-2007 [35]
1.
c) How do IS-A and HAS-A relationships help in developing object-oriented design? [4]
f) What is object serialization? How is the concept linked to object-persistence? [4]
2.
b) A Vehicle Rental Company maintains a vehicle database for all vehicles in its current fleet. For all vehicles, it includes the vehicles identification number, registration number, Engine number, manufacturer model, colour of vehicle, date of purchase and the drivers of vehicles. Special data are included for certain types of vehicles:
* Trucks: Cargo capacity
* Sports Cars: Horsepower, renter age requirement
* Vans: Number of passengers
* Off road vehicles: ground clearance, drivetrain (four or two-wheel drive)
Similarly, the details of drivers include such items as driver’s name, date of birth, Licence Number, Permanent Account Number and the type of vehicles he is allowed to drive.
Construct an object oriented database schema for this example. Use inheritance where appropriate. [9]
b) Differentiate between edges in DAG representing inheritance and a DAG representing object containment. [6]
ANS: In DAG representing inheritance the arrow follows in only one direction. There can be only one path between vertexes to other. It follows the “ÏS-A” inheritance relationship. The base class is serve as vertex and all other class are derive class or child class. Each child class can have only one edge connected to the base class.
For example—
Take the case of Animal.
In this case we see that there can only one path exist among the class to the vertex. Here Animal is the vertex as because it is the base class and remaining class are derive from it. Secondly, the class Domestic and Wild have sub-class under it which is served as grandchild of the vertex. There exists only one path between the vertex and grandchild class and they are as follows:
DOG DOMESTIC Animal
COWDOMESTICAnimal
LIONWILDAnimal
TIGERWILDAnimal
In DAG of object containment each object can contain other object .The contained object can be called composite object. Here it follows “Has-A” relation. An object can be seen as manipulating group of object. Multiple edges can be possible here. An class can inherit property from more than one class.
For example:-
Here we cans see the multiple path can be exists among the class. Elephant can be wild also and it can be domestic also. So the class takes both the features of class domestic and wild and is manipulated as single class. The multiple path are:
ELEPHANTDOMESTICAnimal AND ELEPHANTWILDAnimal
c) Why do persistent programming languages allow transient objects? Is it not simple to use only persistent objects with unneeded objects deleted at the end of an execution? Explain with justification. [6]
5.
c) Describe the main strategies that can be used to create persistent objects? [6]
Ans:
i) .
ii)
January-2008 [24]
1.
b) In object oriented analysis and design, aggregation is considered as a special form of association. Explain with an example. [4]
e) What is the meaning of persistent and transient Objects in the object oriented databases? Can a single class have both types of instances in object oriented databases? [4]
f) Qualification improves semantic accuracy and increases the visibility of navigation paths in object oriented analysis and design. Explain with an example. [4]
g) “Underestimating multiplicity can restrict the flexibility of an application in object oriented technique”. Justify the statement. [4]
2.
a) Prepare an Object diagram for a graphical document editor that supports grouping, which is a concept used in a variety of graphical editors. Assume that a document is composed of several sheets. Each sheet contains drawing objects, including text, geometrical objects and groups. A group is simply a set of drawing objects, possibly including other groups. A group must contain at least two drawing objects. A drawing object can be a direct member of at most one group. Geometrical objects include circles, ellipses, rectangles, lines and squares. [8]
3. Object Oriented Programming
January-2004 [6]
7. Write short notes on the following:
a) Virtual functions [6]
Ans: A virtual function is the function with the help of which we can do different function by calling the same function. It is defined by the keyword “virtual”.
Ex:
/* Program to demonstrate virtual function*/
#include <iostream.h>
July-2004 [0]
January-2005 [20]
2.
c) Implement any four methods declared above in C++ or Java language. [6]
d) Identify object-oriented features used in the above code. [4]
6.
c) If an object is created without any reference to it, how can it be deleted? [4]
7.
c) What is JDBC? How does this works? Explain in brief. [6]
July-2005 [4]
1.
c) Under what conditions two objects of the same type are called deep equal? Also describe how is this equality different from shallow equal? [4]
January-2006 [18]
2.
b) Explain single and multiple inheritances and how Java supports them. Illustrate with suitable examples. [6]
3.
c) Explain abstraction and encapsulation concepts in object-oriented technology with a suitable example. Can abstraction and encapsulation be achieved in C programming language? If yes; then illustrate with an example in C otherwise explain. [8]
7.
b) If an object is created without any reference to it how can it be deleted? [4]
Ans: A ob
July-2006 [4]
1.
d) What is the virtual member function? How much does it cost to call a virtual function compared to calling a normal function? Can destructor be virtual? What is the purpose of a virtual destructor? [4]
January-2007 [4]
1.
b) Under what conditions two objects of the same type are called deep equal? Describe how this equality is different from shallow equal. [4]
July-2007 [19]
1.
b) How would you delete an object that is created without any references to it? [4]
2.
a) What do you understand by pointer swizzling? Describe the various approaches to pointer swizzling. [9]
3.
a) Explain as to how a persistent pointer is implemented. Contrast this implementation with that of pointers as they exist in general-purpose languages such as C or Pascal. [6]
January-2008 [0]
4. Overview Of Advanced Database Technology
January-2004 [38]
1.
e) Define the term distributed data Independence. Specifically, what does this mean with respect to querying and with respect to updating of data In the presence of data fragmentation and data replication? [4]
g) Define Data Mining? Mention any three applications where data mining is used. [4]
6.
a) Given a relation S(student, subject, marks), write a query to find the top n students by total marks, by using ranking. [5]
b) State any five advantages of OLAP over OLTP. [5]
c) What is meant by nested transaction? Discuss with an example various operations used in nested transaction. [8]
7. Write short notes on the following:
b) Advantages of Data warehouses [6]
c) Features of deductive databases [6]
July-2004 [59]
1.
c) Give an example execution sequence such that Two phase commit(2PC) and 2PC with presumed abort generate an identical sequence of actions. [4]
e) What is the ratio of the size of CUBE(F) to the size of F if fact table F has ten dimension attributes, each with two different values. [4]
3.
a) Compare the three approaches of serializability, namely, locks, timestamps and validation, with respect to storage utilization and performance. [9]
4. A multi national software company has decided to distribute its project management information at regional level. The current centralized relational. schema is as given below:
Employee(NIN, Fname, Iname, Address, DOB, Sex, Salary, TaxCode, DeptNo)
Department(DeptNo, DeptName, ManagerNIN, BusinessAreaNo, RegionNo)
Project(ProjNo, ProjName, ConractPrice, ProjectManagerNIN,DeptNo)
Workson(NIN, ProjNo, HoursWorked)
Business(BusinessAreaNo, BusinessAreaName)
Region(RegionNo, RegionName)
Department are grouped regionally as Region 1: Scotland, Region 2: Wales and Region 3: England. Information is required by business area, which covers Software engineering, Mechanical engineering and Electrical engineering. There is no software engineering in Wales and Electrical Engineering departments are in England. Projects are staffed by local department offices. As well as distributing the data regionally, there is an additional requirement to access employee data either by personal information ( by Personnel) or by work related information ( by payroll).
Produce a distributed database design for this system by including the following details:
a) A suitable fragmentation schema for the system. [6]
b) In the case of primary horizontal fragmentation, a minimal set of predicates. [6]
c) The reconstruction of necessary global relations from fragments. [6]
6.
b) Discuss the salient features of an Active database. How do you model an active database? [6]
7.
a) State why, for the integration of multiple heterogeneous information sources, many companies in industry prefer the update-driven approach rather than query driven approach? [6]
b) What is a star schema? Is it typically in BCNF? Why or why not? [6]
c) Draw the architecture of a data warehouse and describe the various components involved in it. [6]
January-2005 [0]
July-2005 [86]
1.
e) Compare OLAP systems with OLTP with respect to orientation, user, unit of work, number of users accessed, priority and metric features. [4]
f) Distinguish between transaction queries and data warehouse queries. [4]
2.
a) Discuss why two-phase locking protocol is not appropriate for indexes. [6]
b) Explain the concepts of serial, non-serial and serializable schedules. State also the rules for equivalence of schedules. [12]
3.
a) Give details of the centralized two-phase commit protocol in a distributed environment. Outline the algorithms for both coordinator and participants. [10]
b) Define distributed join. Explain its representation in relational algebra. [8]
4.
a) State any five weaknesses of Relational Database Management Systems. [6]
5.
b) What is meant by nested transaction? Discuss with an example various operations used in nested transaction. [6]
6. Suppose that a data warehouse consists of four dimensions date, spectator, location and game and the two measures count and charge, where charge is the fare that a spectator pays when watching a game on a given date. Spectators may be students, adults, or seniors. With each category having its own charge rate.
a) Draw a star schema diagram for the data warehouse. [6]
b) How many cuboids are needed to build the data cube? List them [6]
c) Starting with base cubiod, what specific OLAP operations should one need to perform in order to list the total charge paid by student spectators at New Delhi in the year 2004? [6]
7.
a) State and justify the Thomas write rule. [6]
b) Define Data Mining? Mention any three applications where data mining is used. [6]
January-2006 [4]
7.
d) Explain in brief the features of deductive databases. [4]
Ans: Features are
a) Have it own rules and facts
b) Facts serves as tables and rules use to gather information form facts
c) Faster accessibility
d) Deals with large database.
e) Rules are based on mathematical formulas
f) New facts can be created with this rules.
July-2006 [66]
1.
e) What is active database? How does it differ from object-oriented database? [4]
Ans: Active data base has some sort active rules which are triggered when an events or condition is occurred. They are important enhancement of a database. Active database is based on three components:
1) Event: It is responsible for trigger of rules.
2) Condition: It decided whether an active rules should be triggered or not.
3) Action: The set of sequence of code which are contained in active rule.
f) What is multimedia database? How does it differ from conventional database? What are the different types of multimedia data? [4]
4.
c) What is distributed database management system? How does it differ from object oriented database management systems? [4]
5.
a) What do you mean by a recovery in database management system? What is the necessity of recovery? What are the possible reasons for a transaction to fail in the middle of the execution? What is the transaction processing? [18]
6.
a) FDBS is an Integration of autonomous database system. State whether FDBS is a type of Distributed Database System. Discuss the issues affecting the design of FDBSs (Federated database). [3+7]
Ans: Federated database is a type of meta database management system where multiple collection of database is integrated into single federated database. Each database is connected via a computer network. Federated database can be classified as centralized or distributed database system based on the storage of data in single computer or multiple computers.
b) What is the data mining and data warehouse? Explain data mining process as a part of the knowledge discovery process in brief.
[4]
Ans: Data Mining: - It is a process of semi automatically analyzing the large database to find the useful pattern of data. It attempts to discover rules and pattern of the data. It deals with large volume of database or set of rules. It is the core of knowledge discovery process.
Data ware house: It is the process of gathering information from various source and stored in a single site. It is the respiratory of the information. Once it gather a data, it keep it for a long time and also permits access of data. It provides a single address for data and also make the decision support queries easier.
c) List the main features of an oracle distributed database management system and draw the block diagram of it. [4]
Ans:
The main features of Oracle distributed database management system are::
a) Data sharing
b) Reliability
c) Accessibility
d) Data transparency
e) Data Replication
f) Data fragmentation
g) Faster query processing
7. Consider the following database schema, where underline indicates primary or foreign key.
EMPLOYEE
FName
Minit
LName
SSN
BDate
Add
Sex
Salary
SuperSSN
DNo
DEPARTMENT
DName
DNumber
MGRSSN
MGR StartDate
DEPT_LOCATION
DNumber
DLocation
PROJECT
WORKS_ON
DEPENDENT
ESSN
Dependent Name
Sex
BDate
Relationship
Write a SQl Query to retrieve the following data:
a) Make a list of all project numbers for project that involve an employee whose last name is “smith”, either as a worker or as a manager of the department that controls the project. [4]
b) Retrieve the name of each employee who has dependent with same first name and same sex as the employee. [4]
c) Retrieve the name of each employee who works on all projects controlled by department number 5. [4]
d) List the name of managers who have at least one dependent. [4]
e) Retrieve all employees in department 5 whose salary is between Rs. 30,000 and Rs. 40,000. [2]
January-2007 [58]
1.
d) State any six salient differences between OLTP and OLAP systems? [4]
Ans:
OLTP
OLAP
Holds current data
Holds Historical data
Data are dynamic
Data are static
Stores details data
Stores details and summarize data
Predictable pattern can be use
Unpredictable pattern is used
Support day to day decision
Support strategic decision
Application oriented
Subject oriented
Transaction throughput is high
Transaction throughput is low
2.
a) Explain the concepts of serial, non-serial and serializable schedules. State also the rules for equivalence of schedules.
Ans: Serializability : A schedule that is equivalent (in its outcome) to a serial schedule has the serializability property.
[6]
Serial: The transactions are executed non-interleaved (see example above). I.e., a serial schedule is one in which no transaction starts before a running transaction ends.
Non Serial : Transaction are interleaved. There are many possible order of the transaction.
b) State the advantages of distributed DBMS over a centralized DBMS? [6]
c) What is meant by nested transaction? Discuss with an example the various operations used in nested transaction. [6]
Ans: A nested transaction is a new transaction that is created inside an existing transaction by some instruction.
The various operation used in nested transaction are-
1) SAVEPOINT: they are the method of creating transaction similar to BEGIN.
2) ROLLBACK TO: revert the database to the point where it was before the SAVEPOINT.
3) RELEASE: it causes all the savepoints including the most recent one removed from the transaction stack.
3.
a) How recovery is handled in distributed system? Discuss with example. [6]
b) Define distributed join. Explain its representation in relational algebra. [6]
Ans: Join between the records of the database that reside in the distributive system is called distributed join.
4.
b) What are the major functions of OLAP tool? Name any two commercial tools. [6]
6.
a) Suppose that a data warehouse consists of four dimensions date, spectator, location and game and the two measures count and charge, where charge is the fare that a spectator pays when watching a game on a given date, Spectators may be students, adults or seniors. With each category having its own charge rate. Draw a star schema diagram for the data warehouse and state how many cuboids are needed to build the data cube? [6]
b) Explain with an example, how parallel queries are executed? [6]
7.
b) What are the typical requirements of clustering in data mining? [6]
Ans:
1) Scalability
2) Deals with different types of attributes
3) high Dimension
4) Able to deals with noise
5) Interpretability and Usability
6) Domain knowledge to determine input parameter
July-2007 [40]
1.
b) Discuss as to how serializability is used to enforce concurrency control in a database system? Why serializability is sometimes considered too restrictive as a measure of correctness of schedules? [6]
c) Differentiate between the constrained write and the unconstrained write assumptions. Which is more realistic and why? [6]
d) Discuss various measures of transaction equivalence. What is the difference between conflict equivalence and view equivalence? [4]
Ans:
View equivalence
Two schedules S1 and S2 are said to be view-equivalent when the following conditions are satisfied:
1. If the transaction Ti in S1 reads an initial value for object X, so does the transaction Ti in S2.
2. If the transaction Ti in S1 reads the value written by transaction Tj in S1 for object X, so does the transaction Ti in S2.
3. If the transaction Ti in S1 is the final transaction to write the value for an object X, so is the transaction Ti in S2.
Conflict equivalence
The schedules S1 and S2 are said to be conflict-equivalent if the following conditions are satisfied:
1. Both schedules S1 and S2 involve the same set of transactions (including ordering of actions within each transaction).
2. The order of each pair of conflicting actions in S1 and S2 are the same.
5.
b) Consider the following relations:
Employee(name, address, salary, plant-number)
Machine(machine-number, type, plant-number)
Assume that
the employee relation is fragmented horizontally by plant-number and that each fragment is stored locally at its corresponding plant site.
the machine relation is stored in its entirety at the Armonk site.
Describe a good strategy for processing each of the following queries.
i) Find all employees at the plant that contains machine number 1130.
ii) Find all employees at plants that contains machine whose type is “milling machine”.
iii) Find all machines at the Almaden Plant. [6]
6.
b) Discuss the system of propagation of privileges and the restraints imposed by horizontal and vertical propagation limits. [6]
c) Discuss main categories of OLAP tools as suggested by Berson and Smith. [6]
Ans The main categories of OLAP tool are:
a) Multidimensional OLAP: When the OLAP uses multidimensional array to process multidimensional data then the OLAP is called multidimensional.
b) Relational OLAP: When the OLAP is integrated into relational system and process the data of relational database then it is called relational OLAP.
c) Hybrid OLAP: It is the combination of both multidimensional OLAP and relational OLAP.
7.
a) Discuss why two-phase locking protocol is not appropriate for indices? [6]
Ans: Boecause Two phase locking not appropriate because:
1) not freedom ftrom DEADLAOCK
2) CASCADE ROLLBACK may occur
3) Incas need better consistency
4) Locking should be done only one
5) Tree structure is follows
6) Data integeity is most imporatnat
7) Unlocking is required any time
8) Locking of a data require to lock the parent
January-2008 [38]
3.
c) Differentiate between the concept of Data independence in distributed DBMS and the concept of data independence in centralized DBMS. [4]
4.
b) What is the meaning and type of distributed database? Define the term Distributed DBMS. Explain the objectives of distributed databases. [10]
5.
a) With neat sketch, explain the architecture of typical data mining system. [8]
Ans:
c) Give comparison between On Line Transaction Processing (OLTP) and On Line Analytical Processing (OLAP). [4]
7.
a) Differentiate the following Database concepts:
i) Remote Update Vs. Distributed Update
ANS:
REMOTE UPDATE
DISTRIBUTED UPDATE
USER MUST CONNECT SERVER
DATABASE IS ON THE COMPUTER
USER MUST HAVE ACCOUNT
DONOT REQUIRED ACCOUNT
USER MUST HAVE PASSWORD AND USERNAME
PASSWORD IS OPTIONAL
USER CONNECT AS GOBAL USER
REMOTE SERVER IS SHARED
DATABASE IS SAHRED
ii) Remote Transaction Vs. Distributed Updates. [6]
Ans:
REMOTE TRANSACTION
DISTRIBUTED TRANSACION
Transaction are in single mode
Transactions are in multiple mode.
Does not update individually
Update individually
USER MUST HAVE PASSWORD AND USERNAME
PASSWORD IS OPTIONAL
USER CONNECT AS GOBAL USER
REMOTE SERVER IS SHARED
DATABASE IS SAHRED
b) What is the meaning of nested transactions in object oriented database management system? Discuss various operations used in nested transaction. [6]
5. Object Oriented Database Systems (including Object Relational Database systems)
January-2004 [27]
1.
b) State various concepts, with one example for each, that are essential in defining an Object Oriented (OO) Database. [4]
3.
a) Discuss with examples various object oriented extensions that are supported In Oracle. [9]
4.
a) Explain how the concept of object Identity in an object-oriented model differs from the concept tuple equality in the relational model. [5]
5.
a) Discuss various characteristics of object hierarchies and entity hierarchies. [9]
July-2004 [17]
1.
b) Mention the type systems offered by Object Definition Language (ODL) to the database designer? [4]
g) Write type declaration for the following in SQL:
i) NameType, with components for first, middle and last names and a title.
ii) PersonType, with a name of the person and references to the persons that are their mother and father. You must use the type form part(i) in your declaration.
iii) MarriageType, with the date of the marriage and reference to the husband and wife. [4]
2.
a) Discuss the necessary features that are needed to consider into account for extending relational model into the Object relational model. [9]
January-2005 [34]
1.
g) How object hierarchies are formed? Illustrate with a suitable example. [4]
5.
a) How does the concept of an object in the object-oriented model differ from the concept of an entity in the entity-relationship model? [6]
c) How the above object-orientation [in Q. 5. b)] can be supported in SQL? List the characteristic features of SQL to deal with object-orientation. [6]
6.
d) Compare and contrast relational database and object-relational database models. [6]
7.
a) List important features of object definition and object manipulation languages. [6]
b) How large-object particularly multimedia objects are stored in object-oriented database systems? Explain. [6]
July-2005 [16]
1.
b) What are the main differences between designing a relational database and an object oriented database? [4]
5.
a) Compare ORDBMS and OODBMS with respect to Data sharing, data modeling and data accessing. [12]
January-2006 [28]
5. Consider the following details of a database system, which is required by an academic institute to automate many of its administrative activities. Carryout the questions (a), (b) and (c) listed below:
- The database system caters to the needs of three types of members – faculty, student and staff members.
- All members have a name (string), an address (string) and an Id (integer). In addition, faculty-members have a few research interests (an array of strings) and Office-telephone number (integer); student-members have an academic program number (integer) and staff-members have an employee-number (integer).
b) How the above object-orientation can be supported in SQL? List the characteristic features of SQL to deal with object-orientation. [6]
6.
b) Differentiate between a relational database and object-relational database models. [6]
Ans:
RDBMS
OODBMS
It does not support nested structure
It supports nested structure.
Limited data type
Arbitrary data type
Favors where data is importance
Favour where relation is importance then data
No concept of object is use
Concept of object is used
Data cannot be hide
Data can hide
Polymorphism can’t be use
Polymorphism can be use
c) Using description given in question 5, describe how does the concept of an object in the object-oriented model differ from the concept of an entity in the entity-relationship model? [6]
7.
a) How are large objects such as multimedia objects are stored in object-oriented database systems? Explain in details. [6]
Ans:
c) Distinguish between relational database and object-relational database models. [4]
July-2006 [26]
2.
a) What is relational database management system? What is object oriented database management system? Differentiate between the conceptual design of object database and relational database. [3+3+8]
Ans: Relational database management system is a system where data’s are stored in the form of rows and clomuns. Here records are called relation. The rows of the records are called tuples and columns are called attributes. Tuples use to indicate the records and attributes are used to indicate fields.
Object oriented database system is the system where object is use as the basic run time entity. Object can be a person, place or things or any other item that is handeld by oodbms. Objects are create the partition in the memory where data along with set of operation to acess them is stored.
4.
a) What is data definition and a data manipulation in object database 02 differs from data definition and data manipulation in object database object store. [12]
Ans: Data definition means defining the structure of data, its content, length , type etc. Data definition language is used to define the data structure of a date.
Data manipulation is the way to handle the data, use the data or manipulate and change the data.
In O2 , the O2 consist of a set, schema and a database. The data types are defined by the schema and database contains the data. O2 are the basis of O2 C language which is fourth generation language.
O2 handles values and object in different ways. Values have a type recursively defined by atomic type and type constructor. Object has an identity, value and behavior defined by method.
O2 in order to become persistent the have to directly attached with the persistence root defined by the schema in the class.
O2 has three level of encapsulation:
a) Class Encapsulation: Attribute is private by default and method as either private or public.
b) Schema Encapsulation: Schema can defined an class which can be also reuse by another class.
c) Database Encapsulation: Permits reutilization of data and communication of heterogeneous database.
January-2007 [38]
1.
a) Explain clearly in what way designing an object oriented database is different from relational database. [4]
g) What kinds of support are available in Oracle 9i for ORDBMS? [4]
Ans: Support that are available in Oraclai 9i are:
a) Real application cluster
b) Data guard
c) Memory Undo Management
d) Zero data loss
e) Dynamic memory pool
f) XML type
g) Two Phase recovery
h) Java support
i) C and C++ support
j) Asp,php support
3.
c) How does the concept of an object in object-oriented model differ from the concept of an entity in the ER diagram? [6]
Ans: Difference between OODM and ER diagram are:
OODM
E-R DIAGRAM
Model based on collection of object
Model based on collection of object and their relationship.
Objects are unique
Entities are not unique
Object contains instance variable
Entities contain attribute
Object is communicating with each other though message.
No concept is of message is used here
Class is used which is an instance of object
No concept of class is used.
Does not represent using graph or diagram.
Diagram is used to represent E-R
4.
a) Discuss various types of concept hierarchies by providing two examples for each type. [6]
Ans : The various types of hierarchies are:
a) Abstraction
b) Generalisation
c) Specilasiont
d) Classification
5.
a) Compare ORDBMS and OODBMS with respect to Data sharing, data modeling and data accessing. [6]
Ans:
7.
a) How are large objects such as multimedia objects stored in object-oriented database systems? [6]
c) State the new kinds of data types supported in object-database system. Give an example for each and discuss how the example situation would be handled if only RDBMS were available. [6]
July-2007 [34]
1.
a) What is the conceptual difference between an object in the object-oriented model and an entity in the entity-relationship model? [4]
4.
a) Describe the limitations of Relational Data Model that have called for object orientation. [6]
Ans: The limitation are:
a) Temporal data
b) Unstructured data
c) Object Identity
d) Explicit relationship
e) Generalization and Inheritance
f) Multimedia data
5.
a) Compare OODBMS with ORDBMS to find the points of similarities and dissimilarities. [6]
6.
a) List the advantages and disadvantages of an OODBMS? [6]
Ans: The disadvantage of an OODBMS are:-
a) Maintainance cost is high
b) Implement cost is high
c) Not suitable for all application
d) Difficult to maintain
7.
b) How large-objects particularly multimedia objects are stored in object-oriented database system? Explain the procedure. [6]
c) How object hierarchies are formed? Illustrate with a suitable example. [6]
January-2008 [28]
1.
5d) How does the concept of an object in the object oriented model differ from the concept of an entity in entity relationship model? [4]
3.
5b) Enumerate the strengths and weaknesses of object oriented database management system. [8]
6.
5a) SQL Extension and Extension to an OO Programming are two approaches used for object query language. Compare and contrast between “SQL Extension” and “Extension to an OO programming language”. [4]
5b) Explain, how the concept of data identity in relational database management system differs from the concept of Object identity in object oriented database management system. [6]
Ans: Object create portion in the computer memory where the data’s and the set of operation to access those data are kept. Objects are identified by their id. Object id is just a pointer. Variables contain this object id. In programs object is passed by argument where object id is used.
Data identity: Data are identified in the relational database by using common characteristic found within data set. In relational database the data’s are kept in the form of rows and columns. Each records is knows as relations. The rows in the relation is known as tuple and columns are knows as the attribute.
So the attribute defines the fields and on the basis of this attributes the data s are identified.
7.
5c) What is object oriented database? What is the requirement of object oriented databases? Explain the advantages of object oriented databases over relational databases. [6]
6. Distributed Object Oriented Systems Standards (OMG & CORBA)
January-2004 [31]
1.
a) For which category of applications, the use of object data management is more appropriate? State any three relevant applications pertaining to the use of object data management principles. [4]
2.
a) Discuss the main concepts of ODMG object model. Give an example to illustrate each of the concepts.
[8]
b) Discuss the salient differences between static and dynamic service invocations mechanisms In CORBA? [5]
c) Discuss the role of OMG In forming standards In Object Oriented (OO) technology. [5]
3.
b) Explain how does ODMG group by clause differ from the SQL group by clause? Give an example to illustrate your answer. [9]
July-2004 [16]
1.
d) Discuss the main concepts of ODMG object model. [4]
6.
a) Discuss the salient differences between static and dynamic service invocations mechanism in CORBA? [7]
c) Discuss the role of OMG in forming standards in OOP technology. [5]
January-2005 [18]
4.
a) Describe in brief, the need of formulating middleware standards like (CORBA) in distributed object-oriented systems. [6]
b) Explain in brief the architecture of CORBA with special reference to ORB, IDL and protocols. [6]
c) What are the roles of stubs and skeletons? What is object marshalling? [6]
July-2005 [14]
4.
b) State the functions of ODMG object definition and object management languages. [8]
7.
c) State the difference between static and dynamic service invocation mechanism in CORBA. [6]
January-2006 [18]
4.
a) What is OMG? Explain in brief. [3]
Ans: Cobra was first published by OMG. OMG is the world’s largest software consortium which develops objects oriented industrial guidelines for distributive application. OMG specifications are designed in such a way that they are well enough standard and flexible to handles distributive application.
OMG has developed a object oriented architecture which provides complete architectural framework for COBRA. OMG is open for all members.
OMG is designed object oriented architecture so that platform application can interact each other. OMA is composed of two models:
a) Object Model: In this model object are distributed in heterogeneous network.
b) Reference Model: Here the interaction of those objects is represented.
In OMA a client send request to object which perform services on the behalf of location and implementation and this are hide from the client. All the components in OMA architecture are object. If an non object oriented software want to participate in OMA it should first warped into objects.
b) What is an ORB and what are its functions? [3]
Ans: ORB stands for object oriented broker. It is middle software which helps the programmer to call programs from different computer via network.
The function of ORB is to build a system by combining different small pieces of object from different program using network .ORB is also responsible for hiding:-
a) OBJECT LOCATION
b) OBJECT IMPLEMENTATION
c) OBJECT EXECUTION STATE
d) OBJECT COMMUNICATION MECHANISM
c) What is CORBA? Give a brief explanation about the CORBA arid its architecture. [6]
Ans: COBRA stands for common object request broker. It allows software to talk with each other in a very well defined way. They also maintain transparent in the entire task.
The main features of COBRA are:
a) Transparency
b) Location Transparency
c) Portability
d) Platform Independent
e) Software reuse
f) Integration
COBRA services:
a) Naming services allow the object to bind with a naming content.
b) Object Persistent Service allows the object to be persistent beyond the scope of application
c) License service allows controlling the intellectual properties of object.
d) Security service allow to identify and authenticate an object
e) Collective Service allow to make group of object
f) Query service allows making query on the set of object.
g) Transaction service allows maintaining atomicity among distributive objects.
COBRA Architecture:
COBRA Needs:
a) Need for location transparency
d) What are CORBA services? Explain with some example. [6]
July-2006 [12]
3.
a) Explain how object management group standard (OMG) – CORBA allows object to communicate in distributed heterogeneous environment, providing transparency across network, operating system and programming language boundaries. [12]
January-2007 [6]
6.
c) Describe in brief the need for formulative middleware standard like CORBA in distributed object oriented systems. [6]
July-2007 [4]
1.
g) What is the objective of CORBA? Why is it relevant to ODMG (Object Database Management Group) standard? [4]
January-2008 [28]
2.
6b) Write the necessary steps which are required to implement an “Object Model”. [6]
3.
6a) For which category of application, the use of object data management is more appropriate? State any three relevant application pertaining to the use of object data management principles. [6]
4.
6a) What is CORBA? Explain the services provided by the CORBA to support the integration and interoperation of distributed objects. [8]
6.
6c) What is Object Management Group (OMG) reference model? Explain the responsibilities, purposes and major components of OMG reference model. [8]
Ans: The following figure illustrates the primary components in the OMG Reference Model architecture. Descriptions of these components are available further below. Portions of these descriptions are based on material from [Vinoski].
Figure 1. OMG Reference Model Architecture
Object Services -- These are domain-independent interfaces that are used by many distributed object programs. For example, a service providing for the discovery of other available services is almost always necessary regardless of the application domain. Two examples of Object Services that fulfill this role are:
The Naming Service -- which allows clients to find objects based on names;
The Trading Service -- which allows clients to find objects based on their properties.
There are also Object Service specifications for lifecycle management, security, transactions, and event notification, as well as many others [OMG:95b].
Common Facilities -- Like Object Service interfaces, these interfaces are also horizontally-oriented, but unlike Object Services they are oriented towards end-user applications. An example of such a facility is the Distributed Document Component Facility (DDCF), a compound document Common Facility based on OpenDoc. DDCF allows for the presentation and interchange of objects based on a document model, for example, facilitating the linking of a spreadsheet object into a report document.
Domain Interfaces -- These interfaces fill roles similar to Object Services and Common Facilities but are oriented towards specific application domains. For example, one of the first OMG RFPs issued for Domain Interfaces is for Product Data Management (PDM) Enablers for the manufacturing domain. Other OMG RFPs will soon be issued in the telecommunications, medical, and financial domains.
Application Interfaces - These are interfaces developed specifically for a given application. Because they are application-specific, and because the OMG does not develop applications (only specifications), these interfaces are not standardized. However, if over time it appears that certain broadly useful services emerge out of a particular application domain, they might become candidates for future OMG standardization.
ORB Architecture
7. Security Authorization
January-2004 [0]
July-2004 [6]
5.
c) Discuss briefly about the implementation aspects of security. [6]
January-2005 [0]
July-2005 [4]
1.
g) List out the main types of threat that could affect a database system. [4]
January-2006 [0]
July-2006 [0]
January-2007 [4]
1.
f) Why does the need of encryption still require when a DBMS already supports discretionary and mandatory access control? [4]
July-2007 [0]
January-2008 [6]
5.
b) What is a database authorization? How database authorization is done in relational database management system? [6]
No comments:
Post a Comment