Homepage  Il progetto dsy.it è l'unofficial support site dei corsi di laurea del Dipartimento di Scienze dell'Informazione e del Dipartimento di Informatica e Comunicazione della Statale di Milano. E' un servizio degli studenti per gli studenti, curato in modo no-profit da un gruppo di essi. I nostri servizi comprendono aree di discussione per ogni Corso di Laurea, un'area download per lo scambio file, una raccolta di link e un motore di ricerca, il supporto agli studenti lavoratori, il forum hosting per Professori e studenti, i blog, e molto altro...
In questa sezione è indicizzato in textonly il contenuto del nostro forum


.dsy:it. .dsy:it. Archive > Didattica > Corsi A - F > Basi di dati ~ comunicazione digitale
 
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

Powered by: vbHome (lite) v4.1 and vBulletin v2.3.1 - Copyright ©2000 - 2002, Jelsoft Enterprises Limited
Mantained by dsy crew (email) | Collabora con noi | Segnalaci un bug | Archive | Regolamento |Licenze | Thanks | Syndacate