• Non ci sono risultati.

Compito di Basi di Dati e Sistemi Informativi 3 dicembre 2007

N/A
N/A
Protected

Academic year: 2021

Condividi "Compito di Basi di Dati e Sistemi Informativi 3 dicembre 2007"

Copied!
2
0
0

Testo completo

(1)

Compito di Basi di Dati e Sistemi Informativi

3 dicembre 2007

Esercizio 1:

Sia dato il seguente schema relazionale:

dipartimento(nomeDip, direttore, annoF ondazione, sede);

ricercatore(cf, dipartimento, stipendio, annoN ascita, annoAf f erenza);

ricerca(ricercatore, argomento),

relativo ai dipartimenti di una data universit`a.

Si assuma che:

• ogni dipartimento sia identificato univocamente dal nome e abbia un direttore, scelto fra i ricercatori che afferiscono al dipartimento, un anno di fondazione e una sede;

• dipartimenti diversi possano condividere la medesima sede;

• ogni ricercatore sia identificato univocamente dal proprio codice fiscale e sia caratterizzano dal dipar- timento di afferenza, dallo stipendio, dall’anno di nascita e dall’anno di inizio afferenza (nel caso in cui un ricercatore si trasferisca da un dipartimento ad un altro, si tenga traccia unicamente dell’anno in cui `e iniziata l’afferenza corrente);

• di ogni ricercatore vengano registrati gli argomenti di ricerca (vi possano essere ricercatori che non si occupano di alcun argomento di ricerca);

• un ricercatore abbia in generale pi`u argomenti di ricerca e pi`u ricercatori possano occuparsi dello stesso argomento di ricerca.

Definire preliminarmente le chiavi primarie, le eventuali chiavi candidate alternative e le chiavi esterne delle relazioni date. Successivamente, formulare opportune interrogazioni in algebra relazionale che per- mettano di determinare (senza usare l’operatore di divisione e usando solo se necessario le funzioni aggregate):

(a) il dipartimento presso cui lavora il ricercatore pi`u giovane (i dipartimenti se vi sono pi`u ricercatori pi`u giovani di tutti gli altri che lavorano presso dipartimenti diversi);

(b) i ricercatori che hanno esattamente due o tre argomenti di ricerca;

(c) i ricercatori che hanno almeno un argomento di ricerca originale (un argomento di ricerca si dice originale se vi `e un unico ricercatore che si occupa di esso);

(d) le coppie di ricercatori tali che vi sia almeno un argomento di ricerca del primo che non sia argomento di ricerca del secondo e viceversa;

(e) i ricercatori che si occupano esattamente degli stessi argomenti di ricerca.

1

(2)

Esercizio 2:

Con riferimento all’Esercizio 1, formulare opportune interrogazioni in SQL che permettano di determinare quanto richiesto (usando solo se necessario le funzioni aggregate).

Esercizio 3:

Si vuole progettare una base di dati per la gestione del calendario settimanale delle lezioni dei vari corsi di laurea offerti da una data facolt`a universitaria in uno specifico periodo didattico (ad esempio, le lezioni dei corsi di laurea offerti dalla Facolt`a di Scienze M.F.N. dell’Universit`a di Udine relativamente al primo periodo didattico).

Di ogni corso di laurea (ad esempio, la Laurea Triennale in Informatica) vogliamo memorizzare il nome, il numero totale di studenti iscritti e il docente che ricopre il ruolo di responsabile (presidente del consiglio di corso di laurea).

Di ogni corso (ad esempio, il corso di Basi di Dati), vogliamo memorizzare il nome, il docente (si assuma che ogni corso sia tenuto da un solo docente), il numero di studenti iscritti e il corso di laurea cui appartiene. Corsi con lo stesso nome possono appartenere solo a corsi di laurea diversi (ad esempio, vi

`

e un corso di Basi di Dati sia presso il Corso di Laurea Triennale in Informatica sia presso il Corso di Laurea Triennale in TWM; non vi possono essere due corsi distinti di Basi di Dati presso il Corso di Laurea Triennale in Informatica o presso il Corso di Laurea Triennale in TWM).

Le lezioni vengono tenute in diversi edifici. Si assuma che le lezioni di un dato corso di laurea possano essere tenute in diversi edifici, ma che ogni edificio venga utilizzato da un unico corso di laurea. Di ogni edificio vogliamo memorizzare il nome, che lo identifica univocamente, l’indirizzo, un recapito telefonico e il numero di aule disponibili (assumiamo che in ogni edificio sia presente almeno un’aula).

Di ogni aula vogliamo conoscere il nome, il piano, l’edificio in cui si trova e il numero di posti disponibili.

Non possono esservi aule con lo stesso nome in uno stesso edificio; possono, invece, esservi aule con lo stesso nome in edifici diversi.

Di ogni lezione vogliamo memorizzare il corso, l’aula, il giorno e la fascia oraria (prima, seconda, terza o quarta),

Si definisca uno schema Entit`a-Relazioni (ER) che descriva il contenuto informativo del sistema, illus- trando con chiarezza le eventuali assunzioni fatte. Lo schema dovr`a essere completato con attributi ragionevoli per ciascuna entit`a (identificando le possibili chiavi) e relazione. Vanno specificati accurata- mente i vincoli di cardinalit`a e partecipazione di ciascuna relazione. Si indichino anche le eventuali regole di derivazione e gli eventuali vincoli di integrit`a non esprimibili nel modello ER.

Esercizio 4:

Si fornisca la traduzione nel modello relazionale delle relazioni uno-a-molti del modello Entit`a-Relazioni (ER). Successivamente, si spieghi se e come i vincoli associati a tali relazioni nello schema ER pos- sono essere codificati nello schema relazionale (si considerino tutti e quattro i possibili casi: (0,1)-(0,N), (1,1)-(1,N), (0,1)-(1,N) e (1,1)-(0,N))

Riferimenti

Documenti correlati

Un DBMS è un sistema software che è in grado di gestire collezioni di dati grandi, condivise e persistenti, in maniera efficiente e sicura..

 Intestazione della tabella (i.e. nome tabella + nome attributi)  Schema della relazione..  Righe della tabella Istanze

CREATE TABLE IMPIEGATI ( CODICE SMALLINT UNIQUE, NOME VARCHAR(30),. COGNOME VARCHAR(30),

referenziale tra i valori di un attributo nella tabella in cui è definito (tabella interna) ed i valori di un attributo in una seconda tabella (tabella esterna). NOTA:

me Tipo Dipartimento Stipendio 124 Michele Micheli Associato Fisica 20000 125 Lucia Di Lucia Ordinario Fisica 30000 129 Michele Bianchi Associato Fisica 20000 Codice Nome Cogno. me

Nel caso precedente, la query interna restituisce solo un valore … Cosa accade se la query interna restuisce più di un valore.. Gli operatori di confronto <,=,> non

123 Marco Marchi Associato Chimica 20000 124 Michele Micheli Associato Fisica 20000 125 Lucia Di Lucia Ordinario Fisica 30000 126 Dario Rossi Ordinario Informatica 35000 127 Mario

Record di transizione  tengono traccia delle operazioni svolte da ciascuna transizione sul DBMS. Record di sistema  tengono traccia delle operazioni di