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
 
problema normalizzazione
Clicca QUI per vedere il messaggio nel forum
alealex
Qualcuno ha capito bene la scompisizione in BCNF?
Guardando le soluzioni del tema d'esame del 2/7/2008, esercizio 3 quesito e, mi sono sorti due dubbi e volevo chiedere se qualcuno mi può aiutare...
il primo è questo:

- è equivalente se io scomponevo l'insieme dato in AE e BCDE al posto di BE e ACDE?

mentre i secondo è:

- non riesco a capire la dipendenza EC-->D presente nel sistema CDE, come è stata calcolata?

Grazie...

Ste.dv
Posso rispondere alla tua prima domanda; sulla seconda ho qualche dubbio...

Quando, come in questo caso, lo schema di relazione viola più di una dipendenza funzionale, puoi provare la scomposizione BCNF rispetto a ciascuna delle dipendenze violate.
Scegliendo E -> A otterrai gli schemi S1(A,E) e S2(B,C,D,E). Scegliendo, invece, E -> B otterrai gli schemi S1(B,E) e S2(A,C,D,E).

Puoi provare entrambe le scomposizioni, perché entrambe sono possibili. In questo caso, tuttavia, una è sufficiente, poiché l'esercizio richiede una scomposizione lossless join e non devi provare la preservazione delle dipendenze (per altro impossibile, in questo caso).

Ste.dv
Circa la tua seconda domanda...

Il sottoschema ACDE, risultante dalla prima scomposizione, viola la BCNF rispetto alla dipendenza E -> A, in quanto E non è chiave per esso.
A ciò si deve la seconda scomposizione nei sottoschemi AE e CDE, dove il primo preserva la dipendenza E -> A, con E chiave, mentre il secondo ha come proiezione delle dipendenze l'insieme vuoto, in quanto né AC -> D, né AC -> E sono applicabili.
A questo punto la scomposizione deve arrestarsi, poiché non vi sono più violazioni e la proprietà di lossless join è conseguentemente rispettata.
Il problema, forse, sta nella determinazione della chiave del sottoschema ECD. In assenza di dipendenze la chiave dovrebbe coincidere con l'intero schema, senonché esso contiene EC, chiave per lo schema originale. La dipendenza EC -> D potrebbe risultare da questo.

Non ti garantisco che la conclusione sia corretta ma il ragionamento dovrebbe essere valido.

rekotc
riguardo all'ultima dipendenze EC->D ...in realtà la cosa mi pone molti dubbi...non è possibile ottenere questa dipendenza considerando la proiezione di F sull'insieme di attributi ECD..per me si tratta di una svista del profe

Mr.O
pure io mi sono chiesto come ha fatta a trovare EC-->D
secondo me la proiezione da' l'insieme vuoto... ma non so' come si procede in tal caso. Idee?

Ste.dv
Originally posted by rekotc
riguardo all'ultima dipendenze EC->D ...in realtà la cosa mi pone molti dubbi...non è possibile ottenere questa dipendenza considerando la proiezione di F sull'insieme di attributi ECD..per me si tratta di una svista del profe


Se è così tanto meglio, ma l'idea della chiave non è da buttar via.

Siamo d'accordo che il sottoschema sarebbe ECD e che la proiezione delle dipendenze corrisponde all'insieme vuoto.

Volendo determinare la chiave del sottoschem ECD in assenza di dipendenze, essa deve corrispondere all'intero schema, quindi ECD.
Tuttavia EC è una chiave dello schema R iniziale cioè EC+ = ABCDE. Ciò implica la dipendenza EC -> D, in virtù della quale la chiave del sottoschema ECD è EC, mentre ECD è una superchiave per lo stesso.

rekotc
ammetto che l'idea è convincente...beh se capiterà questa situazione la applicherò allora ;)

rekotc
piccola domandina...ma se io ho + di una dipendenza che viola la BCNF devo provare a scomporre in N modi quante sono le dipendenze funzionali che appunto la violano?

ovvero 3 dip funzionali = 3 possibili scomposizioni?

se le provo tutte e 3 e non ottengo una BCNF che preservi le dipendenze allora ho la garanzia che non sia possibile ottenere una scomposizione che le preservi?

grazie mille :)

karplus
Originally posted by rekotc
piccola domandina...ma se io ho + di una dipendenza che viola la BCNF devo provare a scomporre in N modi quante sono le dipendenze funzionali che appunto la violano?


Si, e te lo dico per esperienza. In un esame avevo provato a fare solo una decomposizione e il prof mi aveva detto che l'esercizio era incompleto. Dovevo provare tutte le dipendenze che violavano la BCNF.
Originally posted by rekotc

se le provo tutte e 3 e non ottengo una BCNF che preservi le dipendenze allora ho la garanzia che non sia possibile ottenere una scomposizione che le preservi?

grazie mille :)


Esattamente. :)

rekotc
ooook grazie mille per avermi levato il dubbio :)

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