Mansaf Alam and Siri Krishan Wasan
Department of Computer Sciences, Jamia Millia Islamia, New Delhi, India.
Department of Mathematics, Jamia Millia Islamia, New Delhi, India.
A Comparative Study of RDBMs and OODBMs in Relation to Security of Data
1.
2.
3. Introduction The main features of RDBMS are based on Ted Codd’s thirteen rules for a relational system, the concept of relational integrity and normalization. RDBMS’s biggest advantage is the ease with which users can create and access data. However there are few limitations to the relational database management system. First, relational databases do not have enough storage structure to handle data such as images, digital and audio/video. Another limitation of the relational database is its inadequacy to operate with languages outside SQL. After its original development, languages such as C++ and JavaScript were formed. However, relational databases do not work efficiently with these languages. A third limitation is the requirement that information must be in tables form where relationships between entities are defined by values. To combat the limitations of RDBMS and meet the challenges of the increasing rise of the Internet, programmers developed object-oriented databases in the 1980s. Some new features that seem to be required in RDBMS have existed the Object Oriented Programming Languages.
4.
5.
6.
7. Continued The OODBMS has following advantages and benefits. (i), Object-oriented database management system is a more natural way of thinking. (ii) The defined operations of these types of systems are not dependent on the particular database application running at a given moment. (iii) The data types of object-oriented databases can be extended to support complex data such as images, digital and
8. Need for Object-Oriented Database The increased emphasis on process integration is a driving force for the adoption of object-oriented database systems. For example, the Computer Integrated Manufacturing (CIM) area is focusing heavily on the use of object-oriented database technology as the process integration framework Advanced office automation systems use object-oriented database systems to handle hypermedia data. Hospital patient care tracking systems use object-oriented database technologies for ease of use. All of these applications need to manage complex, highly interrelated information. The problem with relational database systems is that they require the application developer to force an information model into tables where relationships between entities are defined by values. Mary Loomis [9] the architect of the Versant OODBMS compares relational and object-oriented databases. Relational database design is really a process of trying to figure out how to represent real-world objects within the confines of tables in such a way that good performance results and preservation of data integrity is possible. Object database design is quite different. For the most part, object database design is a fundamental part of the overall application design process. The object classes used by the programming language are the classes used by the ODBMS. Because their models are consistent, there is no need to transform the program’s object model to something unique for the database manager [10]. An initial area of focus by several object-oriented database vendors has been the Computer Aided Design (CAD), Computer Aided Manufacturing (CAM) and Computer Aided Software Engineering (CASE) applications. A primary characteristic of these applications is the need to manage very complex information efficiently. For example, the manufacture of an aircraft requires the tracking of thousands of interdependent parts that may be assembled in different configurations. Object-oriented database systems hold the promise of putting solutions to these complex problems within reach of users. Object-orientation is yet another step in the quest for expressing solutions to problems in a more natural, easier to understand way. Michael Brodie in his book On Conceptual Modeling [2] states, "The fundamental characteristic of the new level of system description is that it is closer to the human conceptualization of a problem domain”. Descriptions at this level can enhance communication between system designers.
9. Continued Suppose we wish to define two object classes namely DEPT (departments) and EMP (employees). Also suppose that the user-defines classes MONEY and JOB and the class CHAR is built-in. Then the necessary class definition for DEPT and EMP might look somewhat as follows: CLASS DEPT PUBLIC (Dep# Char, Dname Char, Budget Money, MGR REF(EMP), EMPS REF(SET(REF(REF(EMP))))---- METHODS (HIR_EMP(REF(EMP))---code----, FIRST_EMP(REF(EMP))—code----,----‘ CLASS EMP PUBLIC (EMP# CHAR ENAME CHAR SALARY MONEY POSITION REF (JOB))--- METHOD (----)---; In the above example we used access specifiers that secure the data from unauthorized use of data. Only class member can access the data. All data and access methods are declared in the class, only defined method in class can access the data and manipulate it. This ways we can provide better security to data and save data from unauthorized use of data. With complex data, it is not unusual to find that an ODBMS will run anywhere from 10 to 1000 times faster than an RDBMS. The range of this performance advantage depends on the complexity of the data and the access patterns for the data. Why are ODBMSs faster? ODBMSs are optimized for the traversals related to complex data. They also do not have any “ impedance mismatch” when it comes to using object oriented programming languages such as Java and C++. High performance can impact business considerations in two ways: (i) We simply may need the best performance possible on complex data. (ii) We may take advantage of the high performance ODBMSs provide for complex data by purchasing cheaper hardware.
10. IMPLEMENTATION of OO Database It is easy to implement an Object-Oriented database design with an object-oriented language since language constructs are similar to design constructs. A precise definition of an object-oriented language is not crucial for selecting one. In general, an object oriented language support objects (combining data and operations), polymorphism at run-time, and Inheritance. A more formal discussion of essential concepts of object oriented languages and the diverse ways in which these concept are supported is found in [16] and [15]. The most important thing to notice is that these classes do not have the “get” and “set” methods that one might expect to see. This is because Oracle’s SQL has been extended to include syntax for manipulating the objects, including inserting, modifying, deleting, and retrieving values. Therefore, other than the initialize method that sets attributes to NULL, we need to include only operations that manipulate the contents of the class in some other way. CREATE TYPE Name AS OBJECT( first_name CHAR(15), last_name CHAR(15), middle_name CHAR(1); MEMBER PROCEDURE initialization; CREATE TYPE BODY Name AS MEMBER PROCEDURE initialize IS BEGIN Firs_name:=NULL; Last_name:=NULL; Middle_name:=NULL; END initialize; END; CREATE TABLE person ( person_ID integer, person_name, Name, birthdate Date local_ID CHAR(15) PRIMARY KEY person_ID));