normalizzazione dell'esame del 19 Clicca QUI per vedere il messaggio nel forum |
Svarions |
qualcuno è riuscita a farla?
io nn mi ricordo ne lo schema ne la F.
ma sono sicuro che le chiavi erano 3, era in 3NF ma non in BCNF e fin qua tutto ok, l'ultimo passo chiedeva una scomposizione che mantenesse i vincoli e che fosse in 3NF.
io quindi ho fatto l'algoritmo per calcolare la F minimale, con risultato che era minimale (non c'erano ridondanza a dx in quanto gli elementi erano singoli, ne a sinistra e ne ridondanza di dipendenze funzionali derivate).
quindi in teoria a quel punto si sarebbe dovuto scomporre in tante relazioni quante erano le dipendenze funzionali con ovviamente come schema gli elementi appartenenti ad ogni dipendenza. tutto funziona fino a questo punto ma poi ho notato che in relatà le 3 relazioni generate dalla scomposizione di partenza non erano joinabili. quindi suppongo che o ho fatto un errore nella verifica della minimale (ma non credo) o c'è qualcosa che non so e che quindi non ho fatto.
p.s. messaggio al biondino che mi era davanti durante l'esame(lui capirà che mi riferisco a lui): non si fa così, mi devi una bevuta! allucinante cosa farebbe la gente per non offrire da bere... |
simo555 |
Ahahha eccolo il biondino che era davanti a te! Poi nn ti ho più ribeccato, altrimenti ti avrei offerto una bottiglia di cristal, x tt qll che hai fatto x me:) E' che davvero poi nn ti ho più visto, nn sono mica "scappato". Cmq sicuro ci ribecchiamo, io sn in comelico spessissimo! |
simo555 |
nn prendermi x fuggitivo, mi offendo ;) |
mikypiccolamiky |
scusate una cosa come si fa la scomposizione??? io veramente non l'ho capita all'esame ho sparato a caso... e deduco dal mio voto che effettivamente ho sbagliato... ualcuno può speigarmela??? grazie |
Svarions |
Allora la scomposizione è semplice: prima di tutto devi vedere se è minimale e per fare ciò ci sono 3 passi:
1 - per ogni dipendenza funzionale del tipo x -> yz la sostituisci con x -> y e x -> z
2 - per ogni dipenza del tipo xy -> z devi provare a fare la chiusura di x se nella chiusura compare y allora sostituisci xy -> z con x -> z. Questo passaggio va iterato per ogni lettera a sn della dipendenza funzionale (in questo caso se la chiusura di x nn va in y allora si guarda se la chiusura di y va in x)
3 - per ogni dipendenza funzionale si prova a eliminarla dall'insieme delle dipendenza funzionali e si calcola la chiusura di quello che sta a sn della dipendeza funzionale eliminata se questa chiusura da come risulta quello che stava a destra della dipendenza funzionale eliminata allora l'eliminazione è corretta altrimenti si reinserisce la dipendenza funzionale eliminata e si passa alla successiva.
Una volta fatti questi 3 passaggi (l'ordine dell'applicazione dei passaggi non è rilevante) si ottiene l'insieme delle dipendenze funzionali minimali. NOTA BENE: per ogni insieme di dipendenze esistono più insiemi di dipendenze minimali equivalenti (il potere espressivo è lo stesso)
ottenuto l'insieme di dipendeze minimali si fa finalmente la scomposizione in particolare per ogni dipendeza funzionale del tipo x -> y si crea una scomposizione S1 con attributi x,y e con F1 data da x -> y si itera questo passaggio fino a quando non ci sono più dipendeze funzionali.
Semplifacazione una volta ottenuta la scomposizione a volte è semplificabile, in particolare:
se abbiamo S1(x,y) con F1(x -> y) e S2(x,z) con F2(x -> z) allora si potranno fondere in S3 (x,y,z) F3(x -> y, x -> z).
in altre parole se abbiamo che la chiave di una scomposizione è la chiave p la superchiave di un'altra scomposizione allora si possono fondere in un'unica scomposizione che avrà per attributi l'unione degli attributi delle 2 scomposizioni e per dipendenze funzionali l'unione delle dipendenze funzionali delle 2 scomposizioni.
Concludo dicendo che questa metodologia va applicata quando c'è una domanda del tipo: proporre una scomposizione in 3NF mentre se la richiesta è quella di proporre una scomposizione in BCNF va applicata l'altra scomposizione di cui ho già parlato in un altro thread |
japanskull |
:shock: MA QUANTE NE SAI !?:shock: |
simo555 |
svaaarions, sei finito? ti ho pure scritto 2 pm! |
Svarions |
non sono un assiduo frequentatore del dsy, se qualcuno ha bisogno mi unisca a msn o mi mandi una mail. il mio indirizzo è svarione_simo@hotmail.com
Ciao
Simone |
|
|
|