Monday, February 12, 2018

B5 - Object Oriented Database



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.