A Comparative Study of RDBMs and OODBMs in Relation to Security of Data
A Comparative Study of RDBMs and OODBMs in Relation to Security of Data <ul><ul><ul><ul><li>*Mansaf Alam a and Sri Krishan Wasan b </li></ul></ul></ul></ul><ul><ul><ul><ul><li>a. Department of Computer Sciences, Jamia Millia Islamia, New Delhi, India, </li></ul></ul></ul></ul><ul><ul><ul><ul><li>b. Department of Mathematics, Jamia Millia Islamia, New Delhi, India, email@example.com </li></ul></ul></ul></ul><ul><ul><ul><ul><li> </li></ul></ul></ul></ul><ul><ul><ul><ul><ul><li>*Corresponding Author: Mansaf Alam, Department of Computer Science, Jamia Millia Islamia, New Delhi-25, [email_address] </li></ul></ul></ul></ul></ul>
Abstract <ul><ul><ul><li>Object-Oriented technology represents real world very well. It focuses on data rather than procedure, and gives more security to data. Also, it is safe from unauthorized use of data as it provides three access specifiers viz. private, public and protected, and strictly provides security to data in database. It also provides function as well as data together so that the data can be manipulated by the given function. </li></ul></ul></ul><ul><li> </li></ul>
<ul><ul><li>Continued </li></ul></ul><ul><ul><li>It is therefore natural to consider some of these features in respect of database systems. In other word, this resulted into consideration of what is known as Object Oriented database system, OODBMS. It is more than clear that no attempt should be made to replace relational system to OO database system. On the contrary one should look for rapprochement between RDBMS and OO technology . The main objective of Object-Oriented Database Management Systems, commonly known as OODBMS, is to provide consistent, data independent, secure, controlled and extensible data management services to support the object-oriented models and to handle large and complex data that relational databases could not handle. In this paper, we show that the data is more secure in object-oriented database than in relational database. We also discuss as to why we should migrate from RDBMS into OODBMS. </li></ul></ul><ul><ul><li> </li></ul></ul>
Characteristics of OODBMS <ul><li>The most important characteristic of OODBMS is the joining of object-oriented programming with database technology, which provides an integrated application development system. Object-oriented programming has four main characteristics: </li></ul><ul><ul><li>Inheritances </li></ul></ul><ul><ul><li>Encapsulation, </li></ul></ul><ul><ul><li>Object identity, and </li></ul></ul><ul><ul><li>Polymorphism. </li></ul></ul><ul><li>Inheritance allows one to develop solutions to complex problems incrementally by defining new objects in terms of previously defined objects. </li></ul><ul><li>Data encapsulation or simply encapsulation allows the hiding of the internal state of the objects. Encapsulated objects are those objects that can only be assessed by their methods instead of their internal states. here are three types of encapsulated objects users and developers should recognize. The first is full encapsulation, in which all the operations on objects are done through message sending and method execution. The second is write encapsulation, which is where the internal state of the object is visible only for reading operations. </li></ul>
Continued <ul><li>The third is partial encapsulation, which involves allowing direct access for reading and writing for only a part of the internal state. </li></ul><ul><li>Object identity allows objects of the database to be independent of each other. </li></ul><ul><li>Polymorphism and dynamic binding allow one to define operations for one object and then to share the specification of the operation with other objects. This allows users and/or programmers to compose objects to provide solutions without having to write code that is specific to each object. The language important to OODBMS is data definition and manipulation language (DDML). The use of this language allows persistent data to be created, updated, deleted, or retrieved. An OODBMS needs a computational versus a relational language because it can be used to avoid impedance mismatch. DDML allows users to define a database, including creating, altering, and dropping tables and establishing constraints. DDMLs are used to maintain and query a database, including updating, inserting, modifying, and querying data. </li></ul>
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
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  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 . 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  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.
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.
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  and . 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));
Continued <ul><li>An evaluation of OODBMS products should consider the process necessary to move data from secondary storage into client application. Typically this requires communication with a server process, possibly across a network. Objects loaded into a client’s memory may require further processing, often referred to as sizzling, resolve references to other objects which may or may not already be loaded into the client ‘s cache. The overhead and process by which locks are released and updated objects are returned to the server should also be considered. A database provides an application the ability to access a virtually unlimited amount of .In particular, the application can address more data than would fit within the application process address space. Some databases may support the notion of transient data that is maintained during program execution but not saved in the database. This is useful for providing access to very large transient data objects that do not map easily into the application’s address space. </li></ul>
APPLICATION PROGRAMMING INTERFACE <ul><li>A major distinction between an Object-Oriented database application and a relational database application is the relation between the data manipulation (DML) and the application programming language. Large-scale commercial database applications are developed in a standard language (e.g., C, C++). In a relational database, SQL is used as the DML, providing the means to create, update, query, and delete data from the database. Thus, in a relational database application, a significant amount of effort is spent transforming data between the two different languages. Critics claim that this impedance mismatch adds to the complexity of building relational database applications. In an object-oriented database application, the DML is typically very near a standard programming language. For example, OODBMS may its support C++ as their DML, with the result that C++ can be used for building the entire application. OODBMS proponents claim that by using a single language, the impedance mismatch is removed (or significantly reduced) and application development is simplified. The OODBMS approach is not without its critics. Stomebiakes  claims that OODBMS application programming is a step backward (from Relational) since the code typically is built by navigating relationships in the schema. </li></ul>
REFERENCES <ul><li> M. Atkinson, F. Bancilhon, D. DeWitt, K.Dittrich, D. Maier, and S. Zdonik. The Object-Oriented Database System </li></ul><ul><li>Manifesto. In Proceedings of the First International Conference on Deductive and Object-Oriented Databases, pages </li></ul><ul><li>223-40, Kyoto, Japan, December, 1989. </li></ul><ul><li> Brodie, M., Mylopoulos, J., and Schmidt, J., On Conceptual Modeling, Springer-Verlag,1985 </li></ul><ul><li> Codd, E.F., A Relational Model for Large Shared Data Bank, CACM, June 1970. </li></ul><ul><li> Date, C.J., An Introduction to Database System, Addison Wesley, 1985. </li></ul><ul><li> Michael J. Franklin. Client Data Caching: A Foundation for High Performance Object Database Systems. 1996. </li></ul><ul><li>Kluwer Academic Publishers. </li></ul><ul><li> Nathan Goodman, Steve Rozen, Lincoln Stein.Building a Laboratory Information System around a C++-Based </li></ul><ul><li>Object-Oriented DBMS. Proceedings of the 20th VLDB Conference, Santiago, Chile, 1994. </li></ul><ul><li> Arthur M. Keller, Richard Jensen, and Shailesh Agarwal. Persistence software: bridging object-oriented </li></ul><ul><li>programming and relational databases. Proceedings of the ACM SIGMOD International Conference on </li></ul><ul><li>Management of Data, Washington DC, 1993, pp. 523-528. </li></ul><ul><li> C. Lamb, G. Landis, J. Orenstein, and D. Weinreb. The ObjectStore database system. Communications of the ACM. Volume 34, Number 10, October 1991. (Pages 50-63). </li></ul><ul><li> Mary E.S. Loomis, Object Databases: The Essentials, Reading, Mass, Addison-Wesley, 199. </li></ul><ul><li> Loomis, Mary E.S.,“ODBMS vs. Relational.” Journal of Object-Oriented Programming Focus On ODBMS, (1992) pg. 35. </li></ul><ul><li> Object Design, Inc., 25 Burlington Mall Rd., Burlington, MA 01803-4194, USA. Manual Set for ObjectStore </li></ul><ul><li>Release 4.0, March 1996. </li></ul><ul><li> Steve Rozen, Lincoln Stein, and Nathan Goodman. Constructing a Domain-Specific DBMS using a Persistent Object System. Sixth International Workshop on Persistent Object Systems. Available via anonymous ftp from genome.wi.mit.edu as file /pub/papers/Y1994 /labbase-design.ps.Z. </li></ul><ul><li> Michael Stonebraker and Greg Kemnitz. The Postgres Next Generation Database Management System. </li></ul><ul><li>Communications of the ACM. Volume 34, Number 10, October, 1991. (pages 78-92) </li></ul><ul><li> Stomebraker, M., et al., “Third-Generation Database System Manifesto.” ACM SIGMOD Record, (September 1990) pg. 31. </li></ul><ul><li> Wegner P. Dimensions of object-based language design ACM Sigplan Notices 23(11), pp. 168-182 , 1987. </li></ul><ul><li> Mark Stefik, Daniel G. Bobrow : Object-Oriented Programming: Themes and Variations. AI Magazine 6 (4): 40-62 ,1986. </li></ul>