Esercizi di Algebra Relazionale - Università degli Studi del Sannio

Esercitazione SQL
Università degli Studi del Sannio
Facoltà di Ingegneria
Corso di Laurea in Ingegneria Informatica
Corso di Basi di Dati
Anno Accademico 2005/2006
docente: ing. Corrado Aaron Visaggio
email: [email protected]
ricevimento: mercoledi 11.00-13.00.
Corrado Aaron Visaggio
1
Radical Evolution, Joel Garreau, Sperling & Kupfer
Editori, 2007.
Corrado Aaron Visaggio
2
Es 1
Libreria (Partita_Iva, Nome, Indirizzo, Città)
Libro (Codice_L, Titolo, Editore, Pagine)
Autore (Codice_A, Nome, Cognome, Nazionalità,
Genere)
Vendita (Libreria, Codice_L, Copie)
Scritto (Codice_L, Codice_A)
Int 1: Trovare le librerie (nome e indirizzo) che vendono libri
scritti da autori italiani.
π Nome, Indirizzo (LIBRERIA х Partita_Iva=Libreria VENDITA x SCRITTO х ( σ
Nazionalità=‘Italia’ (AUTORE)))
3
Corrado Aaron Visaggio
Es 1
Libreria (Partita_Iva, Nome, Indirizzo, Città)
Libro (Codice_L, Titolo, Editore, Pagine)
Autore (Codice_A, Nome, Cognome, Nazionalità,
Genere)
Vendita (Libreria, Codice_L, Copie)
Scritto (Codice_L, Codice_A)
Int 2: Trovare le librerie di Roma che vendono libri di Eco.
π Nome, Indirizzo (σ Città=‘Roma’ (LIBRERIA) х Partita_Iva=Libreria VENDITA x
SCRITTO х ( σ Cognome=‘Eco’ (AUTORE
)))
4
Corrado Aaron Visaggio
Es 1
Libreria (Partita_Iva, Nome, Indirizzo, Città)
Libro (Codice_L, Titolo, Editore, Pagine)
Autore (Codice_A, Nome, Cognome, Nazionalità,
Genere)
Vendita (Libreria, Codice_L, Copie)
Scritto (Codice_L, Codice_A)
Int 3: Trovare le librerie che hanno venduto più di dieci copie di
un libro di autori tedeschi.
π Nome, Indirizzo (LIBRERIA х Partita_Iva=Libreria (σ Copie>10 (VENDITA) x
SCRITTO х ( σ Nazionalità=‘Germania’
(AUTORE)))
5
Corrado Aaron Visaggio
Es 1
Libreria (Partita_Iva, Nome, Indirizzo, Città)
Libro (Codice_L, Titolo, Editore, Pagine)
Autore (Codice_A, Nome, Cognome, Nazionalità,
Genere)
Vendita (Libreria, Codice_L, Copie)
Scritto (Codice_L, Codice_A)
Int 4: Trovare i libri (titolo ed editore) che non sono in vendita
nella libreria Feltrinelli.
π Titolo, Editore (LIBRO х π Codice_L(LIBRO) – LIBRI_F), con
LIBRI_F = π Codice_L ( σ Nome=‘Feltrinelli’ (LIBRERIA)
Corrado Aaron Visaggio
VENDITA х LIBRO) )
х Partita_Iva= Libreria 6
Es 1
Libreria (Partita_Iva, Nome, Indirizzo, Città)
Libro (Codice_L, Titolo, Editore, Pagine)
Autore (Codice_A, Nome, Cognome, Nazionalità,
Genere)
Vendita (Libreria, Codice_L, Copie)
Scritto (Codice_L, Codice_A)
Int 5: Trovare gli autori che hanno scritto più di un libro.
Questa la fate voi….
Corrado Aaron Visaggio
7
Es 2
Impiegato (Matricola, Cognome, Stipendio, Dipartimento)
Dipartimento (Codice, Nome, Sede, Direttore)
Progetto (Sigla, Nome, Bilancio, Responsabile)
Parteciapzione (Impiegato, Progetto)
Int 1: Trovare matricola e cognome degli impiegati.
π Matricola, Cognome (IMPIEGATO)
Corrado Aaron Visaggio
8
Es 2
Impiegato (Matricola, Cognome, Stipendio, Dipartimento)
Dipartimento (Codice, Nome, Sede, Direttore)
Progetto (Sigla, Nome, Bilancio, Responsabile)
Parteciapzione (Impiegato, Progetto)
Int 3: Trovare cognome degli impiegati e nome del
dipartimento in cui lavorano.
π Matricola, Cognome (Impiegati)
Corrado Aaron Visaggio
9
Es 2
Impiegato (Matricola, Cognome, Stipendio, Dipartimento)
Dipartimento (Codice, Nome, Sede, Direttore)
Progetto (Sigla, Nome, Bilancio, Responsabile)
Parteciapzione (Impiegato, Progetto)
Int 2: Trovare cognome e stipendio degli impiegati che
lavorano a Roma.
π Matricola, Cognome (IMPIEGATO х Codice=Dipartimento (σ Sede= ‘Roma’
(DIPARTIMENTO))
Corrado Aaron Visaggio
10
Es 2
Impiegato (Matricola, Cognome, Stipendio, Dipartimento)
Dipartimento (Codice, Nome, Sede, Direttore)
Progetto (Sigla, Nome, Bilancio, Responsabile)
Parteciapzione (Impiegato, Progetto)
Int 4: Trovare cognome degli impiegati che sono direttori di
dipartimento.
π Cognome (IMPIEGATO х Matricola=Direttore DIPARTIMENTO )
Corrado Aaron Visaggio
11
Es 2
Impiegato (Matricola, Cognome, Stipendio, Dipartimento)
Dipartimento (Codice, Nome, Sede, Direttore)
Progetto (Sigla, Nome, Bilancio, Responsabile)
Parteciapzione (Impiegato, Progetto)
Int 5: Trovare cognome degli impiegati che non sono direttori
di dipartimento.
π Cognome (π Matricola, Cognome (IMPIEGATO) – π Matricola, Cognome
(IMPIEGATO х Matricola=Direttore DIPARTIMENTO )
Corrado Aaron Visaggio
12
Es 2
Impiegato (Matricola, Cognome, Stipendio, Dipartimento)
Dipartimento (Codice, Nome, Sede, Direttore)
Progetto (Sigla, Nome, Bilancio, Responsabile)
Parteciapzione (Impiegato, Progetto)
Int 6: Trovare cognome dei direttori di dipartimento e dei
responsabili di progetto.
π Cognome (IMPIEGATO х Matricola=Direttore DIPARTIMENTO) U π Cognome
(IMPIEGATO х Matricola=Responsabile PROGETTO)
Corrado Aaron Visaggio
13
Es 2
Impiegato (Matricola, Cognome, Stipendio, Dipartimento)
Dipartimento (Codice, Nome, Sede, Direttore)
Progetto (Sigla, Nome, Bilancio, Responsabile)
Parteciapzione (Impiegato, Progetto)
Int 7: Trovare cognome degli impiegati che guadagnano più del
loro direttore di dipartimento.
π CodG (σ Stip > StipD (IMPIEGATO х Dipartimento=Codice DIPARTIMENTO x
Dir=MatD ρ MatM, DipD, StipD ← Mat, Dip, Stip (IMPIEGATO)))
Corrado Aaron Visaggio
14
Es 2
Impiegato (Matricola, Cognome, Stipendio, Dipartimento)
Dipartimento (Codice, Nome, Sede, Direttore)
Progetto (Sigla, Nome, Bilancio, Responsabile)
Parteciapzione (Impiegato, Progetto)
Int 8: Trovare cognome degli impiegati con lo stipendio più
alto.
π Matricola, Cognome (IMPIEGATO) - π Matricola, Cognome (IMPIEGATO х Stip
< StipM ρ MatM, CogM, StipM, DipM ← Mat, Cog, Stip, Dip (IMPIEGATO))
Corrado Aaron Visaggio
15