La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Informatica II – Basi di Dati (07/08) – Parte 2 Gianluca Torta Dipartimento di Informatica dell’Università di Torino

Presentazioni simili


Presentazione sul tema: "Informatica II – Basi di Dati (07/08) – Parte 2 Gianluca Torta Dipartimento di Informatica dell’Università di Torino"— Transcript della presentazione:

1 Informatica II – Basi di Dati (07/08) – Parte 2 Gianluca Torta Dipartimento di Informatica dell’Università di Torino torta@di.unito.ittorta@di.unito.it, 0116706782

2 4 – Accesso ai dati di un DB SQL

3 3 Interrogazioni di tipo insiemistico union (unione), intersect (intersezione) ed except (differenza) Assumono come default di eseguire una eliminazione di duplicati L’eliminazione dei duplicati rispetta meglio il tipico significato delle operatori insiemistici Per preservare i duplicati: usare l’operatore con la parola chiave all

4 4 Interrogazioni di tipo insiemistico La sintassi per l’uso degli operatori insiemistici: SelectSQL { [all] SelectSQL }

5 5 Interrogazioni di tipo insiemistico SQL non richiede che gli schemi su cui vengono effettuate le operazioni insiemistiche siano identiche Solo che gli attributi siano in pari numero e che abbiano domini compatibili La corrispondenza tra gli attributi non si basa sul nome ma sulla posizione degli attributi Se gli attributi hanno nome diverso, il risultato normalmente usa i nomi del primo operando

6 6 Interrogazione 22 (insiemistiche) Nomi e cognomi degli impiegati (notare: non serve che gli attributi abbiano lo stesso nome, ma solo lo stesso “tipo”, per esempio stringa) select Nome from Impiegato union select Cognome from Impiegato

7 7 Interrogazione 22 (insiemistiche) select Nome from Impiegato union select Cognome from Impiegato Nome Mario Carlo Giuseppe Franco Lorenzo Paola Marco Rossi Bianchi Verdi Neri Lanzi Borroni

8 8 Interrogazione 23 (insiemistiche) Nomi e cognomi degli impiegati mantenendo i duplicati select Nome from Impiegato where Dipart<>’Amministr’ union all select Cognome from Impiegato where Dipart<>’Amministr’ Nome Carlo Franco Carlo Lorenzo Marco Bianchi Neri Rossi Lanzi Franco

9 9 Interrogazione 24 (insiemistiche) Cognomi che sono anche nomi select Nome from Impiegato intersect select Cognome from Impiegato Nome Franco

10 10 Interrogazione 25 (insiemistiche) Nomi che non sono cognomi select Nome from Impiegato except select Cognome from Impiegato Nome Mario Carlo Giuseppe Lorenzo Paola Marco

11 11 SQL->linguaggio SQL gestisce i duplicati ( select e select distinct ), algebra no (basata su insiemi) select * from Impiegati ordered by [asc|desc] Matricola Operatori aggregati Interrogazioni nidificate per ordinare le tuple


Scaricare ppt "Informatica II – Basi di Dati (07/08) – Parte 2 Gianluca Torta Dipartimento di Informatica dell’Università di Torino"

Presentazioni simili


Annunci Google