cerca
Basi di Dati: temi d'Esame
modifica cronologia stampa login logout

Wiki

UniCrema


Materie per semestre

Materie per anno

Materie per laurea


Help

Basi di Dati: temi d'Esame

Torna alla pagina di Basi di Dati


:: Basi di Dati: temi d'Esame

21 febbraio 2008

PAZIENTE (Codice Nome, Cittą, DataNascita)
ESAME(Codice, Nome, Tipo, Prezzo)
PRENOTAZIONE (CodPaziente, CodEsame DataPrenotazione)

Algebra

Determinare per ogni esame il codice dei pazienti che l'hanno prenotato da pił tempo

P:=ρC, E, D <- CodPaziente, CodEsame, DataPrenotazione(PRENOTAZIONE)

Y:=(πCodPaziente, CodEsame(PRENOTAZIONE |x| CodEsame=E ^ DataPrenotazione>DP)

RISULTATO:=πcODpAZIENTE, CodEsame)(PRENOTAZIONE) - πcODpAZIENTE, CodEsame(Y)

Determinare il nome dei pazienti ch enon hanno mai prenotato esamidi tipo ecografico ma che hanno prenotato un esame cardiocologico e un esame radiologico

ECO:=πCodPaziente(PRENOTAZIONE |X|CodEsame=CodiceσTipo='ecografico'(ESAME))

CARD:=πCodPaziente(PRENOTAZIONE |X|CodEsame=CodiceσTipo='cardiologico'(ESAME))

RADIO:=πCodPaziente(PRENOTAZIONE |X|CodEsame=CodiceσTipo='radiologico'(ESAME))

R:=(CARD∩RADIO) - ECO

RISULTATO:=πNome(R |X|CodPaziente=CodicePAZIENTE)

SQL

Determinare i tipi di esame che hanno prezzo medio (la media dei prezzi)pił elevato

SELECT Tipo
FROM ESAME
GROUP BY Tipo
HAVING AVG(Prezzo) >= (

SELECT AVG(Prezzo)
FROM ESAME
GROUP BY Tipo)

Determinare il nome ed il prezzo degli esami di tipo pediatrico che sono stati prenotati sol da pazienti nati dop il 2000

SELECT Nome, Prezzo
FROM Esame JOIN Prenotazione ON Codice=CodEsame
WHERE Tipo = 'Pediatrico'

ANDCodice NOT IN (
SELECT CodEsame
FROM Prenotazione JOIN Paziente On CodPaziente=Codice
WHERE DataNascita<01/01/2001)

ER