What is an "object"?
The article I found did a great job on explaining the concept of an object. It starts with leading me to think the definition of object in the real-word. Examples are like dogs and bicycles, which both share two similar characteristics: state and behavior. States like breed and color for dogs, current speed and current gear for bicycles. Behaviors like barking and changing gears. Object in computer language apparently shares the similar concept such as it also has two states: state and behavior. The state is stored in fields, meaning the variables in CS languages and the behavior is exposed through methods, meaning functions.
"Methods operate on an object's internal state and serve as the primary mechanism for object-to-object communication. Hiding internal state and requiring all interaction to be performed through an object's methods is known as data encapsulation - a fundamental principle of object-oriented programming."
With knowing the concept of object, the next question is:
What is an "object oriented programming" (OOP)?
OOP is the most modern server-side scripting languages that is used by back-end developer to write software and database technology. OOP tells web applications or website how to behave and build the platform for a site to interact with its database. To put it in a simpler way, if a website uses object-oriented logic, then it is designed to consider data as "objects". Another term that needs to mention is class. Class is like a template to the object. It does not contain data or methods but it defines the the data and methods in an object and it creates the object. Some benefits of the OOP are reusable, less developing time and more accurate coding, data is safe and secure, and shareable.
Object Oriented Databases
Also called object database management system (ODBMS). Objects store objects rather than data and objects contains two things - attributes and methods. Attribute are data that defines the characteristics of an object. Methods are the behavior of an object like mentioned above. In traditional databases, date controlled by the application is impermanent and is stored on a permanent storage device. However, in object databases, the application has the ability to control both impermanent and permanent data. Object databases are used when there is complex data/data relationships and it should not be used when there is a big amount of simple transactional data.
References
https://docs.oracle.com/javase/tutorial/java/concepts/object.html
https://www.upwork.com/hiring/development/object-oriented-programming/
http://www.comptechdoc.org/independent/database/basicdb/dataobject.html
Comments:
Hi Sonny! I did my reading topic on object oriented databases and through the reading, I realized that there was another type of databases which is relational databases - which is also the topic you discussed about in your post. I found your post very helpful and informative dut to the fact that you introduced the concept of relational databases very clearly. One of the advantages of object oriented databases is also data security so it provides certain users access to all the datasets with preventing some users the same time like you mentioned.
Hi Deedee! I enjoy reading your post a lot because I think you did a really good job on making the structure of your post to maximum explain the term clearly. I like how you started the post with the question of asking what database is and personally I would like to know the definition before reading anything else. I also like how you analyze the use of databases in design office in different perspectives. I agree with you that database is very important and helpful towards a lot of things: example like amazon and google, which give people the access to the enormous databases. Not sure what people can do without it.
Hi Marino, I agree with you that there are a lot of benefits of object oriented database as I have also researched the same topic. Some of the benefits that I found are the application has the ability to control both permanent and impermanent data and it is mostly used when there is a complex data relationships. And it is not the best to consider when there is a big amount of simple transactional data. I agree with you that this could be very confusing to the users who do not have a good understanding of the computer languages.