Categories: DBMS

Enhanced ER Diagram

As data complexity increases today, it is becoming increasingly difficult to apply the traditional ER paradigm for database modeling. In order to handle the complex application better and reduce modeling complexity, the current ER model needs to be enhanced or improved.

Consequently, three new concepts were added to the current ER Model as part of the Enhanced ER Model along with other improvements. These concepts were:

  • Generalization
  • Specialization
  • Aggregation
Generalization:

The act of creating a more general entity type from a collection of more specialized entity types is known as generalization. It is a method of building a hierarchy of entities where each entity has both unique attributes and attributes in common with its parent entity.

Object-oriented programming models inheritance using generalization. It is frequently used in database design when a group of entities share some attributes and relationships but also have unique attributes and relationships that set them apart from one another. Instead of having to be duplicated across various entity types, these shared attributes and connections can be represented once by creating a general entity type.

For example, Faculty and Student types entities can be generalized and an entity with the name Person can be created, which covers both.

Specialization:

The definition of a more specialized entity type from a more general entity type is the process of specialization. It is the opposite of generalization, which occurs when a set of more specialized entity types is used to create a more general entity type.

Different types of entities with particular characteristics or connections that do not apply to the more general entity type are modeled using specialization. Specialization is often used in combination with generalization to create a hierarchical relationship between entities.

For example, consider a “Vehicle” entity type that has attributes such as “make”, “model”, “year”, and “color”. We could then create specialized entity types, such as “Car”, “Truck”, and “Motorcycle”, which inherit the common attributes of the “Vehicle” entity type but also have their own unique attributes and relationships.

Aggregation:

The process of aggregating various entities into a single entity is known as aggregation. The aggregated entity exhibits a relationship with the original entities, but it also possesses unique characteristics that the original entities lacked.

It can be used to model many-to-many relationships between entities, where there are multiple relationships between two or more entities. It can also help to reduce redundancy and improve the efficiency of the database design. Example:

Note: also read about Basic Concepts of ER Model

Follow Me

Please follow me to read my latest post on programming and technology if you like my post.

https://www.instagram.com/coderz.py/

https://www.facebook.com/coderz.py

Share
Published by
Rabecca Fatima

Recent Posts

Generate Parenthesis | Intuition + Code | Recursion Tree | Backtracking | Java

Problem Statement: Given n pairs of parentheses, write a function to generate all combinations of well-formed parentheses. Example…

3 months ago

Square Root of Integer

Given an integer A. Compute and return the square root of A. If A is…

1 year ago

Build Array From Permutation

Given a zero-based permutation nums (0-indexed), build an array ans of the same length where…

1 year ago

DSA: Heap

A heap is a specialized tree-based data structure that satisfies the heap property. It is…

2 years ago

DSA: Trie

What is a Trie in DSA? A trie, often known as a prefix tree, is…

2 years ago

Trees: Lowest Common Ancestor

What is the Lowest Common Ancestor? In a tree, the lowest common ancestor (LCA) of…

2 years ago