 |
karplus |
la traccia di quel quote l'ha ripostata jaky 2 pos ... |
04-02-2009 20:17 |
|
 |
karplus |
.grande:maestro.

Registered: Jun 2004
Posts: 1208 (0.16 al dì)
Location:
Corso: Informatica per la Comunicazione (magistrale)
Anno:
Time Online: 7 Days, 2:33:37 [...]
Status: Offline
Edit | Report | IP: Logged |
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è. 
|
04-02-2009 20:17 |
|
|
|  |
 |
Jaky |
certo che ha la precedenza! anzi..in realtà la pr ... |
04-02-2009 20:36 |
|
 |
Jaky |
.grande:maestro.
Registered: Nov 2003
Posts: 703 (0.09 al dì)
Location: Milano
Corso: Comunicazione Digitale
Anno: laureando
Time Online: 5 Days, 1:02:58 [...]
Status: Offline
Edit | Report | IP: Logged |
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!
|
04-02-2009 20:36 |
|
|
|  |
 |
frenklin |
mm, non è che sia tanto chiara.
... |
04-02-2009 23:16 |
|
 |
frenklin |
.fedelissimo.
Registered: Aug 2005
Posts: 51 (0.01 al dì)
Location:
Corso:
Anno:
Time Online: 16:07:18 [...]
Status: Offline
Edit | Report | IP: Logged |
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
Last edited by frenklin on 04-02-2009 at 23:25
|
04-02-2009 23:16 |
|
|
|  |
 |
Jaky |
[QUOTE]-si crea una relazione per ogni gruppo di a ... |
08-02-2009 23:05 |
|
 |
