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.