Object Oriented Databases
Object oriented databases are database management systems that represent information as objects, similar to object-oriented programming. The major benefit of using object oriented databases over other types of databases is due to the nature of object orientation. When one object is altered, all similar or related objects follow the same changes. This allows for instantaneous consistency within the database and proves incredibly useful in many industries, especially architectural engineering ("Definition"). For example, if it was decided that beams were to be constructed of a different material than originally specified, the architect could change the beam type for all beams within the project instantaneously instead of one by one. Obviously this acts as a huge time saver and ensures no beams are missed in the process.
Some integral components of object oriented programming that are also used in object oriented databases are classes of objects and inheritance of class properties. Classes are essential templates for creating objects. When objects of a certain class are created, they acquire the traits of the respective class. This allows for creating various objects are that structurally the same, but differ in minor qualities (Mintz and Ekendahl). This is ubiquitous in BIM and other architectural software as the user can create doors, a class, then further specify what size and material the doors are. This is done by the program creating the door as an object, then making slight altercations to the doors general structure to match it's specified type. BIM is essential applying the concept of inheritance, or taking traits from a previous object or class applying them to a new object or class. This keeps the object's or class's behaviors the same while changing a few qualities of them. This also allows the user to select all of the doors of one type (wooden for example) and make changes to them, instead of all doors in the model. This acts as a huge time saver for the designer and greatly increases the efficiency of the modeling process (Johnson and Foote).
Overall, object oriented databases pull useful concepts from object oriented programming to facilitate the use of databases. This allows databases to function at a higher capacity than without object orientation and proves to be superior in almost every case. Object oriented databases are a blessing for BIM and allow the user to spend less time checking for consistency and more time focusing on the design and structural integrity of the building.
Overall, object oriented databases pull useful concepts from object oriented programming to facilitate the use of databases. This allows databases to function at a higher capacity than without object orientation and proves to be superior in almost every case. Object oriented databases are a blessing for BIM and allow the user to spend less time checking for consistency and more time focusing on the design and structural integrity of the building.
Works Cited
"Definition." ODBMSorg. N.p., n.d. Web. 10 Feb. 2017. <http://www.odbms.org/introduction-to-odbms/definition/>.
Johnson, Ralph E., and Brian Foote. "Designing Classes." Software Development with C++ (1995): 293-309. 1991. Web. 10 Feb. 2017.
<https://www.cse.msu.edu/~cse870/Input/SS2002/MiniProject/Sources/DRC.pdf>.
Mike Mintz, Robert Ekendahl (2006). Hardware Verification with C++: A Practitioner’s Handbook. United States of America: Springer. p. 22. ISBN 0-387-25543-5.
Comments
Maria Raggousis - Thank you for breaking down SQL into simple language. I did not have a very good idea of what SQL was or how it was used, but after reading your post I definitely have a much greatly grasp of it. Your sample code was brilliant and so was your Excel analogy. Your post excites me to work on our database project and I hope to be able to apply my new knowledge to this project. While understanding the background information and code behind SQL sounds daunting, I believe that with some time and effort I will be able to use the front end of SQL and how to apply it.
Drew Hovey - The figures you provided definitely helped me further understand the concepts behind relational databases. While the relations seem like they could become quite complex, especially with large datasets, I can see how they could be very helpful. The database updates sound similar to problems that Revit has with backwards compatibility. It seems strange to me that we haven't figured out how to avoid this issue, but I guess it must be complex enough to rationalize it.
Egla Qori - Your post really helped me understand just how powerful SQL is. The ability to update such large databases on the fly is incredibly useful and a huge step up in efficiency. Your descriptions of the sub-languages of SQL provided me with a lot of insight of how the language functions and organizes and manipulates data. It is stupefying to think how large databases would have been possible without SQL and how far we have come with their development.
I like how you described object oriented databases. As I am new to databases and to the programs we are using, it was easy to understand. Do you think that object oriented databases will have any important developments in the future that can help the database use?
ReplyDelete