A database model is a type of data model that determines the logical structure of a database and fundamentally determines in which manner data can be stored, organized, and manipulated. The most popular example of a database model is the relational model, which uses a table-based format.
Logical Database Models
- Hierarchical model
- Network model
- Relational model
- Entity–relationship model
- Object model
- Document model
- Entity–attribute–value model
- Star schema
This model is the first recognized database model created by IBM in the 1960s. A hierarchical database model is a data model in which the data is organized like tree structure. The structure allows representing information using parent/child relationships, each parent can have many children, but each child has only 1 parent (it is known as 1-to-many relationship).
Every attributes of a specific record are listed under an entity type. In a database an entity type is the equivalent of a table. Each individual record is represented as a row, and each attribute as a column. Entity types are related to each other using 1:N mappings, also known as one-to-many relationships.
The network model is a database model conceived as a flexible way of representing objects and their relationships. Its distinguishing feature is that the schema, viewed as a graph in which object types are nodes and relationship types are arcs, is not restricted to being a hierarchy or lattice.
This model’s original inventor was Charles Bachman. It was developed in a standard specification and published in 1969 by the Conference on Data Systems Languages (CODASYL) Consortium.
In 1971, a second publication was released, which became the basis for most implementations. Also in early 1980’s the subsequent work continued and culminating in an ISO specification, but this had little influence on products.
In 1969, Edgar F. Codd is the first to formulate and propose the relational model for database management as a database model based on first-order predicate logic.
In the relational model of a database, all data is represented in terms of tuples, grouped into relations. A database organized in terms of the relational model is a relational database.
The purpose of the relational model is to provide a declarative method for specifying data and queries: users directly state what information the database contains and what information they want from it, and let the database management system software take care of describing data structures for storing the data and retrieval procedures for answering queries.
Most relational databases use the SQL data definition and query language; these systems implement what can be regarded as an engineering approximation to the relational model. A table in an SQL database schema corresponds to a predicate variable; the contents of a table to a relation; key constraints, other constraints, and SQL queries correspond to predicates. However, SQL databases, including DB2, deviate from the relational model in many details, and Codd fiercely argued against deviations that compromise the original principles.
Entity – Relational model
Entity–relationship-modeling is a data modeling technique used in software engineering to produce a conceptual data model of a information system. Diagrams created using this ER-modeling technique are called Entity-Relationship Diagrams, or ER diagrams or ERDs. So you can say that Entity Relationship Diagrams illustrate the logical structure of databases.
Dr. Peter Chen is the originator of the Entity-Relationship Model. His original paper about ER-modeling is one of the most cited papers in the computer software field. Currently the ER model serves as the foundation of many system analysis and design methodologies, computer-aided software engineering (CASE) tools, and repository systems.
Object model (Object oriented database management systems – OODBMS)
An object database also known as object-oriented database management system is one of the database management system in which the information is represented in the form of objects as used in object-oriented programming like Java, C++, C#, Python, Perl, Visual Basic .NET… Object databases are different from relational databases which are table-oriented. Object-relational databases are a hybrid of both approaches.
As the usage of web-based technology increases with the implementation of Intranets and extranets, companies have a vested interest in OODBMSs to display their complex data.
Object oriented database management systems (OODBMSs) combine database capabilities with object-oriented programming language capabilities. OODBMSs allow object-oriented programmers to develop the product, store them as objects, and replicate or modify existing objects to make new objects within the OODBMS. Because the database is integrated with the programming language, the programmer can maintain consistency within one environment, in that both the OODBMS and the programming language will use the same model of representation. Relational DBMS projects, by way of contrast, maintain a clearer division between the database model and the application.