Underlying the structure of a
database is the data model: a
collection of conceptual tools for describing data, data relationships, data
semantics, and consistency constraints. A data model provides a way to describe
the design of a database at the physical, logical, and view levels.
The data models can be classified into four different categories:
• Relational Model. The
relational model uses a collection of tables to represent both data and the
relationships among those data. Each table has multiple columns, and each
column has a unique name. Tables are also known as relations. The relational model is an example of a record-based
Record-based models are so named because the database is structured in
fixed-format records of several types. Each table contains records of a
particular type. Each record type defines a fixed number of fields, or
attributes. The columns of the table correspond to the attributes of the record
type. The relational data model is the most widely used data model, and a vast
majority of current database systems are based on the relational model.
Entity-Relationship Model. The entity-relationship
(E-R) data model uses a collection of basic objects, called entities, and relationships among these objects.
An entity is a “thing” or “object” in the real world that is
distinguishable from other objects. The entityrelationship model is widely used
in database design.
Object-Based Data Model. Object-oriented programming
(especially in Java, C++, or C#) has become the dominant software-development
methodology. This led to the development of an object-oriented data model that
can be seen as extending the E-R model with notions of encapsulation, methods
(functions), and object identity. The object-relational data model combines
features of the object-oriented data model and relational data model.
Semi-structured Data Model. The semi-structured data
model permits the specification of data where individual data items of the same
type may have different sets of attributes. This is in contrast to the data
models mentioned earlier, where every data item of a particular type must have
the same set of attributes. The Extensible
Markup Language (XML) is widely used to represent semi-structured data.
Historically, the network data
model and the hierarchical data
model preceded the relational data model. These models were tied closely to
the underlying implementation, and complicated the task of modeling data. As a
result they are used little now, except in old database code that is still in
service in some places.