Object-Oriented Data Model
During the 1990s, alongside the evolution of object-oriented programming and the emergence of object databases by software vendors, object-oriented data modelling gained traction. This approach bears resemblance to the Entity-Relationship (ER) method in its representation of data, attributes, and relationships, but it introduces the abstraction of entities into objects.
Objects sharing common attributes and behaviours can be organised into classes, with new classes capable of inheriting attributes and behaviours from existing ones. Despite this, object databases have remained niche technologies, primarily suited for specific applications, thus restricting the widespread adoption of object-oriented modelling.
Object-Relational Data Model
Hybrid database model merges the ease of use found in the relational model with certain advanced features of the object-oriented database model. Essentially, it enables designers to integrate objects within the conventional table format.
Supported languages and call interfaces encompass SQL3, vendor-specific languages, ODBC, JDBC, and proprietary call interfaces, which serve as extensions of the languages and interfaces utilised by the relational model.
Flat Data Model
This model presents the database as a table comprising rows and columns, offering a straightforward structure. However, accessing data necessitates reading the entire table, rendering the process slow and inefficient.
Semi-Structured Data Model
The semi-structured model represents an advancement over the relational model, blurring the distinction between data and schema. For instance, web-based data sources exhibit this characteristic, where the website’s schema and data cannot be readily distinguished.
Within this model, certain entities may lack attributes, while others may possess additional attributes. This flexibility extends to both storing data and defining attributes. For instance, attributes can accommodate either atomic values or collections of values.
Associative Data Model
The Associative Data Model divides data into two components. Entities, which have independent existence, and associations, which represent relationships between these entities. These components are referred to as items and links, respectively.
-
Context Data Model
The Context Data Model comprises multiple models, such as the network model and relational models. By leveraging this model, we can undertake diverse tasks that are not achievable using any single model alone.
This encapsulates the different data models within DBMS.