• Non ci sono risultati.

Compito di Basi di Dati e Sistemi Informativi 29 marzo 2007

N/A
N/A
Protected

Academic year: 2021

Condividi "Compito di Basi di Dati e Sistemi Informativi 29 marzo 2007"

Copied!
2
0
0

Testo completo

(1)

Compito di Basi di Dati e Sistemi Informativi

29 marzo 2007

Esercizio 1:

Sia dato il seguente schema relazionale:

Squadra(nomeSquadra, citt`a, sponsor, allenatore);

Giocatore(numeroT essera, squadra, annoN ascita, ruolo);

P artita(idP artita, giornata, nomeSqCasa, nomeSqT rasf erta, goalCasa, goalT rasf erta).

Si assuma che ogni squadra sia identificata univocamente dal suo nome, ogni giocatore dal numero della sua tessera e ogni partita dal suo id.

Definire preliminarmente le chiavi primarie e le eventuali chiavi esterne delle relazioni date.

Successivamente, stabilire quali delle seguenti interrogazioni si possono esprimere in algebra relazionale.

In tutti i casi in cui risulta possibile, 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) le squadre che in ogni partita giocata in casa hanno segnato almeno un goal;

(b) le squadre che non hanno pi`u di due giocatori disponibili per uno stesso ruolo;

(c) le squadre che non hanno mai perso un derby (un derby `e una partita tra due squadre della stessa citt`a);

(d) la giornata (le giornate se pi`u di una) in cui sono stati segnati pi`u goal, limitatamente alle giornate in cui c’`e stata almeno una vittoria fuori casa e almeno un pareggio;

(e) le squadre che hanno sconfitto un sottoinsieme proprio delle squadre sconfitte dall’Albinoleffe.

Esercizio 2:

Con riferimento all’Esercizio 1, stabilire quali interrogazioni si possono esprimere nel linguaggio SQL (si faccia riferimento allo standard SQL-92). In tutti i casi in cui risulta possibile, formulare oppor- tune 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 di supporto alla gestione della programmazione cinematografica giornaliera di un certo insieme di comuni italiani (di tale insieme non fanno parte i capoluoghi di regione).

Per ogni comune, vogliamo memorizzare il nome, il numero di residenti, l’indirizzo del municipio e la regione di appartenenza. Di ogni regione vogliamo memorizzare il nome, il numero di abitanti e il capoluogo di regione. Comuni con lo stesso nome possono appartenere solo a regioni diverse. In ogni comune sono presenti dei cinema.

1

(2)

Per ogni cinema, vogliamo memorizzare il nome, l’indirizzo, il numero di telefono e il numero di sale disponibili. Cinema con lo stesso nome possono essere presenti solo in comuni diversi. Ogni cinema ha un certo numero di sale di proiezione (almeno una).

Per ogni sala, vogliamo mantenere informazioni sul nome della sala (sale con lo stesso nome possono appartenere solo a cinema diversi) ed il numero di posti disponibili. In ogni sala vengono proiettati dei film ad orari prestabiliti.

Per ogni film, vogliamo memorizzare il titolo, il nome e il cognome del regista e la durata. Ogni film viene proiettato in una o pi`u sale. In una stessa sala possono essere proiettati anche film diversi, in orari diversi. Per ogni proiezione, vogliamo memorizzare l’orario d’inizio e la durata prevista della proiezione.

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, qualora necessario, con attributi ragionevoli per ciascuna entit`a (identificando le possibili chiavi) e relazione.

Vanno specificati accuratamente i vincoli di cardinalit`a e partecipazione di ciascuna relazione.

Se necessario, si introducano appropriate regole aziendali (regole di derivazione e vincoli di integrit`a).

Esercizio 4:

Si descrivano brevemente i vincoli intrarelazionali e interrelazionali supportati dal linguaggio SQL. Con riferimento al vincolo di integrit`a referenziale, si illustrino le modalit`a di definizione di tale vincolo in SQL e le politiche di reazione alle possibili violazioni.

Riferimenti

Documenti correlati

Si assuma che il traffico stradale di ciascuna provincia sia sotto la responsabilit`a di uno specifico corpo di polizia stradale provinciale, anche se membri del corpo di polizia di

Ogni edizione di un corso sia caratterizzata dal codice del corso, dall’anno accademico (si assuma che di ogni corso venga tenuta al pi` u un’edizione per anno accademico), dal

Ogni cliente sia identificato univocamente dalla sua email e caratterizzato da un nome, un indirizzo e un recapito telefonico. Ogni acquisto da parte di un cliente sia visualizzato

(Si assuma che non vi siano caselli appartenenti a pi` u autostrade.) Si tenga traccia della distanza che intercorre tra coppie di caselli consecutivi (ad esempio, tra il casello

Si assuma che un artista possa tenere pi` u di un concerto nella stessa citt`a nello stesso mese di uno stesso anno, ma non lo stesso giorno.. Si assuma, infine, che nella base di

(e) per ogni posizione, il numero di parcheggi presenti, il numero totale di posti disponibili e l’ammontare complessivo degli stipendi pagati per gli addetti alla sicurezza.

(d) le regioni tali che l’insieme delle citt`a in cui almeno un agente ha il suo ufficio sia un sovrainsieme proprio dell’insieme delle citt`a in cui risiede almeno un

Si assuma, inoltre, che ogni libro sia carat- terizzato dal codice ISBN (libri diversi hanno codici ISBN diversi), dal titolo (libri diversi possono avere lo stesso titolo), da uno