Inserimento in un $B^+$-tree

Inizialmente la radice è l’unico nodo dell’albero: essendo quindi un nodo foglia conterrà anche i puntatori ai dati

Se si cerca di inserire un’entry in un nodo foglia pieno, il nodo va in overflow e deve essere scisso:

Se il nodo padre (interno) è pieno si ha un altro overflow:

Tale scissione si può propagare verso l’alto fino a creare un nuovo livello per il $B^+$-tree

Esempio di inserimento

Untitled

Untitled

Untitled

Untitled

Cancellazione in un $B^+$-tree

Un’entry è cancellata sempre a livello foglie

Se essa ricorre anche in un nodo interno, allora è rimossa anche da quello e al suo posto si inserisce il valore immediatamente alla sinistra del valore rimosso nel nodo foglia

La cancellazione di valori può causare l’underflow di un nodo, riducendo il numero di entry in un nodo foglia per meno del minimo consentito: