Deletion from a B-Tree: Rules for Deleting a key k from a node n
If n has more than the number of keys and the k is not the largest in n, simply delete k from n.
If n has more than the minimum number of keys and the k is the largest in n, delete k and modify the higher level indexes to reflect the new largest key in n.
If n has exactly the minimum number of keys and one of the siblings of n has few enough keys, merge n with its sibling and delete a key from the parent node.
If n has exactly the minimum number of keys and one of the siblings of n has extra keys, redistribute by moving some keys from a sibling to n, and modify the higher level indexes to reflect the new largest keys in the affected nodes.