Segue un' analisi dei diversi casi possibili che si possono verificare durante l' eliminazione di un operando:
- Eliminazione dell' operatore radice, UNARIO o BINARIO, privo di operandi
Figura 2.4.1
- Se si procede con l' eliminazione dell' operatore, cliccando il tasto ELIMINA operatore
, si ottiene l' annullamento dell' albero, ovvero viene ripristinato un albero vuoto, con una radice fittizia
Figura 2.4.2
- Se si procede con l' eliminazione dell' operatore, cliccando il tasto ELIMINA operatore
- Eliminazione dell' operatore radice, UNARIO o BINARIO, con figliEliminando l' operatore radice, evidenziato in giallo, si esegue un algoritmo che individua il tipo di operatore selezionato, ovvero se é un operatore UNARIO (Figura 2.4.3) o BINARIO (Figura 2.4.4).
Figura 2.4.3
Figura 2.4.4
- Se l' operatore selezionato é di tipo UNARIO (Figura 2.4.3), l' operando sottostante diviene la nuova radice dell' albero della query (Figura 2.4.5)
Figura 2.4.5
- Se l' operatore selezionato é di tipo BINARIO (Figura 2.4.4), viene chiesto all' utente di scegliere quale dei due operandi sottostanti si vuole mantenere e quale perdere. Infatti non é possibile mantenere entrambi gli operandi
Figura 2.4.6
La figura 2.4.6 evidenzia il caso in cui si é scelto di mantenere l' operando sinistro.
- Se l' operatore selezionato é di tipo UNARIO (Figura 2.4.3), l' operando sottostante diviene la nuova radice dell' albero della query (Figura 2.4.5)
- Eliminazione di un operatore fogliaL' eliminazione di un operatore foglia, sia UNARIO che BINARIO, comporta la sola eliminazione dello stesso (Figura 2.4.1 e Figura 2.4.2)
- Eliminazione dell' operatore intermedio UNARIO con un operandoLa situazione é quella presentata nella Figura 2.4.7 di seguito
Figura 2.4.7
Figura 2.4.8
- Eliminazione di un operatore intermedio BINARIO con 1 o 2 operandi
Figura 2.4.9
- Si chiede all' utente di scegliere quale dei due operandi, dell' operatore binario che si vuole eliminare, deve essere mantenuto e quindi agganciato all' operatore genitore di quello selezionato.
- Se si sceglie di mantenere l' operando sinistro, si otterrá la seguente situazione:
Figura 2.4.10
- Se invece si é scelto di agganciare al genitore, l' operando destro dell' operatore da eliminare, il risultato sará il seguente:
Figura 2.4.11