CH_03 DBMS Data Models

by Jasleen Chhabra | Updated on 29 September 2024
  • Exploring DBMS Data Models
  • Early Data Models
  • Entity-Relationship (ER) Model
  • Relational Model

Exploring DBMS Data Models

In a Database Management System (DBMS), data models play a critical role in defining how data is structured, stored, and accessed. A data model provides a blueprint for the organization of the database, outlining how data elements are connected, processed, and stored. In simple terms, a data model explains the logical structure of the database and ensures that the data is handled efficiently.


Early Data Models

The earliest types of data models were simplistic, such as flat data models where all the data was stored on a single level or "plane." These models lacked sophistication and often resulted in data redundancy and update anomalies. Without proper relationships and structuring, maintaining and updating the data was error-prone.

As database technology evolved, more refined and scientific data models were developed to overcome these limitations, resulting in the creation of models that are still widely used today, such as the Entity-Relationship (ER) Model and the Relational Model.


Entity-Relationship (ER) Model

The Entity-Relationship (ER) Model is one of the most widely used conceptual frameworks for designing databases. It is based on the notion of real-world entities and the relationships that exist between them. When converting real-world scenarios into database models, the ER model plays a key role by forming entity sets, relationship sets, attributes, and constraints.

The ER Model is especially useful in the conceptual design phase of database development. It simplifies the understanding of the system by breaking it down into entities, attributes, and relationships. Let’s take a closer look at its key components:

1. Entities and Attributes

In the ER model, an entity represents any object or thing in the real world that can be distinctly identified. For example, in a school database, a "student" is an entity. An entity has certain attributes, which are characteristics that define the entity. For a student, attributes could be the student's name, age, class, and subjects.

Each attribute is associated with a domain, which represents the set of possible values the attribute can take. For instance, the "age" attribute of a student might have a domain of integer values from 5 to 18.

2. Relationships Between Entities

A relationship is a logical association between two or more entities. In the ER model, relationships define how entities interact with each other. For example, a "student" can be associated with a "class," indicating that the student belongs to a specific class. These relationships can have various mapping cardinalities, which define the number of associations between entities.

Mapping Cardinalities:

  • One-to-One: A single entity from set A is related to a single entity from set B.
  • One-to-Many: A single entity from set A is related to multiple entities from set B.
  • Many-to-One: Multiple entities from set A are related to a single entity from set B.
  • Many-to-Many: Multiple entities from set A are related to multiple entities from set B.

The ER model is widely used for designing databases conceptually and is often represented using ER diagrams that visually depict entities, attributes, and their relationships.


Relational Model

The Relational Model is the most popular and widely adopted data model in DBMS. Unlike the ER model, which focuses on entities and relationships, the relational model is based on first-order predicate logic and organizes data into tables (also referred to as relations). Each table consists of rows and columns, where each row is a unique entry and each column represents a specific attribute of the entity.

The relational model offers a more structured and mathematical approach to data management, making it an efficient way to store and retrieve data. Let’s explore some of its key characteristics:

1. Data Storage in Tables

In the relational model, data is organized into tables (relations), where each table represents an entity and each row in the table represents a single record of that entity. For example, a "Student" table might contain rows that represent individual students, while the columns represent attributes like name, age, and class.

2. Normalization

A significant advantage of the relational model is the concept of normalization, which ensures that the data is stored efficiently and without redundancy. Normalization involves organizing the data into multiple tables and establishing relationships between them to reduce data duplication. By breaking down complex tables into simpler, more related tables, the relational model eliminates redundant data, thus minimizing update anomalies.

3. Atomicity of Values

In the relational model, all data stored in a table must be atomic, meaning each value in a table is indivisible and cannot be broken down further. This ensures that each row contains distinct, meaningful data without complex nested structures. For instance, a student's name, age, and class would all be atomic values stored in separate columns.

4. Unique Rows and Defined Domains

Each row in a table must have a unique identifier, often called a primary key, which distinguishes one record from another. Additionally, each column in the table is associated with a specific domain, meaning the values in that column must belong to a predefined set of valid values.

For example, in a "Student" table, each student might have a unique student ID, which acts as the primary key. The "age" column would have a domain of positive integers, while the "name" column would be restricted to strings.


Conclusion

Data models are the foundation of how data is organized and managed in a DBMS. Whether you're using the Entity-Relationship (ER) Model for conceptual design or the Relational Model for scientific, structured data management, each model has its strengths. The ER model provides a high-level abstraction that is useful during the initial stages of database design, while the relational model offers a more formal and efficient way to store, retrieve, and manipulate data.

By understanding these data models, organizations can build robust databases that efficiently manage data, ensuring accuracy, minimizing redundancy, and providing a seamless way for users to interact with the data. As technology advances, newer data models continue to emerge, but the core principles of the ER and relational models remain pivotal in database management.


FAQ

Any Questions?
Look Here.

Related Articles

CH_01 Database Management Systems (DBMS)

CH_02 DBMS Architecture

CH_04 Difference between DBMS and RDBMS

CH_05 DBMS Data Schemas and Data Independence

CH_06 Database Languages in DBMS

CH_07 ACID Properties in DBMS

CH_08 ER (Entity-Relationship) Diagrams in DBMS

CH_09 Cardinality in DBMS

CH_10 Keys in DBMS

CH_11 Generalization, Specialization, and Aggregation in DBMS

CH_12 Relational Model in DBMS

CH_13 Operations on Relational Model in DBMS

CH_14 Relational Algebra in DBMS

CH_15 Join Operations in DBMS

CH_16 Integrity Constraints in DBMS

CH_17 Relational Calculus in DBMS

CH_18 Anomalies in DBMS

CH_19 Normalization in DBMS

CH_20 Transaction Management in DBMS

CH_21 ACID Properties in DBMS

CH_22 Concurrency Control in DBMS

CH_23 Data Backup and Recovery in DBMS

CH_24 Storage System in DBMS