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