An object-oriented database
(OODBMS) – also referred to as an object database management system (ODMS) – is
a type of database management system that stores information in the form of
objects rather than data such as integers, strings, or real numbers.
What is an object?
An object used in OODBMSs must have
a set of attributes and methods. Attributes are what define the characteristics
of the object, and the methods define the object’s behavior and are what is
called the procedures and functions used in SQL. This means that the object
contains both the code and the data. These objects refer to real-world objects
such as bicycles have attributes (current gear, current speed) and behaviors
(changing gear, applying brakes). The figures included below illustrate this
concept using both a general object as well as the bicycle example.
Object-Oriented
vs. Relational
The major difference between
OODBMSs and relational databases (RDBMSs) is the way that data is stored and
related to each other. OODBMSs store complex data and relationships directly,
rather than RDBMSs that map relational rows and columns. RDBMSs use tables that
are “normalized” so that data is not repeated, and all tables use a primary key
to identify the column. Relationships used to get data from RDBMSs tables can
only use one-to-one or one-to-many relationships, many-to-many relationships
require a separate join table. In other words, RDBMSs require a lot of time and
effort to code. Since objects typically use a many-to-many relationship, this
makes OODBMSs useful for large, complex data relationships. OODBMSs work very well
in CAS applications (CAD, CASE, CAM), multimedia applications, projects that
change over time, and in commerce applications.
OODBMSs have several advantages and disadvantages when compared to RDBMSs. OODBMSs are better than RDBMSs because (1) objects don’t require assembly and disassembly which saves coding time and execution time to assemble or disassemble objects, (2) there are less pages, (3) they are easier to navigate, (4) the hierarchy of objects can be locked, (5) this data model is based on the real model, and (6) less code is required when applications are object oriented. However, the disadvantages associated with OODBMSs are (1) this database is inefficient when the data and relationships are simple, (2) relational tables are simpler, (3) more user tools exist for RDBMS, (4) the standards for RDBMS are more stable, and (5) the support for RDBMS is more certain.
That being said, while OODBMS is a newer database system, I believe that this will eventually replace RDBMS especially when intelligent building technologies are becoming more and more common.
Sources
Comments
Sherry L,
I found your blog post on object oriented
databases to be very informative and well written. As someone who has little
experience with databases, I like how you explained what an object oriented
database was by defining the main components of the database: objects. I did my
post on this topic as well, and I also used the same graphic you did. I really
like how it did a great job illustrating the concept of what an object is and
how it is defined.
Kerry M,
Your post on relational database theory was
very interesting! I also took the INFO 210 class, and I think you did a really
good job describing what a database is. Knowing that most of our class hasn’t
taken that class, your post was very clear and informative for people who don’t
know anything about databases. With the emergence of Dynamo, I feel like
relational databases would be used more and more in our field.
Thomas S,
I really liked your post on structured query
language! I had to use SQL for my INFO 210 class and I think you did a great
job explaining what SQL is. I agree with you that SQL allows us to be able to
process any building data we may get from sensors and such. In the future, I
think learning SQL would be beneficial to AE and CIVE majors to accommodate the
growing number of intelligent buildings.
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.