![]() |
Pages (3): « 1 [2] 3 » Show 150 posts per page |
.dsy:it. (http://www.dsy.it/forum/)
- Basi di dati ~ comunicazione digitale (http://www.dsy.it/forum/forumdisplay.php?forumid=108)
-- Esempi di Normalizzazione e decomposizione lossless join (http://www.dsy.it/forum/showthread.php?threadid=31355)
la traccia di quel quote l'ha ripostata jaky 2 post fa. La precisazione che fa lui é molto utile, anche se ancora mi sfugge il perchè.
certo che ha la precedenza! anzi..in realtà la precedenza non esiste...R4 non andrebbe nemmeno creato, perchè vedi subito che C e D stanno dentro a R3!
io la vedo così...facendo tutte le prove d'esame la normalizzazione mi viene perfetta....
per qualsiasi dubbio ad esercizi, postali!
mm, non è che sia tanto chiara.
Jaky o chi l ha capita potrebbe postare un altro esercizio con chiara spiegazione?
Cioè i passaggi sono essenzilamente questi:
-si crea una relazione per ogni gruppo di attributi coinvolti in una dipendenza funzionale
-si verifica che alla fine una relazione contenga una chiave della relazione originaria
se non si trova si inizia ad accorpare.Giusto?
....ma l accorpamento su che criteri si basa?
Grazie
-si crea una relazione per ogni gruppo di attributi coinvolti in una dipendenza funzionale
-si verifica che alla fine una relazione contenga una chiave della relazione originaria
ok a me un dubbio é rimasto, te lo sottopongo.
Prendiamo l'esercizio 3 dell'appello del 23-07-08, scaricabile qui:
http://homes.dico.unimi.it/dbandsec...llo23_07_08.pdf
La chiave é AC, il mio quesito é sempre riguardo alla decomposizione 3NF. Il prof dopo il compito aveva corretto questo esame e io avevo ricopiato tutto, stando a lui la decomposizione finale é:
R 3,4 (A,B,C,D) R1(A,B,D,E) R2(A,E,F) R5(C,F)
Eppure R4 (C,D) e R5 (C,F) secondo quanto mi ha detto il prof a ricevimento una settimana fa, sarebbero dovuti essere combinati, ma nella correzione di questo appello di Luglio non l'ha fatto!! E il caso é diverso dall'esempio da te postato qualche post indietro, perchè nè R4 nè R5 sono sussunti da un'altra relazione, cioè C,D o C,F non sono presenti in nessun'altra relazione.
Tu cosa dici?
ciao
scusami, se hai seguito la correzioni, hai anche quali dip. funzionali ci sono i questi gruppi?
non credo che la prima sia composta da r3,r4, perchè r3 è dentro r1.
questo perchè r1, se non ci fosse r3, sarebbe ADE e ABDE, perchè nella prima dip.funzionale, abd-->e, b è ridondante in quanto c'è la dip ad-->e!!!
sicuruo sicuro di aver trastritto bene?
Ho sbagliato a ricopiare io sul dsy una cosa ma il risultato é cmq quello che avevo riportato, ora lo ricopio esattamente come l'aveva trascritto il prof
ABD->E qui la B é ridondante perchè c'è già AD->B, quindi diventa AD -> E . Ergo le R vengono:
AD->E R1(A,D,E)
AE->F R2 (A,E,F)
AD->B R3(A,D,B)
C->D R4(C,D)
C->F R5(C,F)
LA decomposizione risultante quindi é R3,4(A,B,C,D) R1(..) R2(..) R5(..)
I puntini di sospesione sono per evitare di ricopiare ciò che é già noto presumo. Grazie al passaggio che avevo dimenticato, R3 non é più dentro R1.
Resta però il dilemma, perchè cavolo non ha accorpato R4 e R5 se a ricevimento una sett fa mi ha detto che é la prima cosa da fare??
dunque, premetto che in sede d'esame forse non ci sarei arrivato, ma a vederla così in tranquillità, ti spiego perchè non ha accorpato
non ha accorpato perchè, tra i gruppi creati, nessuno contiene la chiave, ovvero AC. Avrebbe dovuto creare un altro r6 AC, invece gli è bastato inserire la C in ADB, facendolo diventare ABCD.
ora qui dentro ci posso inserire anche C--D
Sarebbe stata la stessa cosa se avesse inserito la C in r1, creando ACDE e lasciando r3 ADB.
In entrambi i casi, ottiene una scomposizione in 3nf ma non bcnf, ed in entrambi i casi se scomponi per ottenere una bcnf, non coservi le dipendenze
Inoltre attenzione, nei testi d'esame dice sempre..mostrare UNA decomposizione blabla bla...non dice mostra LA decomposizione blablabla...quindi hai + di una possibilità per risolvere il tutto , basta ovviamente che sia giusta e sensata..bè..io torno a ripassare per doma
ps: oggi ho svolto 14 esercizi sulla normalizzazione(14 prove d'esame) in nessuno di questi ho accorpato e le ho fatte tutte giuste.
Ciao,
grazie a tutti per i post, ma...
Sinceramente della scomposizione in 3NF non si capisce assolutamente nulla...
Chi ha idea di come si risolve, potrebbe postarne un esempio completo nello stesso stile di quelli di Voodoo?
Grazie
Brk
LOL!!
Scusa ma é stato più forte di me!
Non me ne volere, non pretendo di essere il signor basi di dati in persona, ma più terra-terra di come ho provato a spiegarla nel post del 14-12-2008 15:44 con [EDIT 01-02-09] di questo thread non so proprio come fare.
Lo "stile" di vodoo é appropriato per la scomposizione bcnf, per la 3nf l'esercizio cambia totalmente, ergo non si può replicare.
Tuttalpiù prova a chiedere nello specifico cosa non ti torna degli esercizi postati.
Meglio ancora, vai a ricevimento a fartela spiegare dal prof come ho fatto io, il prof é molto gentile e disponibile in questo senso.
Ciao,
non ho capito questo passaggio:
-----
passaggio 4:
visto che il passaggio 3 é verificato, non occorre creare una relazione R7 che abbia AC come chiave.
------
Cosa vuol dire?
Inoltre nel post di jaky non ho capito quest passaggio:
------
in aggiunta a quanto hai spiegato, è meglio chiarire una cosa.
se avessimo avuto
AD->E R1(A,D,E)
A->F R2(A,F)
AC->D R3(A,C,D)
C->D R4(C,D)
C->F R5(C,F)
in questo caso, non bisogna unine R4 con R5, ma inserire la dip.funz di R4 in R3.
Era per precisare che non sempre bisogna unire i gruppi con stessa chiave
-----
Diciamo che proprio non capisco i passaggi e perchè li compio
Grazie
Brk
Ok, quel passaggio l'avevo spiegato in questa maniera:
4) se la chiave non é presente in nessuna relazione, si accorpano più relazioni in modo di avere la chiave in una relazione sola
Originally posted by karplus
guardate il mio post precedente, lì c'è la procedura spiegatami dal prof per la scomposizione in 3nf.
L'algoritmo viene spiegato bene dal prof qui alla pagina 79.
Viene spiegato anche qui alle pagine 418-420.
Re: Esempio Normalizzazione
Prima di tutto cominciamo con la prima f {abc ->d e d -> a}
Dobbiamo trovare le chiavi allora si guarda quali attributi (lettere) non compaiono mai a destra delle dipendenze funzionali, nel nostro caso bc. Partiamo con bc perché non compaiono mai a destra nelle dipendenze funzionali.
A questo punto sappiamo che bc sono sicuramente attributi primi cioè o sono chiave o fanno parte di una chiave (avendoli calcolati in questo modo faranno minimo parte di tutte le chiavi). Per vedere se sono chiavi si calcola la chiusura. Ricordiamo che per la chiusura vale che quando x(n-1) = x(n) allora si ha finito di calcolare la chiusura per quel determinato attributo:
code:
bc* x(o) = bc x(1) = bc
__________________
Vendo libri di Matematica discreta (eserciziario) e Informatica applicata al suono
Cerco URGENTEMENTE appunti del corso di "Economia e gestione dell'impresa" della prof.ssa Ripamonti dell'A.A. 2010-2011 chi li avesse mi contatti per favore avrei bisogno di fotocopiarli. Grazie.
Formula?
Sei fuori strada di abbastanza.
Al passo x0 (il primo passo) ci sono solo gli attributi di partenza che stai testando, ti devi chiedere se al passo x1 se ne aggiungono altri.
Dato che nè B nè C compaiono mai a sx delle dipendenze funzionali, ovvero non implicano mai niente, al passo x(1) hai ancora bc, ovvero le stesse di partenza.
Ergo bc non é chiave perchè come risultato finale non hai avuto ABCD.
Mi rendo conto che ti avrò confuso le idee, ma la spiegazione é questa, devi digerire ancora un po' la procedura.
All times are GMT. The time now is 13:18. | Pages (3): « 1 [2] 3 » Show all 38 posts from this thread on one page |
Powered by: vBulletin Version 2.3.1
Copyright © Jelsoft Enterprises Limited 2000 - 2002.