DBMS Concepts

DBMS Tutorial Components of DBMS. Applications of DBMS The difference between file system and DBMS. Types of DBMS DBMS Architecture DBMS Schema Three Schema Architecture. DBMS Languages.

DBMS ER Model

ER model: Entity Relationship Diagram (ERD) Components of ER Model. DBMS Generalization, Specialization and Aggregation.

DBMS Relational Model

Codd’s rule of DBMS Relational DBMS concepts Relational Integrity Constraints DBMS keys Convert ER model into Relational model Difference between DBMS and RDBMS Relational Algebra DBMS Joins

DBMS Normalization

Functional Dependency Inference Rules Multivalued Dependency Normalization in DBMS: 1NF, 2NF, 3NF, BCNF and 4NF

DBMS Transaction

What is Transaction? States of transaction ACID Properties in DBMS Concurrent execution and its problems DBMS schedule DBMS Serializability Conflict Serializability View Serializability Deadlock in DBMS Concurrency control Protocols

Difference

Difference between DFD and ERD

Misc

Advantages of DBMS Disadvantages of DBMS Data Models in DBMS Relational Algebra in DBMS Cardinality in DBMS Entity in DBMS Attributes in DBMS Data Independence in DBMS Primary Key in DBMS Foreign Key in DBMS Candidate Key in DBMS Super Key in DBMS Aggregation in DBMS Hashing in DBMS Generalization in DBMS Specialization in DBMS View in DBMS File Organization in DBMS What Is A Cloud Database What Is A Database Levels Of Locking In DBMS What is RDBMS Fragmentation in Distributed DBMS What is Advanced Database Management System Data Abstraction in DBMS Checkpoint In DBMS B Tree in DBMS BCNF in DBMS Advantages of Threaded Binary Tree in DBMS Advantages of Database Management System in DBMS Enforcing Integrity Constraints in DBMS B-Tree Insertion in DBMS B+ Tree in DBMS Advantages of B-Tree in DBMS Types of Data Abstraction in DBMS Levels of Abstraction in DBMS 3- Tier Architecture in DBMS Anomalies in Database Management System Atomicity in Database Management System Characteristics of DBMS DBMS Examples Difference between Relational and Non-Relational Databases Domain Constraints in DBMS Entity and Entity set in DBMS ER Diagram for Banking System in DBMS ER Diagram for Company Database in DBMS ER Diagram for School Management System in DBMS ER Diagram for Student Management System in DBMS ER Diagram for University Database in DBMS ER Diagram of Company Database in DBMS Er Diagram Symbols and Notations in DBMS How to draw ER-Diagram in DBMS Integrity Constraints in DBMS Red-Black Tree Deletion in DBMS Red-Black Tree Properties in DBMS Red-Black Tree Visualization in DBMS Redundancy in Database Management System Secondary Key in DBMS Structure of DBMS 2-Tier Architecture in DBMS Advantages and Disadvantages of Binary Search Tree Closure of Functional Dependency in DBMS Consistency in Database Management System Durability in Database Management System ER Diagram for Bank Management System in DBMS ER Diagram for College Management System in DBMS ER Diagram for Hotel Management System in DBMS ER Diagram for Online Shopping ER Diagram for Railway Reservation System ER Diagram for Student Management System in DBMS Isolation in DBMS Lossless Join and Dependency Preserving Decomposition in DBMS Non-Key Attributes in DBMS Data Security Requirements in DBMS DBMS functions and Components What is Homogeneous Database? DBMS Functions and Components Advantages and Disadvantages of Distributed Database

DBMS Generalization, Specialization, and Aggregation

DBMS Generalization

Generalization is a bottom-up approach in which the common attributes of two or more lower-level entities combines to form a new higher-level entity. In generalization, the generalized entity of higher level can also combine with entities of the lower-level to make further higher-level entity.
It is like a superclass and subclass system, but the only difference is that it uses the bottom-up approach. It helps in reducing the schema size. It is always applied to the group of entities and result in the formation of a single entity.

According to the below diagram, there are two entities, namely teacher and student. The teacher entity contains attributes such as teacher_id, name, and address and student entity include student_id, name, and address. Both entities can be combined to create a higher-level entity person. The address and name are common to both the entities. The teacher entity has its attribute teacher_id, and the student has its attribute student_id. The entities teacher and student are generalized further into the person entity.
A lower-level entity is called a subclass, and the higher-level entity is called a superclass. So, the person entity is the superclass of two subclasses teacher and student.

DBMS Generalization

DBMS Specialization

It is opposite or inverse of generalization. A specialization is a top-down approach in which an entity of higher-level entity is broken down into two or more entities of lower level. In specialization, a higher-level entity set may not have any lower-level entity set. It is always applied to a single entity and results in the formation of multiple new entities. It increases the size of schema due to the increase in the number of entities.

In the below example, it can be seen that the employee is a high-level entity which is divided into three sub-entities (Ram, Shyam, and Mohan). The sub-entities are the names of the employees (relating to the high-level entity). Therefore, splitting a high-level entity into a low-level entity is called specialization.

DBMS Specialization

DBMS Aggregation

Through the Entity-Relationship model, we cannot express a relationship set with another relationship set. Thus we use the concept of aggregation to express it.

Aggregation is an abstraction in which the relationship between two entities is treated as a higher-level entity. It allows you to indicate that a relationship set participates in another relationship set.

Example:

The student and program are two entity set and related through a relationship set write. Suppose, a student who writes any program must require a programming language installed in their system. So, there will be another relationship set requires. You need to connect the relationship set requires with an entity set programming language and relationship set write. But, we can connect only entity set to a relationship set.
One relationship set cannot be connected with another relationship set; for this, we need aggregation. Here, the write (relationship set) will treat like a higher-level entity and can be associated with a relationship set requires. So, aggregation is needed when you express a relationship set with another relationship set. 

DBMS Aggregation