La presentazione è in caricamento. Aspetta per favore

La presentazione è in caricamento. Aspetta per favore

Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C

Presentazioni simili


Presentazione sul tema: "Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C"— Transcript della presentazione:

1 Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C
Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C. Batini 5. Algebra Relazionale 5.3 Selezione - 2

2 Altri esempi di condizioni
ETA’ > 20 ETA’ > 20 AND STIPENDIO < 40 SESSO = “M” OR ETA’ < 50 AND FILIALE = “Milano” 04/2007 Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill

3 Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
Selezione: semantica Il risultato contiene le ennuple dell'operando che soddisfano la condizione (cioe’ per le quali la condizione e’ vera) 04/2007 Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill

4 Riconsideriamo l’esempio …
Impiegati Cognome Filiale Stipendio Matricola Neri Milano 64 5998 Rossi Roma 55 7309 Napoli 5698 44 9553 04/2007 Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill

5 Impiegati che guadagnano più di 50
Cognome Filiale Stipendio Matricola Neri Milano 64 5998 Rossi Roma 55 7309 Napoli 5698 44 9553 Impiegati Neri Napoli 64 5698 Milano 44 9553 SELStipendio > 50 (Impiegati) 04/2007 Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill

6 Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
Domanda Impiegati che guadagnano più di 50 e lavorano a Milano: esprimi la interrogazione e costruisci il risultato Impiegati Cognome Filiale Stipendio Matricola Neri Milano 64 5998 Rossi Roma 55 7309 Napoli 5698 44 9553 04/2007 Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill

7 Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
Risposta Impiegati Cognome Filiale Stipendio Matricola Neri Milano 64 5998 Rossi Roma 55 7309 Napoli 5698 44 9553 Rossi Roma 55 7309 Neri Napoli 64 5698 Neri Milano 64 5998 Milano 44 9553 SELStipendio > 50 AND Filiale = 'Milano' (Impiegati) 04/2007 Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill

8 Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
Domanda 5.3.2: Impiegati che hanno il cognome uguale al nome della filiale presso cui lavorano Risposta Impiegati Cognome Filiale Stipendio Matricola Neri Milano 64 5998 Rossi Roma 55 7309 Napoli 5698 44 9553 Milano 44 9553 Neri Milano 64 5998 Rossi Roma 55 7309 Napoli 5698 SEL Cognome = Filiale(Impiegati) 04/2007 Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill

9 Selezione con valori nulli
Cognome Filiale Età Matricola Neri Milano 45 5998 Rossi Roma 32 7309 Bruni NULL 9553 Impiegati SEL Età > 40 (Impiegati) La condizione atomica è vera solo per valori non nulli, e quindi, in questo caso, non seleziona la terza n-pla 04/2007 Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill

10 Un risultato non desiderabile
Cognome Filiale Età Matricola Neri Milano 45 5998 Rossi Roma 32 7309 Bruni NULL 9553 Impiegati Domanda 5.3.3 SEL Età>30 (Impiegati)  SEL Età30 (Impiegati) produce come risultato una tabella uguale o diversa da Impiegati? Risposta: Diversa! Perché? Perché le selezioni vengono valutate separatamente e NULL non fa parte del dominio di definizione. 04/2007 Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill

11 Altro risultato non desiderabile
Cognome Filiale Età Matricola Neri Milano 45 5998 Rossi Roma 32 7309 Bruni NULL 9553 Impiegati Vale anche SEL Età > 30  Età  30 (Impiegati) Impiegati Perché? Perché anche le condizioni atomiche vengono valutate separatamente! 04/2007 Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill

12 Soluzione in algebra relazionale e valori nulli
SEL Età > 40 (Impiegati) la condizione atomica è vera solo per valori non nulli per riferirsi ai valori nulli esistono forme apposite di condizioni: IS NULL IS NOT NULL 04/2007 Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill

13 Valutazione della selezione
Introducendo la notazione IS NULL: SEL Età>30 (Persone)  SEL Età30 (Persone)  SEL Età IS NULL (Persone) = SEL Età>30  Età30  Età IS NULL (Persone) Persone 04/2007 Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill

14 Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
Domanda Trovare gli impiegati con piu’ di 40 anni o di cui non si sa l’eta’ Impiegati Cognome Filiale Età Matricola Neri Milano 45 5998 Bruni NULL 9553 Neri Milano 45 5998 Rossi Roma 32 7309 Bruni NULL 9553 Neri Milano 45 5998 Bruni Milano NULL 9553 04/2007 Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill

15 Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
Risposta Trovare gli impiegati con piu’ di 40 anni o di cui non si sa l’eta’ Impiegati Cognome Filiale Età Matricola Neri Milano 45 5998 Bruni NULL 9553 Neri Milano 45 5998 Rossi Roma 32 7309 Bruni NULL 9553 Neri Milano 45 5998 Bruni Milano NULL 9553 SEL (Età > 40) OR (Età IS NULL) (Impiegati) 04/2007 Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill

16 Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill
Concetti introdotti L’operatore di selezione con valori nulli 04/2007 Rielaborato da Atzeni et al., Basi di dati, Mc-Graw Hill


Scaricare ppt "Universita’ di Milano Bicocca Corso di Basi di dati 1 in eLearning C"

Presentazioni simili


Annunci Google