Dsy Network www | forum | my | didattica | howto | wiki | el goog | stats | blog | dona | rappresentanti
Homepage
 Register   Calendar   Members  Faq   Search  Logout 
.dsy:it. : Powered by vBulletin version 2.3.1 .dsy:it. > Didattica > Corsi A - F > Basi di dati ~ comunicazione digitale > Esempi di Normalizzazione e decomposizione lossless join
Pages (3): « 1 [2] 3 »   Last Thread   Next Thread
Author
Thread    Expand all | Contract all    Post New Thread    Post A Reply
Collapse
karplus
.grande:maestro.

User info:
Registered: Jun 2004
Posts: 1207 (0.17 al dì)
Location:
Corso: Informatica per la Comunicazione (magistrale)
Anno:
Time Online: 7 Days, 2:28:19 [...]
Status: Offline

Post actions:

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è. :D

04-02-2009 20:17
Click Here to See the Profile for karplus Click here to Send karplus a Private Message Find more posts by karplus Add karplus to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
Jaky
.grande:maestro.

User info:
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

Post actions:

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
Click Here to See the Profile for Jaky Click here to Send Jaky a Private Message Find more posts by Jaky Add Jaky to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
frenklin
.fedelissimo.

User info:
Registered: Aug 2005
Posts: 51 (0.01 al dì)
Location:
Corso:
Anno:
Time Online: 16:07:18 [...]
Status: Offline

Post actions:

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
Click Here to See the Profile for frenklin Click here to Send frenklin a Private Message Find more posts by frenklin Add frenklin to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
Jaky
.grande:maestro.

User info:
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

Post actions:

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
Click Here to See the Profile for Jaky Click here to Send Jaky a Private Message Find more posts by Jaky Add Jaky to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
karplus
.grande:maestro.

User info:
Registered: Jun 2004
Posts: 1207 (0.17 al dì)
Location:
Corso: Informatica per la Comunicazione (magistrale)
Anno:
Time Online: 7 Days, 2:28:19 [...]
Status: Offline

Post actions:

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 :D

10-02-2009 00:31
Click Here to See the Profile for karplus Click here to Send karplus a Private Message Find more posts by karplus Add karplus to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
Jaky
.grande:maestro.

User info:
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

Post actions:

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
Click Here to See the Profile for Jaky Click here to Send Jaky a Private Message Find more posts by Jaky Add Jaky to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
karplus
.grande:maestro.

User info:
Registered: Jun 2004
Posts: 1207 (0.17 al dì)
Location:
Corso: Informatica per la Comunicazione (magistrale)
Anno:
Time Online: 7 Days, 2:28:19 [...]
Status: Offline

Post actions:

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
Click Here to See the Profile for karplus Click here to Send karplus a Private Message Find more posts by karplus Add karplus to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
Jaky
.grande:maestro.

User info:
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

Post actions:

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. :cool:

10-02-2009 19:08
Click Here to See the Profile for Jaky Click here to Send Jaky a Private Message Find more posts by Jaky Add Jaky to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
Brk
.consigliere.

User info:
Registered: Dec 2004
Posts: 148 (0.02 al dì)
Location:
Corso:
Anno:
Time Online: 1 Day, 8:25:11 [...]
Status: Offline

Post actions:

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
Click Here to See the Profile for Brk Click here to Send Brk a Private Message Find more posts by Brk Add Brk to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
karplus
.grande:maestro.

User info:
Registered: Jun 2004
Posts: 1207 (0.17 al dì)
Location:
Corso: Informatica per la Comunicazione (magistrale)
Anno:
Time Online: 7 Days, 2:28:19 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

LOL!!
Scusa ma é stato più forte di me! :D

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. :cool:
Meglio ancora, vai a ricevimento a fartela spiegare dal prof come ho fatto io, il prof é molto gentile e disponibile in questo senso. :)

22-02-2009 19:02
Click Here to See the Profile for karplus Click here to Send karplus a Private Message Find more posts by karplus Add karplus to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
Brk
.consigliere.

User info:
Registered: Dec 2004
Posts: 148 (0.02 al dì)
Location:
Corso:
Anno:
Time Online: 1 Day, 8:25:11 [...]
Status: Offline

Post actions:

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
Click Here to See the Profile for Brk Click here to Send Brk a Private Message Find more posts by Brk Add Brk to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
karplus
.grande:maestro.

User info:
Registered: Jun 2004
Posts: 1207 (0.17 al dì)
Location:
Corso: Informatica per la Comunicazione (magistrale)
Anno:
Time Online: 7 Days, 2:28:19 [...]
Status: Offline

Post actions:

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". :D

Last edited by karplus on 22-02-2009 at 23:07

22-02-2009 19:18
Click Here to See the Profile for karplus Click here to Send karplus a Private Message Find more posts by karplus Add karplus to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
clacs
.illuminato.

User info:
Registered: Nov 2007
Posts: 193 (0.03 al dì)
Location:
Corso: Comunicazione Digitale
Anno: Terzo
Time Online: 1 Day, 19:33:46 [...]
Status: Offline

Post actions:

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
Click Here to See the Profile for clacs Click here to Send clacs a Private Message Find more posts by clacs Add clacs to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
elias86
.precettore.

User info:
Registered: Nov 2005
Posts: 86 (0.01 al dì)
Location: Lissone
Corso: Comunicazione Digitale
Anno: 4
Time Online: 1 Day, 0:08:55 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged
Question 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



:?:?:?:?

Non ho capito perchè dici che x(0) è uguale a bc??? in che formula vai a sostituire il valore 0? e il valore 1???

:?:?:?:?

Grazie. Ciao, Elias

__________________
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.

03-07-2009 18:04
Click Here to See the Profile for elias86 Click here to Send elias86 a Private Message Visit elias86's homepage! Find more posts by elias86 Add elias86 to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
Collapse
karplus
.grande:maestro.

User info:
Registered: Jun 2004
Posts: 1207 (0.17 al dì)
Location:
Corso: Informatica per la Comunicazione (magistrale)
Anno:
Time Online: 7 Days, 2:28:19 [...]
Status: Offline

Post actions:

Edit | Report | IP: Logged

Formula? :?
Sei fuori strada di abbastanza. :D

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
Click Here to See the Profile for karplus Click here to Send karplus a Private Message Find more posts by karplus Add karplus to your buddy list Printer Friendly version Email this Article to a friend Reply w/Quote
All times are GMT. The time now is 17:08.    Post New Thread    Post A Reply
Pages (3): « 1 [2] 3 »   Last Thread   Next Thread
Show Printable Version | Email this Page | Subscribe to this Thread | Add to Bookmarks

Forum Jump:
Rate This Thread:

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
 

Powered by: 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
Pagina generata in 0.045 seconds (83.20% PHP - 16.80% MySQL) con 23 query.