Tuesday, February 10, 2015

B5 - Object Oriented Databases

Anthony Yau
AE 510 – Intelligent Building
B5 – Object Oriented Database Management Systems
February 10, 2015

Object-oriented databases or object-oriented database management systems (OODMSs) are used to create items and store them as objects (which have digital information associated with them such as attributes and parameters) within the same programming language. This method of storing information is different from relational databases since there is no separation between the database software and the programming language. An example of a database object could be a table, which is typically recognized as the simplest form of an object, that lists a person’s name in one row which has multiple inputs with relationships in the columns such as age, number of children, etc. Databases now exist, however, that hybridize both relational databases and object databases to take advantage of the mathematical relationships of relational DBs (databases) and complex management systems of object databases. Typical applications of OODMSs include management of CAD designs, stock trades (Chicago Stock Exchange), digital libraries (such as music), building functions (such as maintenance, operations, and construction), etc.

Object databases should mainly be considered if one’s business requires high performance and integration with very complex models. Advantages of OODMSs over relational databases include class hierarchies, evasion of impedance incompatibilities, no primary keys, and the ability to store all the various parts of a system as one model. With class hierarchies, tables don’t have to be created to link objects together, but are automatically related like parent and child. In relational databases, tables must be linked to objects via third party programming language, whereas this process is unnecessary with OODMS. With relational databases, a model cannot simulate the dynamic relationships and constraints without the use of an Entity Relationship diagram. On the other hand, OODMSs integrate the database model seamlessly with the programming model with a unified modeling language.

Disadvantages of OODMSs include inflexibility to adapt to changes in object variables, reliance on a single programming language to create the database. While one can update variables in a relational database easily by changing them in tables within a different program other than the DB, this cannot be done in an OODMS since the class hierarchy system is completely interrelated. A change in one class, such as the position of an employee in a hierarchical system for a company, would require updates to all the classes in that system. As a result, most changes that must be done for an OODMS will require a complete reformation of the database model.

References:

[1] Obasanjo, Dare. "AN EXPLORATION OF OBJECT ORIENTED DATABASES." Why Aren't You Using An Object Oriented Database Management System? N.p., 2001. Web. 10 Feb. 2015.

[2] Manola, Frank. “Applications of Object-Oriented Database Technology in Knowledge-Based Integrated Information Systems.” Date accessed: 10 Feb 2015.

[3] "Object Database." Wikipedia. Wikimedia Foundation, n.d. Web. 10 Feb. 2015.

Response to Ami Amegan:

While I am not interested in programming (since I am code-illiterate lol), I am more than willing to accept that object-oriented databases will be something I have to learn and understand to keep my own skills relevant in the construction industry. I know that BIM focused AEC firms prioritize database management to simplify organizing and managing the many different components of a building. Therefore, I plan on learning how to create and operate these types of DBs.

Response to Dmitriy Voznyak:

Based on Dmitriy’s description of SQL for relational databases, they are tables with parameters that can be inserted, edited, and deleted as the user desires. As someone who has worked with Microsoft Access databases in the past, it is true that people inputting values to the database require little to no computer skills. However, I believe that understanding the language behind the programming of any software will only make the database easier and more productive for the user.

Response to Angelina Castro:

As someone who has experience creating cost estimates using the RSMeans reference books, I would like to learn more about using cost management databases to price out projects based on material, labor, and other fees related to location. Instead of having to go back and forth from the index to he actual costs in the physical book, I would much rather prefer to use a user-friendly cost estimation database to manage a project. 

No comments:

Post a Comment