Monday, February 13, 2017

B5 - Object Oriented Databases - Brennan Connolly


Object Oriented Databases

              Many people who study databases understand the initial concept of them pretty quickly as they are easy to relate with something in everyday life. (Like a folder, binder, etc.) However, the difficult part is learning the differences between the various types of databases. Relational databases are the most well-known types of databases, and usually the first ones taught in database courses. Relational databases organize basic information into tables that can “relate” to one another via common categories. Relational databases are often diagrammed by using entity-relationship (ER) diagrams. The main difference between relational databases and object oriented databases (OODB) is in the names, OODBs store objects while relational databases store information and relationships between the information. The best example of OODBs comes from a strange, yet informative Youtube video. The example goes: if databases were ways in which you would store a car, OODBs would be parking that car in a parking lot for easy pick up later. However, relational databases represent breaking the car down to every individual piece and storing them and then you hire a mechanic who knows the “language” to put the pieces back together. (holloworld5, 2011)
 
              It’s clear that OODBs are based around objects that are made up of large amounts of information. Using an engineering design example, an airplane can be viewed as a higher level object that is constructed from lower level objects, such as the airplane body, the wings, the tail, and the engine. Each of these objects can, in turn, be complex objects that are constructed from other simple or complex objects. (Dietrich & Urban, 2011) How can these databases change engineering design? Well in Revit and other BIM programs, you can use standard objects to give you a realistic sense of space. An OODB could help in storage of those objects so that they are easily accessible for when you need to import them. A report published by the NREL explains the benefits of an OODB program called MongoDB over a typical relational database. MongoDB is a document oriented database that is optimized for speed and scalability (Plugge et al. 2010). It is a schemaless database, is not made of tables with rows of data, and does not use the SQL language for querying. Instead, data are stored in structured “documents” that can contain all the information related to an entity. All data are stored in one location, and no relationships are necessary between documents so MongoDB can easily scale to many servers. Scalability is essential in Web 2.0 applications, where users not only access information, but also generate content. (Long, Fleming, & Brackney, 2011)

References

Dietrich, S. W., & Urban, S. D. (2011). Fundamentals of Object Databases: Object-Oriented and Object-Relational Design. Morgan & Claypool Publishers.
holloworld5. (2011, April 26). Object Oriented Databases. Retrieved from Youtube: https://www.youtube.com/watch?v=7v_5vfTKDVs
Long, N., Fleming, K., & Brackney, L. (2011). An Object-Oriented Database for Managing Building Modeling Components and Metadata. Sydney: National Renewable Energy Laboratory.


Responses
Egla - Your analysis of the SQL language was very well done. I have worked with the basics of the language in another course and still learned a few things from your research. You mention that it is a declarative language and I would have to agree as it the statements you use are very straightforward compared to some of the other programming languages. 

Ronald - I enjoyed your post describing the relational database and how it works. You did a good job at explaining exactly what a relational database is and some of the background knowledge needed to understand it. I think you could have explained the differences between the types of relationships mentioned in the last paragraph a bit clearer by using an example that used each one, but other then that I think you had a very informative post.

Andrew - I like that you mentioned some of the programs that use SQL as I have only worked with Oracle. You gave some examples of the types of commands given in SQL but I think it would help your post if you compared them to commands from other popular languages or at least mentioned that they are declarative because that is a key part to understanding SQL. I think the example you gave at the end of your post was excellent and a good way to show the benefits of using it. 

No comments:

Post a Comment

Note: Only a member of this blog may post a comment.