Saturday, February 8, 2020

BP 5 - Object Oriented Databases

Object oriented databases are databases that are created using objects and classes and can be used as an alternate to a relational database. An object is the part that has properties and methods which is identified using a unique identifier. A good example of this can be found in the article titled “what is an object oriented database?” which explains an object as a student. Much like a student objects have unique information such as their name, birth date, address, year in school, eye color, height, weight and the list goes on and on. These are equivalent to the properties of an object known as a state. Going back to the student analogy objects can also have behaviors and in the student analogy this would be represented as writing an exam, listening, submitting assignments, or paying their tuition. And the analogy for a class of objects is a class of students.
Some important aspects of object-oriented databases are encapsulation, inheritance, and association. Encapsulation is where the user only sees the end result and does not see the process in which it got to the end result. Inheritance is important because it allows things to be reused by creating new classes from existing classes. This allows for the creation of new classes that can inherit the properties of their parent class. Finally, association looks at how the objects are connected and going back to the student analogy this could be a student being on a basketball team which connects students or five students on the class are honors students. It’s the link between different objects.
Some advantages of object oriented databases are their large capabilities for handling different data types, such as voice, video and text, their high capabilities and improved performance, as well as the extensibility. The extensibility allows for new databases to be built from the existing ones. Finally, some disadvantages include being very complex, lack of standards and lack of experience. Overall for someone such as myself who is very new to databases it seems very complex and hard to understand, but it seems like object oriented databases have endless capabilities.
Sources
Curator, C.  What Are Object-Oriented Databases And Their Advantages. Retrieved February 8, 2020, from https://www.c-sharpcorner.com/article/what-are-object-oriented-databases-and-their-advantages2/
What is an Object-Oriented Database? Retrieved from https://study.com/academy/lesson/what-is-an-object-oriented-database.html


Comments
Douha, (link)
You made relational databases easy for me to understand as someone who doesn't have a lot of experience with it. The Drexel example helped point out how important these are for us in our daily use.

Dane, (link)
You are right when you talk about the advantages to having databases in the construction field. Overall it is just so much easier to track what is going on as well as determining how many of parts are needed. I would also imagine it leads to less mixups and confusion.

Ina, (link)
As someone who doesn't really understand databases very well your blog post was well written and I liked how you explained SQL and Hadoop and then tied them together. I think for companies that deal with massive databases figuring out what type to use must be a challenge. I would be curious to know how companies go through the process of deciding.

1 comment:

Spencer K said...

Andrew,

Thank you for your analogy for OODBs, it made understanding how they work incredibly easy for someone who does not have very much experience with coding databases. I wonder how difficult it is to repair incomplete or inaccurate databases; for example, if inheritances and extensibilities are used from a parent database that has wrong information, what would the process be to repair these databases? Is it automatic or would the data scientist have to start the new databases from scratch? Thanks for your post!