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 Relational Database Schema in DBMS Relational Schema Transaction Processing in DBMS Discriminator in DBMS

Red-Black Tree Deletion in DBMS

Introduction To Red Black Tree

Each node's extra bit in a red-black tree, a type of self-balancing binary search tree, is frequently understood as the color (red or black). The balance of the tree is maintained through insertions and deletions, thanks to the employment of these colors. Although the tree's balance is not ideal, it is sufficient to cut down on searching time and keep it at or below O(log n), where n is the total number of tree elements. Rudolf Bayer invented this tree in 1972.

Note: It should be noted that these kinds of trees have the same memory footprints as the traditional (uncolored) binary search tree because each node only needs one bit of space to store the color information.

Requirement Of Red-Black Tree

Most BST operations, including search, max, min, insert, delete, and others, take O(h) time, where h is the BST's height. The cost of these procedures can go to O(n) for a skewed Binary tree. If we ensure that the tree's height remains O(log n) after each insertion and deletion, we may give an upper bound of O(log n) for all these operations. A Red-Black tree's height is always O(log n), where n is the tree's node count.

Properties of Red-Black Tree

  • A self-balancing Binary Search tree is what it is. Self-balancing in this context indicates that it rotates or recolors the nodes to balance the tree.
  • As each node in this tree data structure is either Red or Black, it is known as a Red-Black tree. Every node contains an additional piece of data known as a bit that corresponds to the node's color. For instance, 0 bits represent the color black, while 1 bit represents the node's red color. The node also stores data, left pointers, and right pointers, which are similar to the binary tree.
  • The Red-Black tree's root node is always black.
  • We refer to nodes in a binary tree with no children as leaves. On the other hand, the Red-Black tree's internal nodes are those without offspring; they are connected to the NIL nodes, which are consistently black in color. The Red-Black tree's leaf nodes are known as NIL nodes.
  • Children of a Red node should be Black if the node is Red. In other words, there shouldn't be a red-red parent-child relationship.
  • There should be an equal number of black nodes on any path leading from a node to any of its descendants' NIL nodes.

Deletion in Red Black Tree

Step 1:

First, we run the deletion using BST rules.

Step 2:

Case 1: If the node in question is Red and has to be eliminated, we just do that.

Consider removing node 31 from the tree, which is shown below.

Red-Black Tree Deletion

The root node's address is what we start with. We will first search the node using        BST. Given that 31 is greater than both 11 and 21, it follows that 31 belongs as a child of node 21. Node 31 is removed from the tree because it is a leaf node and is colored Red. Suppose the internal node with one child is to be deleted. Delete the child node after replacing the internal node's value with that of the child node.

Take another instance where we wish to remove node 21, an internal node.

Red-Black Tree Deletion

The internal node cannot be deleted; we can only change the value of that node to anything else. The single child of node 21, located to the right of the root node, is node 31. Therefore, node 21 is changed to have a value of 31, but the node's color, which is Black, stays the same.

Red-Black Tree Deletion Red-Black Tree Deletion

If the internal node with two child nodes has to be removed. In this situation, we must choose where to get the value for the internal node (either the left or right subtree). There are two options:

  • In-order predecessor: The greatest value found in the left subtree will be substituted.
  • In-order successor: The lowest value that is present in the correct subtree will be used as the successor in order.