Torna alla pagina di Basi di Dati
:: Basi di dati - Esercizio 2 ::
Query: Radio
RADIO (Codice, Nome, Frequenza, Luogo)
PROGRAMMA (Codice, Nome, Conduttore, FasciaOraria, Durata, Tipo, CodiceRadio)
Domanda 1
Determinare i nomi delle radio che trasmettono programmi non musicali nella fascia oraria del mattino e della sera, ma non nella fascia del pomeriggio.
MAT := ΠCodiceRadio (σ Tipo≠'Musicale' ∧ FasciaOraria='Mattina' PROGRAMMA)
SER := ΠCodiceRadio (σ Tipo≠'Musicale' ∧ FasciaOraria='Sera' PROGRAMMA)
POM := ΠCodiceRadio (σ Tipo≠'Musicale' ∧ FasciaOraria='Pomeriggio' PROGRAMMA)
COD_RIS := (MAT ⋂ SER) - POM
ΠNome (RADIO ⋈ Codice=CodiceRadio COD_RIS)
Domanda 2
Determinare per ogni radio il codice del programma di durata minima.
PROG := ΠCodice, Durata, CodiceRadio (PROGRAMMA)
PROG' := ρ C',D',CR' ← Codice,Durata,CodiceRadio (PROG)
ΠCodice, CodiceRadio (PROG) -
ΠCodice, CodiceRadio (PROG ⋈ CodiceRadio=CR' ∧ Durata>D' (PROG'))
Domanda 3
Determinare i nomi delle radio che trasmettono almeno due programmi non musicali.
NO_MUS := ΠCodice, CodiceRadio (σ Tipo≠'Musicale' PROGRAMMA)
NO_MUS' := ρ C',CR' ← Codice,CodiceRadio (NO_MUS)
COD_RIS := ΠCodiceRadio (NO_MUS ⋈ CodiceRadio=CR' ∧ Codice≠C' NO_MUS')
ΠNome (RADIO ⋈ Codice=CodiceRadio COD_RIS)
Domanda 4
Determinare i nomi delle radio che non hanno alcun programma musicale
MUS := ΠCodiceRadio (σ Tipo='Musicale' PROGRAMMA)
NO_MUS := ΠCodice (RADIO) - ρ Codice ← CodiceRadio (MUS)
ΠNome (RADIO ⋈ NO_MUS)
Torna alla pagina di Basi di Dati