• Non ci sono risultati.

Compito di Basi di dati 22 luglio 2020 Esercizio 1:

N/A
N/A
Protected

Academic year: 2021

Condividi "Compito di Basi di dati 22 luglio 2020 Esercizio 1:"

Copied!
2
0
0

Testo completo

(1)

Compito di Basi di dati

22 luglio 2020

Esercizio 1:

Sia dato il seguente schema relazionale relativo a reparti e medici:

REP ART O(N ome, Edif icio, P iano, P rimario);

M EDICO(M edicoId, N ome, Cognome, Specializzazione, Genere, AnnoN ascita, Reparto, Citt`aResidenza);

SI T ROV A IN (Citt`a, Regione).

Si assuma che ogni reparto sia identificato univocamente dal suo nome e sia caratterizzato dalla sua collocazione (edificio e piano) e dal capo reparto (primario). Si assuma, inoltre, che un medico possa essere il primario di al pi`u un reparto (quello al quale afferisce). Si assuma, infine, che ogni piano disponibile di ogni edificio sia assegnato ad un unico reparto.

Si assuma che ogni medico sia identificato da un codice, che lo individua univocamente fra tutti i medici dell’ospedale, e sia caratterizzato da un nome, un cognome, una specializzazione (per semplicit`a, assumiamo di registrare una e una sola specializzazione per ogni medico), un genere (maschio o femmina), un anno di nascita, un reparto di afferenza (ogni medico sia assegnato ad uno e un solo reparto) e una citt`a di residenza.

Si assuma, infine, che la tabella SI T ROV A IN contenga tutte e sole le citt`a italiane gi`a capoluogo di provincia.

Citt`a e regioni siano identificate univocamente dal loro nome.

Definire preliminarmente le chiavi primarie, le eventuali altre chiavi candidate e, se ve ne sono, le chiavi esterne delle relazioni date. Successivamente, formulare opportune interrogazioni in SQL che permettano di determinare quanto richiesto (senza usare l’operatore CONTAINS e usando solo se e quando necessario le funzioni aggregate):

(a) i reparti tali che (i) tutti i medici afferenti risiedano in citt`a della regione Piemonte e (ii) almeno uno di loro risieda nella citt`a Torino;

(b) i reparti con lo stesso numero di medici del reparto di terapia intensiva.

Esercizio 2:

Con riferimento all’Esercizio 1, formulare un’interrogazione in algebra relazionale che permetta di determinare quanto richiesto (senza usare l’operatore di divisione e usando solo se necessario le funzioni aggregate):

(a) i reparti i cui medici risiedono solo in citt`a del Veneto, ma non in tutte.

Esercizio 3:

Si vuole realizzare una base di dati per la gestione di informazioni relative a un corso di studio di una universit`a sulla base del seguente insieme di requisiti.

• Ogni insegnamento sia identificato univocamente da un codice numerico e sia caratterizzato da un nome, un insieme di prerequisiti (insieme di altri insegnamenti che devono essere gi`a stati superati per poter sostenere l’esame dell’insegnamento) e il professore che tiene le lezioni (ogni insegnamento sia tenuto da un solo pro- fessore).

• Ogni studente sia identificato univocamente da un numero di matricola e sia caratterizzato da un nome, un cognome, un indirizzo di posta elettronica, un recapito postale e una data di nascita. Ogni studente abbia uno o pi`u esami inseriti nel suo piano degli studi e abbia superato un certo numero di essi (non si escluda l’eventualit`a che non ne abbia ancora superato alcuno). Per ogni insegnamento del quale lo studente ha gi`a superato l’esame, si registrino la data in cui ha sostenuto con successo l’esame e il voto ottenuto.

1

(2)

• I professori siano suddivisi in professori ordinari e professori associati. Ogni professore sia identificato uni- vocamente dal suo codice fiscale e sia caratterizzato da un nome, un cognome, un numero di cellulare, il dipartimento cui afferisce e gli insegnamenti che tiene (uno o pi`u). Ogni dipartimento sia identificato uni- vocamente da un nome e sia caratterizzato da un recapito postale. Di ogni professore ordinario vogliamo registrare la data in cui ha preso servizio in tale veste (il primo giorno nel ruolo di professore ordinario).

Si definisca uno schema Entit`a-Relazioni che descriva il contenuto informativo del sistema, illustrando con chiarezza le eventuali assunzioni fatte. Lo schema dovr`a essere completato con attributi ragionevoli per ciascuna entit`a (iden- tificando le possibili chiavi) e relazione. Vanno specificati accuratamente i vincoli di cardinalit`a e partecipazione di ciascuna relazione. Si definiscano anche eventuali regole di gestione (regole di derivazione e vincoli di integrit`a) necessarie per codificare alcuni dei requisiti attesi del sistema.

Esercizio 4:

Definire la nozione di schedule seriale e di schedule serializzabile di un insieme di transazioni concorrenti. Esisono schedule seriali non serializzabili? In caso affermativo, fornire un esempio; in caso negativo, spiegare il motivo.

Si considerino ora le seguenti transazioni:

T0: r0(x) w0(x) r0(y) w0(y);

T1: r1(x) w1(x).

Definire la nozione di serializzabilit`a rispetto alle viste. Successivamente, indicare (spiegandone il motivo) quali fra i seguenti schedule sono serializzabili rispetto alle viste:

S0: r0(x) r1(x) w1(x) w0(x) r0(y) w0(y);

S1: r0(x) w0(x) r0(y) r1(x) w1(x) w0(y);

S2: r0(x) w0(x) r0(y) w0(y) r1(x) w1(x).

Riferimenti

Documenti correlati

Ogni giocatore sia identificato univocamente da un codice e sia caratterizzato da un nome, un cognome, un sesso, un anno di nascita, una nazionalit` a (per semplicit` a,

(b) Ricerca basata su un B-albero, con campo di ricerca il campo chiave primaria V , puntatore ai dati di dimensione pari a 7 byte e puntatore ausiliario di dimensione pari a 6

Si assuma, infine, che il fornitore possa fornire pi` u prodotti ad uno stesso cliente e che uno stesso prodotto possa essere fornito a pi` u clienti.. Non si escluda la possibilit`

Si assuma che ogni insegnamento sia identificato univocamente da un codice e sia caratterizzato dal codice del docente che lo tiene, dall’area disciplinare in cui si colloca

Si assuma, infine, che ogni dottorando possa frequentare pi` u corsi e che ogni corso possa essere frequentato da pi` u dottorandi.. Non si escluda la possibilit` a che vi siano

Si assuma che ogni filiale sia identificata univocamente dal suo codice e sia caratterizzata dalla citt` a in cui si trova, dal codice fiscale del direttore e dall’ammontare

(fc Si determinino dimensione e struttura di un B-albero, con campo di ricerca il campo chiave primaria V , puntatore ai dati di dimensione pari a 7 byte e puntatore ausiliario

L’esecuzione di un intervento relativo ad una data richiesta deve ovviamente essere assegnata ad un tecnico che ha le competenze neces- sarie (corrispondenza tra tipologia del