MOMIS Query Manager

Clausola Where


All'atto dell'acquisizione della query, il parser accerta la corretezza della clausola where e produce la corrispondente struttura dati Oql_Query che ne rappresenta il contenuto. Una generica clausola where prevede un insieme di espressioni che possono essere composte ricorsivamente per mezzo delle classi di specializzazione di Oql_Query. I casi finora gestiti del Query Manager sono:

Normalizzazione della clausola where

Il Query Manager, prima di iniziare la fase di definizione del piano di accesso, trasforma questa generica struttura booleana in forma normale congiuntiva, cioe' and di or di predicati semplici. In questo modo si ottimizza la fase di esecuzione della query, in quanto vengono valutati il maggior numero di predicati in and e quindi viene minimizzata la quantita' di risultati restituiti dalle sorgenti locali, con una conseguente velocizzazione della fase di integrazione. Per ottenere la forma normale, la clausola where viene analizzata ricorsivamente e trasformata utilizzando i teoremi dell'algebra di commutazione: