UNITA`: interrogazioni con quantificatore esistenziale ed universale

(Modulo didattico: estrazione di informazione)

Il DML-SQL ha ancora alcune caratteristiche fondamentali per la progettazione di interrogazioni significative.

Da un lato esso permette l'annidamento delle interrogazioni; questo si traduce in una maggiore facilita` di soluzione, dato che annidare queries equivale a scomporre le difficolta` insite nella soluzione di un problema iniziale.

Dall'altro non sappiamo ancora come ricavare interrogazioni che, per esempio, producano dati su cui valgano proprieta` logiche, espresse con predicati quantificati universalmente; sempre per esempio, si pensi al caso in cui si vogliano conoscere i nomi di studenti che hanno sostenuto tutti gli esami, in una applicazione di gestione delle informazioni su studenti.

Prerequisiti
E` obbligatorio conoscere i contenuti dell'unita` didatticaOperatori aggregati/raggruppamento.

Obiettivo
Apprendere a progettare interrogazioni le cui proprieta` possano essere descritte con quantificatori universali, esistenzaili o con operazioni insiemistiche.

Attivita`
L'unita` si sviluppa tramite esempi di progettazione di interrogazioni che richiedono l'uso di operatori insiemistici e logici, per ricavare informazioni sullo schema logico di riferimento "Azienda".

Contenuto

NOTA: I sorgenti qui forniti possono essere usati nell'istanza di Oracle 8i dipartimentale a patto di sostituire il nome del tablespace USERS, in cui vengono costruite le tabelle, con BDSGR.

Sommario
E` possibile annidare le queries:, ovviamente rispettando regole sintattiche precise. Una subquery serve a calcolare risultati parziali e semplificare un problema iniziale. In certi casi, come mostrato con un esempio, e` possibile sfruttare queries annidate per ottenere una maggiore efficienza.

Inoltre, DML-SQL fornisce primitive che facilitano l'interpretazione delle tabelle sia come insiemi estensionali, cioe` come elenco di n-uple, sia come insiemi intensionali, cioe` definiti tramite predicato che le n-uple soddifano. Operatori per la gestione di insiemi estensionali sono (NOT) IN, (=,!=) ALL, MINUS, INTERSECT, UNION; quelli per la manipolazione di insiemi intensionlai e` (NOT) EXISTS.

Capitoli del testo
Del capitolo 4, paragrafi 4.3 e 4.4.

Esercitazione
Lucidi che propongono esercizi.