(Microsoft PowerPoint - L08.progLogica

Soluzione Esercitazione 8
Progettazione logica
Sistemi Informativi T
Versione elettronica: L08.progLogica-sol.pdf
Esercizio 1: schema concettuale
Lo schema concettuale non presenta alcuna difficoltà
AUTO
NUMERO_TELAIO
COLORE
1-1
CERCHI_LEGA
CLIMATIZZATORE
AIRBAG_LAT
id: NUMERO_TELAIO
R
0-N
MODELLO
CASA
NOME
id: CASA
NOME
P
NUOVA
RODAGGIO
Sol Es. 8: prog. logica
USATA
KM_PERCORSI
Sistemi Informativi T
2
Esercizio 1: schema logico
Si forniscono i formati degli schemi per il caso in cui la gerarchia sia
tradotta collassandola verso l’alto
MODELLI(Casa,Nome);
AUTO(NumeroTelaio,Colore,CerchiLega,Climatizzatore,AirbagLat,
Casa,NomeModello,Tipo,Rodaggio*,KmPercorsi*),
FK: (Casa,NomeModello) REFERENCES MODELLI;
Sol Es. 8: prog. logica
Sistemi Informativi T
3
Esercizio 2: schema concettuale
E’ da notare che la gerarchia è parziale, quindi (a meno di non
modificarla introducendo un’entità ALTRI_LIBRI) non può essere
tradotta collassandola verso il basso
PERSONAGGI
NOME
COMPAGNIA
id: NOME
0-N
LIBRO
ISBN
AUTORE
NUM_PAGINE
id: ISBN
INPE
D
1-1
EDITO_DA
0-N
CASA_EDITRICE
RAG_SOCIALE
NAZIONALITA
id: RAG_SOCIALE
0-N
INFANZIA
INTERATTIVO
ETA_MIN
ETA_MAX
Sol Es. 8: prog. logica
DIZIONARIO
LING_UNO
LING_DUE
GUIDA_TURISTICA
NAZIONE
Sistemi Informativi T
4
Esercizio 2: schema logico
Si forniscono gli schemi per il caso in cui si operi una traduzione
indipendente (mediante associazioni)
In corsivo le Foreign Key
CASEEDITRICI(RagSociale,Nazione)
LIBRI(ISBN,Autore,NumPagine,CasaEditrice,Tipo)
LIBRIINFANZIA(ISBN,Interattivo,EtaMin,EtaMax)
DIZIONARI(ISBN,LingUno,LingDue)
GUIDETURISTICHE(ISBN,Nazione)
PERSONAGGI(Nome,Compagnia),
PERSLIBRI(NomePersonaggio,ISBN)
Sol Es. 8: prog. logica
Sistemi Informativi T
5
Esercizio 3: schema logico “automatico”
Per tradurre automaticamente con
DB-MAIN è necessario prima
modificare lo schema spostando
l’attributo C in E2
E1
K1
A
id: K1
X
0-N
E2
R2
D
0-N
Gli schemi risultanti sono (alcuni
nomi di attributi sono stati cambiati per chiarezza):
E1(K1,A);
E2(K1,B,C), FK: K1 REFERENCES E1;
R2 (K1_Y,K1_X,K1_E2,B_E2,D),
FK: K1_Y REFERENCES E1,
FK: K1_X REFERENCES E1,
FK: (K1_E2,B_E2) REFERENCES E2;
Sol Es. 8: prog. logica
B
id: R1.E1
B
Y
0-1
La semantica è equivalente
0-N
Sistemi Informativi T
R1
C
1-1
6
Esercizio 3: schema logico “manuale”
I vincoli da rispettare sono:
Nessuna associazione viene tradotta
separatamente
Ogni istanza di R2 associa un'istanza
di E2 con 2 istanze diverse di E1
E1
K1
A
id: K1
X
0-N
E2
R2
D
B
id: R1.E1
B
Y
0-1
0-N
0-N
R1
C
1-1
Gli schemi diventano:
E1(K1,A,K1_X*,K1_E2*,B_E2*,D*),
FK: K1_X REFERENCES E1,
FK: (K1_E2,B_E2) REFERENCES E2;
E2(K1,B,C), FK: K1 REFERENCES E1;
Sol Es. 8: prog. logica
Sistemi Informativi T
7