[Basi di dati] Dipendenze funzionali
Dato questo esercizio:
Dati lo schema di relazione R=ABCD, l’insieme di dipendenze funzionali F={A->B, B->C,
BC->D, D->A} e la decomposizione ρ={ABC, BCD} di R,dire se ρ preserva F e illustrare il procedimento seguito per giungere alla risposta.
Come devo procedere? Devo vedere se le due partizioni soddisfano le dipendenze in F e se gli attributi coinvolti sono nella partizione? ovvero seguendo la definizione della decomposizione che preserva le dipendenze? Quest'ultima però richiede di verificare che per ogni $ pi_(Ri)(F) = { X->Y | X->Y € F^+ ^^ XY sube Ri}$ dove XY sta per $ X uu Y $,e quindi $ rho $ preserva F se $ F -= sum_(i = 1)^(K) pi_(Ri)(F) $
Ora,se conoscete l'argomento sapete che $ F^+ sube F^A $ e viceversa e che quindi $ F^+ $ è calcolabile mediante gli assiomi di armstrong (che a memoria non riesco a ricordarmi) ma in teoria per fare ciò che chiede l'esercizio basterebbe calcolare la chiusura di un sottoinsieme X di R rispetto ad F,ma questo richiede di ricordarsi a memoria un algoritmo (fosse l'unico da ricordarsi),quello che mi chiedo è: 1) il procedimento che ho descritto per risolvere l'esercizio,è corretto? 2) Non c'è un modo più immediato per fare ciò,visto che su alcune dispense che avevo trovato in rete gli esercizi erano svolti quasi in modo meccanico e in tempi brevissimi?
Dati lo schema di relazione R=ABCD, l’insieme di dipendenze funzionali F={A->B, B->C,
BC->D, D->A} e la decomposizione ρ={ABC, BCD} di R,dire se ρ preserva F e illustrare il procedimento seguito per giungere alla risposta.
Come devo procedere? Devo vedere se le due partizioni soddisfano le dipendenze in F e se gli attributi coinvolti sono nella partizione? ovvero seguendo la definizione della decomposizione che preserva le dipendenze? Quest'ultima però richiede di verificare che per ogni $ pi_(Ri)(F) = { X->Y | X->Y € F^+ ^^ XY sube Ri}$ dove XY sta per $ X uu Y $,e quindi $ rho $ preserva F se $ F -= sum_(i = 1)^(K) pi_(Ri)(F) $
Ora,se conoscete l'argomento sapete che $ F^+ sube F^A $ e viceversa e che quindi $ F^+ $ è calcolabile mediante gli assiomi di armstrong (che a memoria non riesco a ricordarmi) ma in teoria per fare ciò che chiede l'esercizio basterebbe calcolare la chiusura di un sottoinsieme X di R rispetto ad F,ma questo richiede di ricordarsi a memoria un algoritmo (fosse l'unico da ricordarsi),quello che mi chiedo è: 1) il procedimento che ho descritto per risolvere l'esercizio,è corretto? 2) Non c'è un modo più immediato per fare ciò,visto che su alcune dispense che avevo trovato in rete gli esercizi erano svolti quasi in modo meccanico e in tempi brevissimi?
Risposte
vedo che anche tu fai le stesse cose...
io ho postato una domanda simile, prova a dare un occhiata, magari il procedimento k ho fatto io è quello che cerchi |:
io ho postato una domanda simile, prova a dare un occhiata, magari il procedimento k ho fatto io è quello che cerchi |: