June 22, 2008
June 22, 2008
June 25, 2008
13.20.1 - 13.20.8
A Comparison of Implementing a Single Problem in Relational, Object-Relational and Object-Oriented Database Systems
ABSTRACT Several database textbooks were studied to determine how extensively the three database models Relational, Object-Relational and Object- Oriented were been covered . From this study it was determined that some database textbooks either do not cover all three models or they cover them very briefly. None of the textbooks in this study provide a complete database that is represented in all these three models. The authors assert that students should see the benefits and difficulties of using each of the models since problems can be solved more easily in one than in another.
Keywords Database Design, Relational databases, Object-Relational databases, Object-Oriented databases.
1. INTRODUCTION The database world is in a state of change. After E. F. Codd published his seminal paper on the relational model , this model dominated the database world for the next 20 years. Since the 1990s however, other forces have been emerging which require recognition. First, the programming world shifted from a structured-procedural to an object-oriented paradigm with its attendant shift from storing data outside the program to storing data inside program objects. Using a relational database with an Object Oriented program requires moving data from inside objects to the relational structure which requires additional processing and adds complexity to a program. A second change concerns the nature of the data being stored. The problems being solved with computers have become more complex as has the data associated with these problems. Mapping complex data into the atomic data types of the relational model is not an adequate solution for these problems. Two solutions for these changing conditions have emerged. One has been the development of Object-Oriented databases (OODB). Using an OODB allows a developer to store objects in the database as objects rather than mapping their data into a relational structure . A second approach, usually referred to as the Object-Relational (ORDB) approach, has required modifying or extending the relational model to allow complex data to be stored in the database. This is accomplished through a data structure called a user defined data types (UDT) . Many of the ORDB concepts have been incorporated into the SQL 1999 standard .
2. BACKGROUND Our teaching experience indicates to us that most students understand relational database concepts quite quickly. But, understanding Object Relational and Object-Oriented database concepts is more challenging for many of them. It is our contention that understanding these latter models would be easier for students if they saw the same database example presented in all these three models. Thus, compare and visualize how the implementation changes from a model to another. This paper discusses a patient database that we have implemented in all three database models to ease the understanding of Object Relational and Object Oriented database concepts. Also, a set of queries will be executed using these three implementations and the results will be shown for comparison.
3. THE PROBLEM DOMAIN The Database Management Systems used when developing material for this paper were: Relational, Oracle 10g (only features available prior to SQL 99); Object-Relational, Oracle10g (full features of the system); Object-Oriented, db4o, an open-source Object-Oriented database available at www.db4o.com that supports the Object Oriented features of Java and C#. The problem we have used for our illustration is a medical database that might used to support patient care. Part of the basis for this problem was borrowed from Hoffer . The database is not intended to be a “real world” solution to the problem, rather to illustrate differences of implementation in the three models. The tables or classes defined for the problem domain are shown in Figure 1. The business process supported by this database assumes that patients present themselves for treatment. Before treatment can begin, the patient must receive a diagnosis from a physician. Physicians may or may not be involved in diagnosing patients. From the diagnosis and the severity of the patient's condition, it would be determined whether the patient is to become an In-patient or an Out-patient. In-patients are assigned to a bed and Out-patients are simply scheduled for a follow-up visit, if needed.
ASEE holds the copyright on this document. It may be read by the public free of charge. Authors may archive their work on personal websites or in institutional repositories with the following citation: © 2008 American Society for Engineering Education. Other scholars may excerpt or quote from these materials with the same citation. When excerpting or quoting from Conference Proceedings, authors should, in addition to noting the ASEE copyright, list all the original authors and their institutions and name the host city of the conference. - Last updated April 1, 2015