D4rkAng3l
15-01-2008, 15:35
L'esame si avvicina sempre di più...mancano 5 giorni :cry:
Ho qualche quesito vi prego di aiutarmi...
L'esercizio diceva questo:
1) Costruire uno schema E-R logico che rappresenti il database di una flotta di Portaerei. Il database
deve essere disegnato in modo da evidenziare quali aerei fanno parte di una certa portaerei e inoltre
deve tenere memoria del fatto che un' aereo atterra su una portaerei , che può essere anche diversa da
quella a cui appartiene. Ci interessa anche sapere quando avvengono gli atterraggi.
Si tenga conto delle seguenti specifiche :
a) gli oggetti da considerare sono le Portaerei, gli Aerei e i Piloti;
b) il pilota di un' aereo guida sempre lo stesso aereoplano ( da questo se ne deduce che i piloti
sono di stanziamento solo su una portaerei).
Evitare bene la ridondanza dei dati.
2) Costruire quindi lo schema fisico o normalizzato evidenziando bene chiavi di entità e chiavi di
relazioni ed eventuali attributi utili.
3) Dire quali e quante sono le tabelle necessarie per rappresentare il database.
Allora per ora escludiamo la normalizzazione che non ho ancora fatto. Il dubbio è un altro per ora.
Il mio schema E-R e lo schema tradotto è il seguente:
http://www.siatec.net/andrea/uni/db/dbportaerei.jpg
Con la relazione APPARTENENZA specifico che ad una portaerei appartengono di stanziamento minimo uno e massimo n aerei mentre un aereo è stanziato solo su di una singola portaerei.
Con la relazione VOLA dico che un pilota può volare su un solo aereo e che un aereo è pilotato da un solo pilota.
Con la relazione ATTERRAGGIO tengo traccia di quale aereo atterra su quale portaerei e tengo memoria della data e dell'ora in cui gli atterraggi avvengono.
Il secondo schema è lo schema relazionale vero e proprio che può anche essere visto così:
PORTAEREI(nome, anno_di_varo, numero_marinai)
AEREO(codice, modello, anno_di_produzione, nome_portaerei)
PILOTA(matricola, nome, ore_di_volo, aereo_pilotato)
ATTERRAGGIO(nome_portaerei, codice_aereo, data, ora)
Gli attributi in grassetto e sottolineati sono le chiavi, ora ovviamente ci sono i vincoli di integrità referenziale ma dai nomi che ho dato credo sia chiaro quali siano e cosa leghino tra loro.
Il problema è sulla relazione ATTERRAGGIO e sulle sue chiavi.
Vista tabellarmente dovrebbe essere una cosa del genere:
portaerei1 002 12/03/2007 15:30
portaerei2 002 12/03/2007 16:10
portaerei3 001 15/04/2007 12:05
portaerei3 001 15/04/2007 14:07
.......................................................
.......................................................
In pratica mi sà che i soli campi nome_portaerei e codice_aereo non bastano a formare la chiave in quanto non mi identificano univocamente una riga della tabella...ci devo mettere anche la data nella chiave? l'ora si o no?
Viste le specifiche lo schema E-R dite che è fatto decentemente?
Vi prego di farmi sapere qualcosa.
Grazie
Andrea
Ho qualche quesito vi prego di aiutarmi...
L'esercizio diceva questo:
1) Costruire uno schema E-R logico che rappresenti il database di una flotta di Portaerei. Il database
deve essere disegnato in modo da evidenziare quali aerei fanno parte di una certa portaerei e inoltre
deve tenere memoria del fatto che un' aereo atterra su una portaerei , che può essere anche diversa da
quella a cui appartiene. Ci interessa anche sapere quando avvengono gli atterraggi.
Si tenga conto delle seguenti specifiche :
a) gli oggetti da considerare sono le Portaerei, gli Aerei e i Piloti;
b) il pilota di un' aereo guida sempre lo stesso aereoplano ( da questo se ne deduce che i piloti
sono di stanziamento solo su una portaerei).
Evitare bene la ridondanza dei dati.
2) Costruire quindi lo schema fisico o normalizzato evidenziando bene chiavi di entità e chiavi di
relazioni ed eventuali attributi utili.
3) Dire quali e quante sono le tabelle necessarie per rappresentare il database.
Allora per ora escludiamo la normalizzazione che non ho ancora fatto. Il dubbio è un altro per ora.
Il mio schema E-R e lo schema tradotto è il seguente:
http://www.siatec.net/andrea/uni/db/dbportaerei.jpg
Con la relazione APPARTENENZA specifico che ad una portaerei appartengono di stanziamento minimo uno e massimo n aerei mentre un aereo è stanziato solo su di una singola portaerei.
Con la relazione VOLA dico che un pilota può volare su un solo aereo e che un aereo è pilotato da un solo pilota.
Con la relazione ATTERRAGGIO tengo traccia di quale aereo atterra su quale portaerei e tengo memoria della data e dell'ora in cui gli atterraggi avvengono.
Il secondo schema è lo schema relazionale vero e proprio che può anche essere visto così:
PORTAEREI(nome, anno_di_varo, numero_marinai)
AEREO(codice, modello, anno_di_produzione, nome_portaerei)
PILOTA(matricola, nome, ore_di_volo, aereo_pilotato)
ATTERRAGGIO(nome_portaerei, codice_aereo, data, ora)
Gli attributi in grassetto e sottolineati sono le chiavi, ora ovviamente ci sono i vincoli di integrità referenziale ma dai nomi che ho dato credo sia chiaro quali siano e cosa leghino tra loro.
Il problema è sulla relazione ATTERRAGGIO e sulle sue chiavi.
Vista tabellarmente dovrebbe essere una cosa del genere:
portaerei1 002 12/03/2007 15:30
portaerei2 002 12/03/2007 16:10
portaerei3 001 15/04/2007 12:05
portaerei3 001 15/04/2007 14:07
.......................................................
.......................................................
In pratica mi sà che i soli campi nome_portaerei e codice_aereo non bastano a formare la chiave in quanto non mi identificano univocamente una riga della tabella...ci devo mettere anche la data nella chiave? l'ora si o no?
Viste le specifiche lo schema E-R dite che è fatto decentemente?
Vi prego di farmi sapere qualcosa.
Grazie
Andrea