ESERCITAZIONE DB RELAZIONALI 
 

Nello svolgimento degli esercizi definire le tabelle inserendo solo i campi fondamentali (chiave e significativo) e quelli espressamente richiesti dal testo. Tralasciare per ogni campo qualsiasi specifica relativa al tipo di dato e alle eventuali proprietà aggiuntive. Raffigurare lo schema relazionale tra le tabelle indicando sempre il tipo di relazione (1-->1 o 1-->N). La struttura va progettata evitando qualsiasi ridondanza nell’informazione.

Pubblicare le soluzioni (fatte in paint, access o openbase) sul mio registro accedendo con il vostro account personale (Non è ammessa la pubblicazione con l'account di un compagno).

ESERCIZIO 1 - IV-M1.2A.1

Progettare un database che permetta la gestione dell’albero genealogico della propria famiglia. Per ogni persona registrata devo memorizzare: il nominativo, la data di nascita e l’eventuale data di morte. Deve essere possibile gestire qualsiasi livello di parentela (figlio, nipote, trisnonno, zia, prozio, etc).  La struttura proposta deve consentire la registrazione di più coniugi abbinati ad una singola persona (infatti uno/una potrebbe risposarsi più volte nell'arco della propria vita). Per ogni coniuge deve essere possibile stabilire la durata della relazione.

ESERCIZIO 2 - IV-M1.2A.2

Costruire un database che permetta la gestione dei Conti Correnti. L'archivio deve consentire la possibilità di intestare più conti correnti alla stessa persona. Inoltre devono essere registrati tutti i Movimenti contabili effettuati specificando: importo, data e tipo di operazione (versamento o prelievo).
Nello stesso archivio deve essere possibile memorizzare il testo di tutta la Corrispondenza inviata ai clienti e pertanto occorre gestire l'anagrafica completa dei Correntisti (bastano: codice fiscale e nominativo!).

Base: Il database gestisce i conti correnti di una singola banca. Un conto corrente può avere un solo intestatario.
Variante 1: Il database gestisce i conti correnti di una singola banca. Ad un conto corrente possono corrispondere più intestatari.
Variante 2: Il db gestisce i conti correnti di più banche. Per ogni banca devo poter recuperare il nominativo del direttore generale attuale (che è quindi unico!). Un conto corrente può avere un solo intestatario.
Variante 3: Il db gestisce i conti correnti di più banche. Per ogni banca l'unica informazione necessaria è la sua ragione sociale. Un conto corrente può avere più intestatari. Le lettere non vengono inviate al singolo cliente ma ad ogni correntista che appare abbinato ad un conto corrente pertanto se una persona è titolare di più conti correnti riceverà un numero di copie della stessa lettera pari al numero di conti correnti a lui intestati.

ESERCIZIO 3 - IV-M1.2A.3

Progettare un database relazionale che consenta di memorizzare tutte le tratte marittime che collegano i diversi porti d'Italia. Per ogni porto l'unica informazione richiesta è il numero di attracchi disponibili (o moli). L’archivio deve permettere la registrazione dell'anagrafica delle navi. Ogni nave è caratterizzata da questi campi: numero ponti, stazza, nome nave. Per ogni tratta (o rotta) deve essere registrato: porto di partenza, porto di arrivo, molo di partenza e di arrivo predefiniti. Per ogni navigazione il sistema deve registrare la nave, la rotta percorsa, l'orario e la data di partenza e di arrivo, il molo di partenza e di arrivo effettivi. Gli attracchi di ogni porto sono numerati. Aggiungere eventualmente alla struttura delle tabelle anche quei campi non citati nel presente testo ma che però risultano indispensabili. La struttura va progettata evitando qualsiasi ridondanza nell’informazione. Nello svolgimento dell’esercizio limitarsi a raffigurare lo schema delle relazioni evidenziando solo i nomi dei campi principali ed i campi chiave. Tralasciare quindi qualsiasi specifica relativa al tipo dei campi o alle eventuali proprietà aggiuntive.

ESERCIZIO 4 - IV-M1.2A.4

Costruire un database che gestisca gli abbonamenti di un autoparcheggio. Il DB deve consentire:
- la registrazione dell'anagrafica delle Automobili che usufruiscono della struttura (targa e modello)

- l'identificazione
dei Proprietari (codice fiscale e Nominativo) di ogni autovettura. Un proprietario può possedere più automobili contemporaneamente.
- la memorizzazione di ogni abbonamento emesso. L'abbonamento è  rappresentato da una Tessera numerata progressivamente. La tessera non riporta alcuna informazione relativa all'utente ma solo la targa della vettura associata.
- la registrazione degli orari dei Transiti in entrata/uscita delle singole autovetture.

Base: Ogni macchina ha un solo proprietario. Il numero di transiti disponibili (punti) sulla tessera non è predefinito ma viene stabilito all'atto del suo acquisto.  La tessera non è ricaricabile per cui le tessere esaurite vengono gettate via ed è necessario acquistarne delle nuove.
Variante 1
: Una macchina può avere più proprietari. La tessera è ricaricabile.
Il numero di transiti disponibili (punti) sulla tessera esaurita viene aggiornato all'atto del suo rinnovo. Nel caso la tessera venga smarrita ne viene emessa una identica con lo stesso numero identificativo. Nella tabella abbonamenti deve essere evidenziato se sono stati emessi duplicati.

ESERCIZIO 5 - IV-M1.2A.5

Costruire un database che consenta ad una singola casa automobilistica la registrazione delle Consegne di autovetture alle sue concessionarie. La casa automobilistica tiene, per ogni Modello di auto, una scheda descrittiva dettagliata (basta il codice e il nome del modello!) contenente anche i riferimenti ai disegni tecnici salvati in formato DWG. Lo stesso archivio contien   e le informazioni necessarie a gestire i contatti con le proprie Concessionarie.
Per ogni Auto consegnata devono essere registrati gli specifici allestimenti, gli optional (ovvero tutto ciò che non rientra nella dotazione di serie), il modello di motore, il colore, etc (basta indicare un campo generico "Allestimenti").
I dati relativi alla Consegna devono consentire di recuperare: la data, il modello, il numero di auto per modello consegnate.

Base: La singola consegna riguarda sempre un solo modello di auto. Le consegne non riguardano sempre lo stesso modello.
Variante 1: La singola consegna può riguardare più modelli di auto.

ESERCIZIO 6 - IV-M1.2A.6

Costruire un database che consenta la gestione della propria collezione di CD musicali. Per ogni Cd deve essere possibile registrare il titolo, il prezzo e l'elenco dei brani in esso contenuti. Per ogni Brano si deve memorizzare: il titolo, il testo della canzone e la sua durata. Inoltre deve essere possibile archiviare le notizie inerenti alla biografia degli Autori. Lo stesso brano può essere presente su CD diversi.
Base: - Un brano può avere più autori. Obiettivo è memorizzare tutte le date di Ascolto di ogni singolo brano (indipendentemente dal CD di appartenenza).
Variante 1: Un brano può avere un solo autore. Obiettivo è memorizzare tutte le date di ascolto di ogni singolo brano contenuto in un particolare CD.

ESERCIZIO 7 - IV-M1.2A.7

Progettare un database che tenga l'anagrafica dei programmi installati sui PC di tutti gli istituti scolastici bresciani. Obiettivo è tenere sotto controllo le licenze e pertanto va gestita anche la registrazione degli acquisti dei pacchetti software. Gli acquisti vengono fatti da ogni singolo istituto ma l'archivio è unico.

ESERCIZIO 8 - IV-M1.2A.8

Progettare un database che consenta di registrare tutte le gare individuali svolte in una olimpiade. Per ogni Gara devo registrare: la data di svolgimento, il luogo e la disciplina olimpica. L'archivio deve consentire la memorizzazione della posizione in Classifica raggiunta, in ogni singola gara, da ogni atleta iscritto. Si tenga presente che alcuni atleti partecipano a più discipline. Ogni Disciplina deve essere corredata da una breve descrizione che consenta di conoscerne gli aspetti e le regole.
Variante 1: Per ogni Luogo, sede di gara, devo poter registrare i files dwg relativi alle planimetrie degli impianti sportivi disponibili.

ESERCIZIO 9 - IV-M1.2A.9

Progettare un database che consenta di memorizzare tutte le tratte autostradali che collegano i diversi caselli della società AUTOSTRADE. Per ogni tratta deve essere possibile risalire: al numero di corsie, al costo della tratta e alla distanza in km tra i due accessi autostradali posti agli estremi della stessa. Per ogni Casello vengono registrati i transiti (data/ora e tipo) in entrata ed in uscita dei soli utenti TELEPASS. Ogni tessera TELEPASS è caratterizzata da un ID, Nominativo del titolare e numero di Conto corrente su cui addebitare i costi. Per ogni Casello l’unica informazione aggiuntiva richiesta è il numero di accessi/uscite disponibili. Fornire lo schema relazionale associato indicando nelle tabelle solo i campi citati espressamente nel presente testo, quelli che risultano fondamentali (chiave e significativo) e quelli richiesti per la gestione delle relazioni.

ESERCIZIO 10 - IV-M1.2A.10

Progettare un database che consenta la gestione delle prenotazioni dei laboratori di informatica del nostro istituto. L’archivio deve consentire di risalire a quale classe, in una certa data ed in un certo orario, è stato assegnato un determinato laboratorio. Inoltre l’archivio deve permettere la registrazione del numero di studenti, distinto tra maschi e femmine, presenti in ogni classe. Infine, per ogni laboratorio deve essere riportato il numero di PC e stampanti disponibili. La struttura va progettata evitando qualsiasi ridondanza nell’informazione. Nello svolgimento dell’esercizio limitarsi a raffigurare lo schema delle relazioni evidenziando solo i nomi dei campi principali. Tralasciare quindi qualsiasi specifica relativa al tipo dei campi o alle eventuali proprietà aggiuntive. Leonardo.

ESERCIZIO 11 - IV-M1.2A.10

Progettare un database che gestisca il curriculum scolastico completo degli studenti del Liceo Leonardo.