Jaky |
.grande:maestro.
Registered: Nov 2003
Posts: 703 (0.09 al dì)
Location: Milano
Corso: Comunicazione Digitale
Anno: laureando
Time Online: 5 Days, 1:02:58 [...]
Status: Offline
Edit | Report | IP: Logged |
-si crea una relazione per ogni gruppo di attributi coinvolti in una dipendenza funzionale
OK
poi, se per esempio, tra le tante, hai due dip fuz che sono AB-->C e C-->B, è inutile creare due gruppi ABC E BC, perchè C-->B puoi farla stare dentro al gruppo ABC (in questo caso per esempio, il gruppo ABC sarà si in 3nf, perchè il B di C-->B fa parte della chiave, ovvero AB, però non sarà in bcnf perchè C non è chiave!
-si verifica che alla fine una relazione contenga una chiave della relazione originaria
OK, se tra i gruppi nessuno contiene la chiave, basta che scrivi una delle chiavi trovate precedentemente..una a caso, non importa quale.
Per l'accorpamento, lo fai solo se ti trovi es A-->B e A-->C, però nessuno di queste due deve poter essere ricavato da altri gruppi(ovvero se non esiste un gruppo ABC)
Ora, quello ottenuto sarà sempre in 3nf, ma nel caso del gruppo ABC di prima, che contiene le due dip.fun, non è in bcnf, allora scomponi in altri 2 gruppi, ottenendo CB e AC, AB-->C non è preservata.
Spero sia chiaro. nel caso postate un esercizio, io non ho tempo di cercarlo e scriverlo..ciaooo
Last edited by Jaky on 08-02-2009 at 23:07
|
08-02-2009 23:05 |
|
|
|  |
 |
karplus |
ok a me un dubbio é rimasto, te lo sottopongo.
... |
10-02-2009 00:31 |
|
 |
karplus |
.grande:maestro.

Registered: Jun 2004
Posts: 1208 (0.16 al dì)
Location:
Corso: Informatica per la Comunicazione (magistrale)
Anno:
Time Online: 7 Days, 2:33:37 [...]
Status: Offline
Edit | Report | IP: Logged |
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 
|
10-02-2009 00:31 |
|
|
|  |
 |
Jaky |
scusami, se hai seguito la correzioni, hai anche q ... |
10-02-2009 09:10 |
|
 |
Jaky |
.grande:maestro.
Registered: Nov 2003
Posts: 703 (0.09 al dì)
Location: Milano
Corso: Comunicazione Digitale
Anno: laureando
Time Online: 5 Days, 1:02:58 [...]
Status: Offline
Edit | Report | IP: Logged |
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? 
|
10-02-2009 09:10 |
|
|
|  |
 |
karplus |
Ho sbagliato a ricopiare io sul dsy una cosa ma il ... |
10-02-2009 12:36 |
|
 |
karplus |
.grande:maestro.

Registered: Jun 2004
Posts: 1208 (0.16 al dì)
Location:
Corso: Informatica per la Comunicazione (magistrale)
Anno:
Time Online: 7 Days, 2:33:37 [...]
Status: Offline
Edit | Report | IP: Logged |
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??
|
10-02-2009 12:36 |
|
|
|  |
 |
Jaky |
dunque, premetto che in sede d'esame forse non ci ... |
10-02-2009 19:08 |
|
 |
Jaky |
.grande:maestro.
Registered: Nov 2003
Posts: 703 (0.09 al dì)
Location: Milano
Corso: Comunicazione Digitale
Anno: laureando
Time Online: 5 Days, 1:02:58 [...]
Status: Offline
Edit | Report | IP: Logged |
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. 
|
10-02-2009 19:08 |
|
|
|  |
 |
Brk |
Ciao,
... |
22-02-2009 18:50 |
|
 |
Brk |
.consigliere.
Registered: Dec 2004
Posts: 148 (0.02 al dì)
Location:
Corso:
Anno:
Time Online: 1 Day, 8:25:11 [...]
Status: Offline
Edit | Report | IP: Logged |
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
|
22-02-2009 18:50 |
|
|
|  |
 |
Brk |
Ciao,
... |
22-02-2009 19:06 |
|
 |
Brk |
.consigliere.
Registered: Dec 2004
Posts: 148 (0.02 al dì)
Location:
Corso:
Anno:
Time Online: 1 Day, 8:25:11 [...]
Status: Offline
Edit | Report | IP: Logged |
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
|
22-02-2009 19:06 |
|
|
|  |
 |
karplus |
Ok, quel passaggio l'avevo spiegato in questa mani ... |
22-02-2009 19:18 |
|
 |
karplus |
.grande:maestro.

Registered: Jun 2004
Posts: 1208 (0.16 al dì)
Location:
Corso: Informatica per la Comunicazione (magistrale)
Anno:
Time Online: 7 Days, 2:33:37 [...]
Status: Offline
Edit | Report | IP: Logged |
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
La chiave di cui si sta parlando, é quella TOTALE dell'esercizio, ovvero quella trovata calcolandone la chiusura, cosa che ho dato per scontato e di cui non ho ricopiato lo svolgimento. La chiave in questione é AC.
Nella scomposizione finale in 3nf deve esserci una relazione che contenga la chiave TOTALE, ovvero AC. Nell'esercizio che ho postato, puoi vedere come R3 contenga AC. Quindi esiste già una relazione che contiene una chiave, ergo l'esercizio é finito.
Se la chiave non fosse stata contenuta in nessuna delle relazioni (può capitare), avremmo dovuto accorpare delle relazioni in modo da ottenere la chiave AC. Quali relazioni accorpare? Beh il prof non mi aveva dato delle regole specifiche in merito, e sulle slide non ne ho trovate. Ergo si accorpano delle relazioni in modo che la relazione risultante abbia AC alla fine.
Per dirla terra terra, se supponiamo che R3 fosse R3(A,E,D), come vedi R3 non conteneva la chiave AC. Quindi avremmo creato una relazione R7 partendo R2+R6, R7 quindi sarebbe risultata come (A,C,D,F).
Nulla ci vietava però di comporre R7 a partire da R1+R6, avremmo ottenuto R7(A,D,E,C,F), tuttavia secondo me é meglio partire da R che hanno meno attributi possibili, ma é un parere personale.
La precisazione che fa jaky é per sottolineare che se una R é già contenuta in un'altra R, é anche inutile scriverla. R3(C,D) esiste già dentro R4(A,C,D), pertanto é inutile scriverla.
Il perchè di questi passaggi lo devi chiedere a chi ha inventato la 3nf e il relativo algoritmo, cmq se vai nel pdf della normalizzazione del prof questi passaggi sono elencati, anche se in maniera un po' più "criptica". 
Last edited by karplus on 22-02-2009 at 23:07
|
22-02-2009 19:18 |
|
|
|  |
 |
clacs |
[QUOTE][i]Originally posted by karplus [/i]
... |
26-06-2009 10:25 |
|
 |
clacs |
.illuminato.
Registered: Nov 2007
Posts: 193 (0.03 al dì)
Location:
Corso: Comunicazione Digitale
Anno: Terzo
Time Online: 1 Day, 19:33:46 [...]
Status: Offline
Edit | Report | IP: Logged |
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.
Guarda..ti offrirei una birra..eheh...
Grazie per aver postato il link a Google libri...ho finalmente capito la normalizzazione...
Qualcuno ha altri link da postare dove si possono trovare esercizi svolti?
|
26-06-2009 10:25 |
|
|
|  |
 |
elias86 |
Re: Esempio Normalizzazione |
03-07-2009 18:04 |
|
|
|  |
 |
karplus |
Formula? :?
... |
03-07-2009 19:55 |
|
 |
karplus |
.grande:maestro.

Registered: Jun 2004
Posts: 1208 (0.16 al dì)
Location:
Corso: Informatica per la Comunicazione (magistrale)
Anno:
Time Online: 7 Days, 2:33:37 [...]
Status: Offline
Edit | Report | IP: Logged |
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.
|
03-07-2009 19:55 |
|
|
|  |
 |
All times are GMT. The time now is 10:20. |
|
|
 |
|
 |
|
|
|  |
Forum Rules:
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
|
HTML code is OFF
vB code is ON
Smilies are ON
[IMG] code is ON
|
|
|
|
|
|