Insertion into the B-tree:
1. First search is made for the place where the new record must be positioned. As soon as the keys are inserted, they are sorted into the appropriate order.
2. If the node can contain the new record, insert the new record at the suitable pointer so that number of pointers happens to be one more than the number of records.
3. If the node overflows because of an upper bound on the size of the node, splitting is needed. The node is divided into three parts; the middle record is passed up and inserted into parent, leaving two children at the back. If n is odd (n-1 keys in full node and the new target key), the median key int(n/2)+1 is placed into the parent node, the lower n/2 keys are placed in the left leaf and the higher n/2 keys are placed in the right leaf. If n is even, we may have left biased or right biased means one key can be more in left child or right child respectively.
4. Splitting may propagate up the tree because the parent, into which the divided record is added, it may overflow then it may be split. If the root is required to be divided, a new record is created with only two children.