Scaricare la presentazione
La presentazione è in caricamento. Aspetta per favore
PubblicatoFausta Venturi Modificato 6 anni fa
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
Presentazioni simili
© 2024 SlidePlayer.it Inc.
All rights reserved.