ESERCIZI SVOLTI con operatori relazionali

OPERATORI RELAZIONALI ESERCIZI SSO
A
P
I
R
SCHEMA OPERATORI RELAZIONALI SELEZ. RIGHE operano su UNA TABELLA SELEZ. COLONNE TUPLE COMUNI E NON COMUNI TUPLE DI R – TUPLE DI S operano su due TABELLE ASSOCIA AGNI TUPLA DI R TUTTE LE TUPLE DI S TUPLE COMUNI ( se ci sono ) Congiunge tabelle R ed S con aJributo comune NB: INTERSEZIONE, UNIONE, DIFFERENZA SI POSSONO FARE SOLO CON TABELLE COMPATIBILI CIOE’ AVENTI LO STESSO SCHEMA DI ATTRIBUTI ( stesse colonne ) SSO
A
P
I
R
OPERATORI RELAZIONALI PRINCIPALI Da UNA TABELLA posso ricavare : PROIEZIONE (DI COLONNE) SU ListaAJribuR DA relazione ∏
SELEZIONE (DI RIGHE) PER Predicato DA relazione σ Campo1,Campo2 (Tabella) ciJà=“Torino” (ClienR) Nel Predicato si uRlizzano anche AND e OR DUE TABELLE si possono congiungere GIUNZIONE NATURALE JOIN fra TabellaR su Cod e TabellaS su Cod R ⋈ S Cod=Cod Esercizio 1 R =colori2015 S=colori2016 Codice colore Codice colore 001 verde 001 verde rosso 002 rosso 003 verde 002 T=arLcoli ID taglia quanLtà A1 S 13 A2 M 15 A3 L 18 A4 XL 50 DATE LE TABELLE RAPPRESENTATE TROVA: 1) RUS 2) R-­‐S 3) S-­‐R 4) R∩S 5) RXT 6) SXT Indicando per ogni relazione grado e cardinalità Esercizio 1 : soluzione R-­‐S RUS R∩S Codice colore Codice colore 001 verde 002 rosso 003 verde S-­‐R 001 verde 002 rosso Codice colore ID taglia quanLtà 001 verde A1 S 13 001 verde A2 M 15 001 verde A3 L 18 001 verde A4 XL 50 002 rosso A1 S 13 002 rosso A2 M 15 002 rosso A3 L 18 002 rosso A4 XL 50 R x T =TXR Esercizio 2 trova unione, intersezione, differenza fra laureaR e quadri E indica, per ciascuna relazione risultante, GRADO E CARDINALITA’ Esercizio 2 soluzione UNIONE Grado = 3 CARD=4 INTERSEZIONE Grado = 3 CARD=2 DIFFERENZA Grado = 3 CARD=1 Esercizio 3 Si esprima, nell’algebra relazionale, ciascuna delle seguenR interrogazioni •  Elenco impiegaR che guadagnano più di 62 mila Euro •  Elenco impiegaR che guadagnano più di 62 mila Euro e lavorano a Milano •  Matricola e Cognome degli impiegaR con SRpendio maggiore di 62 Esercizio 3 -­‐ soluzione Esercizio 3 -­‐ soluzione SELEZIONE SELEZIONE   Matricola e Cognome degli impiegaR con SRpendio maggiore di 62 PRIMA SELEZIONE STIPENDIO >62 , POI PROIEZIONE CAMPI Esercizio 4 Data lo schema STUDENTE ( Matricola, Cognome, Nome , Indirizzo, CodFac ) Tabella Di esempio Si esprima, nell’algebra relazionale, ciascuna delle seguenR interrogazione (query): Q1: StudenR della facoltà “L21” Q2: Matricola e Cognome Q3: Matricola e Cognome degli studen: della facoltà L21 Q4: Matricola degli studenR della facoltà “L21” e Cognome=“Rossi” Esercizio 4 -­‐ soluzione R=STUDENTE ( Matricola, Cognome, Nome , Indirizzo, CodFac ) Query1: StudenR della facoltà “L21” è UNA SELEZIONE Q1= σ CodFac=“L21” (Studente) Query2: Matricola e Cognome è UNA PROIEZIONE DI COLONNE Q2=∏ Matricola, Cognome (Studente) Query3: “Matricola e Cognome degli studen: della facoltà L21 Q3=∏ Matricola, Cognome (σ CodFac=“L21”(Studente)) Q4. “Matricola degli studenR di “L21” E di Cognome=“Rossi” Q4=∏ Matricola (σ CodScuola=“B001”AND Cognome=“Bianchi”(Studente)) Esercizio 5 Si assuma il seguente schema relazionale per la ges:one di una biblioteca: LIBRO(codiceLibro, autore, Rtolo, prezzo) UTENTE(codiceUtente, nome, cognome, eta’, CiJà ) PRESTITO(codiceUtente, codiceLibro, data_presRto) Si esprimano, nell’algebra relazionale, le seguen: interrogazioni: a)  Elenco Autori dei libri b) Elenco Cognome degli utenR c)  Elenco Rtolo e prezzo dei libri d)  Elenco libri con prezzo inferiore a 15 Euro e)  Elenco libri di Camilleri che abbiano prezzo inferiore a 15 Euro f)  Elenco libri di Camilleri oppure con prezzo inferiore a 15 Euro g)  Elenco autori dei libri con prezzo inferiore a 15 Euro ESERCIZIO 5 -­‐ SOLUZIONE Si assuma il seguente schema relazionale per la ges:one di una biblioteca: LIBRO(codiceLibro, autore, Rtolo, prezzo) UTENTE(codiceUtente, nome, cognome, eta’, CiJà ) PRESTITO(codiceUtente, codiceLibro, data_presRto) Si esprimano, nell’algebra relazionale, le seguen: interrogazioni: a)  Elenco Autori dei libri ∏ autore (LIBRO) b) Elenco Cognome degli utenR ∏ Cognome (UTENTI) c)  Elenco Rtolo e prezzo dei libri ∏ Rtolo,prezzo (LIBRO) c)  Elenco libri con prezzo inferiore a 15 Euro σ prezzo <15 (LIBRO) c)  Elenco libri di Camilleri che abbiano prezzo inferiore a 15 Euro σ autore=“Camilleri” AND prezzo <15 (LIBRO) c)  Elenco libri di Camilleri oppure con prezzo inferiore a 15 Euro σ autore=“Camilleri” OR prezzo <15 (LIBRO) c)  Elenco autori dei libri con prezzo inferiore a 15 Euro ∏ autore (σ prezzo <15 (LIBRO) ) 6 -­‐ Esempio con join, selezione e proiezione Dato il seguente schema 1 : JOIN tra FILM1 e FILM2 SU aJributo idenRco Codicefilm1 Il join naturale accoppia le t-­‐uple con valore uguale 2 : Selezionare le t-­‐uple con la condizione “Lunghezza >120” 3 : ProieJare colonna con “AJorePrincipale” Operatori nidificaR Dall’interno all’esteno CodFilm1=CodFilm1 3-­‐ProiezioneColonna 2-­‐selezioneRighe 1-­‐Join 7 -­‐ Esercizio con Join, selezione e proiezione Dato lo schema : STUDENTE ( Matricola, Cognome, Nome, Residenza, CodFac ) FACOLTA’(CodFac , Descrizione , CiJà ) Si esprima, nell’algebra relazionale, la seguente interrogazione: Cognome, Nome e Descrizione della Facoltà per gli studenL che risiedono a Milano Tabelle di esempio soluzione 7 -­‐ Esercizio con Join , selezione e proiezione Date le tabelle : STUDENTE ( Matricola, Cognome, Nome, Residenza, CodFac ) FACOLTA’(CodFac , Descrizione , CiJà ) Si esprima, nell’algebra relazionale, la seguente interrogazione: Query : Cognome, Nome e Descrizione della Facoltà per gli studenR che risiedono a Milano 1 : JOIN tra Studente su CodFAc e Facolta su CodFac. Il join naturale accoppia solo le t-­‐uple con valore uguale 2 : Selezione di t-­‐uple per condizione Indirizzo=“Milano” 3 : Proiezione le colonne Cognome, Nome, Descrizione ∏ Cognome, Nome, Descrizione ( σ Residenza=“Milano” (Studente ⋈ Facoltà) ) CodFac=CodFac Si opene Questa tabella