Sie sind auf Seite 1von 9

Selecting a Database Management System (DBMS) A Practical and Quasi-

Technical Analysis of Relational Database Management Systems (RDBMS) and


Object Database Management Systems (ODBMS)

Christine Weiss
University of Colorado at Colorado Springs

1. Introduction database management systems


The stronghold or dominance of one (OODBMS). This document is not intended
product in a particular line of business can to present or identify one DBMS as superior
lead to the selection of a product not based or ideal conversely the goal is encourage
on appropriateness and fit for the need but the selection of a DBMS based on analysis
rather reputation and word of mouth. This and evaluation of the databases purpose
would seem to be an easy pitfall for and desired competencies.
consumers who are uneducated and
1.1. Background
unfamiliar with the products domain
There is a tendency in business, particularly
however it is also prevalent in areas where
in the technology field, to depend upon the
the consumer does have limited to
knowledge and expertise of those
moderate experience and knowledge with
individuals with strong technical
the domain in question.
backgrounds when a project is forced to
Relational database management systems make technical decisions. Although this
(RDBMS) currently dominate the database does tend to work out favorably for the end-
market for use in commercial, business product and the project team, there remains
applications and with this trend there arises a need or, rather, a desire for individuals in
an assumption that the relational model and decision making positions and/or in
RDBMS is best suited for most, if not all, positions of influence with a limited to
business-driven applications. This moderate technical background to weigh-in
document explores the validity to this and provide useful input to technical
dominance and makes a case for the need decisions. This article is aimed at the latter
to select a database management system of the two groups and presents ideas that
(DBMS) for an application based on the have technical basis mixed with real-world
applications purpose, desired use and application and understandability.
functionality, and application environment
The author of this article typically falls into
independent of product reputation or
that role on a project team of possessing a
commonplace in the market. This article
basic to moderately strong technical
discusses two database management
background and understanding. When
systems currently available on the market
faced with making a technical decision
for use; relational database management
alone on what type of database
systems (RDBMS), and object-oriented
management system to use for a masters available in the market for each system and
project, there emerged a desire to research their contrasting data models.
the different database management
A DBMS is a database software program
systems available and represent the
used to catalog, store, maintain, and
findings for others falling into this quasi-
retrieve data in a database. The key
technical role.
characteristics of a database management
Therefore, the purpose of this research system are:
paper is to provide sound reasoning and
Use of a data model for designing and
explanatory information for a reader without outlining the database schema;
extensive technical knowledge to make
A standard language for querying of the
decisions or provide valuable input to
database which enables user to retrieve,
decisions on projects regarding the modify, and specify storage of data;
selection of a database management
Data structures; and
system for a particular project. The
A method for performing transactions
following questions were proposed and
aimed at ensuring the four key features
served as guidance prior to and during
of database transactions; atomicity,
research. The article should answer: consistency, isolation, and durability
What are some of the different types of (ACID).
DBMS available on the market?
2.1. Relational Database Management
What effects or influence does the
System (RDBMS)
domain of the project or the purpose of
A relational database management system
the application have on selecting a
DMBS? uses the relational model as its basis. The
relational database model was created by
What is the relationship between the
front-end implementation and the Edgar F. Codd at IBM during the early
DBMS? How does this relationship 1970s and is based on the set theory to
affect the selection process? construct data in terms of rows and
What are the advantages and columns. Codd defined 12 rules by which a
disadvantages of each DBMS? truly relational database is defined:
foundation rule; information rule;
2. Types of DMBS guaranteed access rule; systematic
Two different types of DBMS were selected treatment of null values; dynamic on-line
for evaluation and analysis; the relational catalog based on the relational model;
database management system and the comprehensive data sublanguage rule, view
object-oriented database management updating rule; high-level insert, update, and
system. Although other DBMS do exist, delete; physical data independence; logical
these systems were selected based on the data independence; integrity independence;
large number of commercial products distribution independence; and the
nonsubversion rule. Interestingly, no
commercial RDBMS to date has ever been how object-oriented programming
able to conform to all 12 of Codds rules. languages (OOPL) adhere to the OOM.
Because of this, the 12 rules have evolved Coincidentally, research of OODBMS also
into guiding principles or goals of database dates back to 1970s (late 1970s/early
design. 1980s) however the term object-oriented
wasnt coined for databases of this type until
The RDBMS structures data into relations
the mid 1980s. The first commercial
(tables) which form a two-dimensional
product did not appear on the market until
representation of the data into rows and
the late 1980s. More recently, there has
columns. A relation contains tuples (rows)
been a resurgence in OODBMS as open
and each tuple represents a distinct record
source object databases emerged that were
in the table. A tuple consists of a set of
more affordable and user-friendly due to the
unorganized attributes (columns) providing
use of OO-languages such as Java and C#.
detail for the record. Rows are assigned a
The relationship of an OODMS and an
unique identifier, also known as a primary
OOPL establishes a strong correlation
key, by which the record can be accessed,
between the application data model and the
manipulated, and referenced by other tables
database data model. This relationship or
or applications. Columns store the
marriage of the OODBMS and OOPL serves
attributes of a record, more commonly
as a focal point for analysis and evaluation
known as fields, and each attribute is
of OODBMS.
assigned a data type.
An OODBMS is the combination of object-
During the mid 1980s, Structured Query
oriented programming methodologies (i.e.,
Language (SQL) was identified and
encapsulation, inheritance, abstraction) and
accepted as the standard query language
basic database management principles that
and transaction mechanism for RDBMS.
help to ensure ACID properties are met.
SQL queries can be used to access and
One of the primary features of an OODBMS
return data from tables, define records and
is that accessing objects in the database is
their attributes, and to view data from
done in a transparent manner such that
multiple tables through operations such as a
interaction with persistent objects is no
join.
different from interacting with in-memory
Two of the most popular examples of objects. (Obasanjo, 1). In addition, the
RDBMS currently on the market are Oracle OODBMS employs the same mechanisms
and Microsoft Access. for retrieving and modifying stored object
data as the OOPL would utilize to perform
2.2. Object-Oriented Database
the same actions on an object in the
Management System (OODBMS)
applications cache. An example of how an
As implied by the title, object-oriented
OODBMS operates is to consider the
database management systems use the
process of saving data from an application
object-oriented model (OOM) similarly to
developed using an OOPL to a flat file. The
system saves specific instances of an object Object-oriented databases are becoming
or multiple objects to a file using the object increasingly popular in Computer Aided
identifier (OID) as its key and these objects Design (CAD), Computer Aided
are recreated using the saved data upon Manufacturing (CAM), and Computer Aided
opening. Software Engineering (CASE) type-
applications. A characteristic that is
The Object Data Management Group
apparent in these and other similar
(ODMG) was a group aimed at developing
applications using object-oriented
standards for OODBMS and object-
databases is their use of real-world objects
relational database management systems
that are easily converted to database
(ORDBMS). They released three versions
objects using the object-oriented data
of a document referred to as the ODMG
model. These systems where objects can
which recorded and communicated agreed
be rolled up into a hierarchical structure or
upon standards for OODBMS. The group
decomposed into smaller pieces seem to be
has since disbanded. One standard the
ripe candidates for object-oriented
ODMG did identify was the selection of the
databases. Additional examples include
Object Query Language (OQL) as the
software for assembling airplanes or cars,
standard query language for OODBMS.
warehouse management, and fields of
OQL uses syntax similar to SQL and is
science such as molecular biology and high-
rarely used since the basic functionality of
energy physics.
queries in intrinsic to object-oriented
programming languages. In some instances, such as those stated
above, the domain of the application has a
3. The Effects and Influence of the clear and obvious influence on the type of
Applications Domain database selection. In other applications,
There does seem to be a consensus among the impact seems minimal if any exists at
scholars and researchers that the purpose all. This factor will serve on a case-by-case
or business use of an application should be basis.
considered when selecting a DBMS. This is
particularly apparent when the domain is 4. Relationship of the DMBS and
well understood and defined upfront when the Applications Front-end
the selection processes occurs. Implementation
On an ideal project, the decision on which
Relational database continue to dominate
programming language to develop an
and out perform an object-oriented
applications front-end and the selection of a
database for applications meeting traditional
particular database management system
business objectives. The performance of
would occur hand-in-hand or virtually
these databases is still considered the ideal
simultaneously. Unfortunately, this is not
and therefore, any transaction dependent
the typical process. In most cases, the
business application would probably
programming language is decided by the
continue to benefit from its use.
customer/client and documented in the data that have a common set of activities or
system requirements therefore, leaving the functions that can be inflicted upon them.
database decision to occur as an
The relationship to consider or highlight, if
afterthought during design activities.
any, when considering the language for
With the use of the object-oriented data which the front-end will be implemented and
model as the basis of OODBMS and OOPL, a DMBS is to identify languages that have a
consideration of a DBMS other than a basis in complimentary data models. This is
OODBMS for an application developed in one of the primary reasons that an OOPL
an OOPL seems almost absurd. For and an OODBMS correlate and are often
applications using an OO language for the identified together.
implementation of the front-end, the
database and communication between it 5. Advantages and Disadvantages
almost becomes intertwined and almost As with most dueling technologies, most
indistinguishable from the application code current research tends to imply a
eluding a complementary relationship relationship of ones disadvantage is the
between the two or marriage. others advantage among RDBMS and
OODBMS. In terms of selecting a database
Relational database management systems
management system, the advantages and
do not have a similar relationship with any
disadvantages of each DBMS should be
one programming language used for front-
measured against the goals and objectives
end implementation. The one element that
of the application. Selecting a database
does stand-out and would probably find
should not occur in a void as selection is
benefit from consideration is the RDBMS
predicated on the softwares purpose and
dependency on SQL for communication
environment in comparison to the
between an application and the database.
advantages and disadvantages of any
Thus, taking SQL into consideration when
DBMS.
selecting a language for front-end
implementation and evaluating languages It is important to note that extensive
that exhibit similar fundamentals and research in academia has been performed
properties would appear to be desirable. on the advantage and disadvantages of
This may require evaluation and trial of a OODBMS and RDBMS. This items listed in
declarative programming language. the subsequent sections are not an
Additionally, procedural languages seem to exhaustive list. This list is aimed and
blend with the principles of the relational specific to meeting the objectives outlined of
database and SQL. In procedural this article and should only provide a basis
programming, the objective is to segment for comparison.
the solution into collection of data structures
and routines. This seems reminiscent to the
relational model which also aims to
breakdown the solution into sets of similar
5.1. Advantages Relationships are Represented Explicitly
A key feature of the OODBMS is the use of
5.1.1. OODBMS
pointers which enables the system to
Promotion of Reuse
access an object directly without requiring a
OODBMS are ripe for reuse a common search. Through research, this has proven
goal for most software applications. to make the OODBMS preferred over a
Inheritance and polymorphism are two key RDBMS for performing many tasks. This
features of the object-oriented model that would apply to tasks that can be performed
provide the user with the ability to reuse using navigational interfaces instead of the
objects. Those familiar with OOPL, which SQL standard declarative interfaces.
demonstrate the same capabilities, Relationships are typically represented
recognize the advantage of this feature that using an explicit mechanism such as
allows them to reuse existing data pointers. Pointers and navigational
structures and operations as a foundation interfaces give an OODBMS an advantage
for adding new objects exhibiting similar by telling the database how instead of
features. This element is not only useful for making them search for a what.
expanding the current number of stored
objects in a single database but is also 5.1.2. RDBMS
applicable from one OODBMS to another. Strong Performance and Expandability
Management of Application Code by Relational databases exhibit rapid access to
Database Facilities stored data, large storage capacity, and are
The use of an object-oriented database can considered flexible or expandable. It is not
necessary to understand every detail of how
greatly decrease the volume of code used
a current RDBMS is designed to be able to
by the application. As characteristic of the
expand the database to include additional
object-oriented model, an object holds an
relations. Conversely, the RDBMS relations
entity consisting of attributes, behaviors,
do not typically demonstrate direct
states, and relationships. Therefore, this relationships or dependencies on other
data does not need to be defined in the relations and therefore, removing a table
application code as this data would be can have substantially lower risk than
stored with the object in the database. removing an object definition in an
Application code is also reduced by not OODBMS.
requiring a querying language to access Wide-spread Comprehension of the
and store data. The advantage of storing Relational Data Model
the majority of the application data in a Relational databases are easy to
database is that it can then be managed by understand and can be interpreted in many
database facilitates that ensure data different ways. Tables and the
integrity characteristics such as recovery, representation of data into tabular forms is a
versioning, and persistence. concept familiar to most individuals whether
they are technical or non-technical. With
little knowledge of the domain or relational
databases, an individual will typically be
able to use their previous exposure of tables disadvantage for OODBMS because as new
and quickly decipher the data contained databases are added or legacy systems are
within a relational database. modified, it is easier to insert another
Mature System with Strong relational database into the environment
Mathematical Foundation than to add an OODBMS. The addition of
RDBMS have been a business staple in an OODBMS in this environment may
supporting applications for over 20 years. require modifications in the existing
The sheer number of RDBMS currently in databases in order to enable
use has tested and proven successfully in communication and data access among the
achieving a multitude of business needs. existing databases and the new OODBMS.
Many researchers also state that the Unfortunately, this will be a major obstacle
RDBMS basis in set theory and the for any OODBMS and may end up being a
mathematical concept of the relation also
primary decision point for a company when
attribute to the RDBMS success and
selecting a DBMS.
dominance. For many, the mathematical
aspect is an attraction for RDBMS because Reputation for Poor Performance
it provides an accepted logic and rigor. OODBMS performance has historically
been a major downfall and limitation on its
5.2. Disadvantages use. As with any product, previous
5.2.1. OODBMS reputation can work against a product even
though the issue may no longer be of any
Unintuitive Data Model
relevance. Many articles and research
The object-oriented model is not initially
projects of the late 1980s thru the late
intuitive to the average individual. Although
1990s repeatedly identified this as being a
some researchers would contradict this
major limitation to the wide-spread
statement, this model is lost without
popularity and use of the OODBMS. It does
previous exposure or explanation on the
appear that in the current market, OODBMS
basics of the model. To properly design an
can perform at comparable speeds to
effective OODBMS, the database designer
RDBMS assuming the data domain is an
must have a solid understanding of the
ideal domain for an object-oriented data
object-oriented model and how to efficiently
model.
implement it.
In addition, some data domains have 5.2.2. RDBMS
explicit objects and clearly defined Lack of support for data-intensive,
relationships among objects. Most business complex applications.
applications do not contain obvious or Relational databases lack the ability to
intuitive objects which makes application of handle complex interrelationships of data.
the model more difficult. The RDBMS is unable to store complex
Existing Dominance of the RDBMS data such as images, digital, and
The RDBMS continues to have a stronghold audio/video data types. With the
commonality of these types of data rapidly
with business systems. This is a major
increasing, this presents a major limitation dominate programming language for
on the use of RBMS. building new applications, the OODMBS will
Language Restrictions surpass the RDBMS as the most popular
A relational database cannot communicate and dominate database management
or operate with any language other than systems in the business market. Research
SQL. Some researchers identified this as a trends in academia tend to support this
benefit claiming advantages such as easier observation by the number of projects
access to data in multiple databases and currently concluding or underway on
straightforward migration of two or more converting an existing relational model to an
databases using a single sub-language. object-oriented data model. Similarly, there
Although these are valid points, this actually
was extensive research on object-relational
requires the use of at least two
database management system (ORDBMS)
programming languages to implement any
The main objective of these database
application using an RDBMS one for
implementing the application and one for management systems is to merge the
querying of the database. This would benefits of both the relational and object-
require extensive knowledge by the oriented model. Not surprisingly, many
development team in order to ensure proper RDBMS products on the market today are
implementation and increases the volume of releasing first generation ORDBMS
code that requires maintenance. It will products. If these products are able to fulfill
ultimately increase project scope and the main objective of ORDBMS as well as
complexity. enable companies to convert existing
Assignment of Unique Identifiers relational models to partial or full object-
The assignment of object identifiers (OID) is oriented models, the fatality of relational
virtually a transparent process to the user in databases is almost eminent. This will
an OODBMS. This is not a built process of enable current products to cash-in on this
RDBMS and requires code and migration and preserve some semblance of
maintenance to ensure tuples are uniquely their market base.
identified. If this function is performed
incorrectly, the integrity of the data comes References
into question.
[1] Barry & Associates. OODBMS Facts. April
2001. http://www.odbmsfacts.com.
6. Conclusions
[2] Chaterjee, Jagadish. Introduction to
Relational databases have a strong-hold on RDBMS, OODBMS and ORDBMS. January
the current database market due to their 3, 2005.
http://www.aspfree.com/c/a/Database/Introd
maturity, reliability, the majority of existing uction-to-RDBMS-OODBMS-and-ORDBMS/
applications using the relational model, and [3] Cigler, James B. Orooji, Ali. ORR: Object-
some unknown factors associated with the Relational Rapprochement. COMPSAC '99.
Proceedings. The Twenty-Third Annual
immaturity of object-oriented databases. As International. October 27-29, 1999.
object-oriented programming languages Page(s):42 - 48
continue to emerge as the favored or
[4] Devarakonda, Ramakanth S., Object-
relational Database Systems The Road
Ahead, Crossroads, March 2001. Volume 7
Issue 3.
[5] Fong, Joseph. Converting Relational to
Object-Oriented Database. d. March 1997.
Volume 26 Issue 1.
[6] Kim, Won. Object-Oriented Database
Systems: Strengths And Weaknesses.
Journal of Object-Oriented Programming
Focus On ODBMS. 1992.
[7] Kisworo, M.W.; Rajagopalan, P.
Implementation of an Object-Oriented Front-
End to a Relational Database System. IEEE
Region 10 Conference on Computer and
Communication Systems. 24-27 Sept. 1990
Page(s):811 815.
[8] McClure, Steve. Object Database vs.
Object-Relational Databases. IDC Bulletin
#14821E - August 1997.
[9] McFarland, Gregory, Rudmik, Andres, and
Lange, David - Modus Operandi, Inc. Jan
31, 1999. Object-Oriented Database
Management Systems Revisited: An
Updated DACS State-of-the-Art Report.
https://www.dacs.dtic.mil/techs/oodbms2/oo
dbms-toc.shtml.
[10] Obasanjo, Dare 2001. An Exploration of
Object-Oriented Database Management
Systems.
http://www.25hoursaday.com/WhyArentYou
UsingAnOODBMS.html.
[11] Rahayu, W.; Chang, E.; Dillon, T.S.
Implementation of Object-Oriented
Association Relationships in Relational
Databases. Database Engineering and
Applications Symposium, July 1998.
Page(s):254 263.
[12] Smith, Karen E., Zdonik, Stanley B.,
INtermedia: A Case Study of the Differences
Between Relational and Object-Oriented
Database Systems. OOPSLA 87
Proceedings. October 4-8, 1987.
[13] Sujithan, K. R. An Object Model of Data,
Based on the ODMG Industry Standard for
Database Applications. The Institution of
Electrical Engineers. 1995.
[14] Zand, Mansour, Collins, Va, Caviness, Dale.
A Survey of Current Object-Oriented
Databases. Data Base Advances, February
1995. Volume 26, No. 1.

Das könnte Ihnen auch gefallen