As the name implies, object-focused databases (BDOO) They are databases made up of objects of different types, on which a series of operations are defined for their interaction, which in turn are integrated with the operations of an object-oriented programming language (POO).
Its components are objects, since in them data is stored as objects and not as data, as does a relational database, whose representation are the tables. In reality, BDOOs are designed to work with object-oriented languages, but they also handle binary information and work with complex data quickly and safely.
In the nineties a lot was expected of this type of NoSQL database, representing information through objects, but to finish they were overtaken by SQL or relational databases. Nowadays they have reawakened interest as an alternative to the ubiquitous relational databases.
Thanks to your flexibility by meeting the needs of New applications, the increasing use of object-oriented languages, and the intense activity shown by open source communities, both OOD and OOP have been reactivated.
Java, Visual Basic o C ++ are examples of languages that support working with object-focused databases. In reality, traditional databases have operational problems when the applications that access them are written in one of these programming languages.
Characteristics of the BDOO (Object database)
As a model of object-oriented computer models, BDOOs are an intelligent database, designed to store complex objects, incorporating all the key concepts of the object paradigm. In them we can observe the following features principal:
Mandatory: They are essential requirements, characteristics that the system must necessarily have. Among others, the system must support complex objects, object identity (objects must have an identifier at the same time as their attribute values), encapsulation (the data and implementation of the methods, hidden in objects), and its contiguous. schema a set of types or classes, at the same time of attendance, Recovery, computational completion, persistence and secondary storage handler, ease of consultation or, as an example, extensibility.
Optional: Can be optionally added to boost the system, as multiple inheritance, design of transactions and versions, type verification and distribution inference.
Opened: They are the points where there are different options, as the programming paradigm, the representation of the system and its uniformity.
At the same time being designed to work with object-oriented programming languages, object-focused databases include the key concepts of the object model, as the following properties:
Encapsulamiento: Hide information from other objects to avoid conflicts or incorrect access.
Inheritance: Class hierarchy from which objects inherit behaviors.
Polymorphism: Property of an operation that can be applied to objects of different types.
Image source: Stuart Hundred / FreeDigitalPhotos.net