2015-07-26 11 views
5

Ho qualche difficoltà di determinare MVD per la seguente relazioneCome determinare la dipendenza multivaluta MVD (regola transitoria)?

R=(A,B,C,D,E) where A->>B and B->>D 

Dati i seguenti tuple:

(0,1,2,3,4) and (0,5,6,7,8) 

desidero determinare all tuple che possono completare il rapporto.

Come ho capito, se le tuple t(A)=u(A) ci deve essere terzo tuple v(A)=t(A) e v(B)=t(B) un quarto tuple w(A)=t(A) e w(B)=u(B)

Così ho provato:

 A B C D E 
    t 0 1 2 3 4 
    u 0 5 6 7 8 
    v 0 1 2 3 4 
    w 0 5 6 7 8 

Tuttavia, suppongo che potrei perdere qualcosa (alias transitivity). Perché non delle tuple (v e w) è incluso nel set:

1.(0,1,2,7,4) 
    2.(0,1,2,3,8) 
    3.(0,1,6,3,4) 
    4.(0,5,2,7,8) 

in cui almeno una delle tuple deve essere vero. Non riesco a metterlo insieme e apprezzerei qualsiasi aiuto! Per quanto riguarda la transitività, ho capito che A->>B e B->>D quindi A->>(D-B) o quello A->>BD ma non riesco a farlo bene.

risposta

0

Nel tuo esempio, con i MVDS date, è fuorviante per fare un esempio con due tuple come:

(0,1,2,3,4) and (0,5,6,7,8) 

poiché non c'è modo di dire, dall'esempio, se ci sono più valori di D per un certo B (si hanno due diversi valori di B) e possono esserci altre dipendenze multivalore, poiché si hanno valori diversi per C e E dato lo stesso valore di A.

Per mostrare questo più chiaramente, proverò a riformulare l'esempio con dati diversi, più concreti. Supponiamo che il vostro rapporto è di circa Aziende multisito, e gli attributi sono:

A company name (N) (a company has a single name) 
B site   (S) (a company can have multiple sites) 
C website  (W) (a company has a single web site) 
D phone number (P) (a company site can have multiple phone numbers) 
E CEO   (E) (a company has a single CEO) 

Quindi possiamo riscrivere lo schema come C(N,S,W,P,E), e N->>S, e S->>P, come nel tuo esempio. Ciò significa semplicemente che puoi avere diversi siti per ciascuna azienda e diversi telefoni per ciascun sito.

Supponiamo che l'azienda N1 ha due siti, S1 e S2, e anche se i numeri di telefono per ogni sito: P11 e P12 per il sito S1 e P21 e P22 per il sito S2. Così almeno i seguenti due tuple devono essere presenti in C:

(N1, S1, W1, P11, E1) and (N1, S2, W2, P21, E1) 

ma, come nel caso del vostro esempio, sapendo solo queste due tuple non dare qualsiasi altra informazione circa l'esistenza di altre tuple (questo è poiché ci potrebbero essere solo due siti con un solo (singolo) telefono diverso per ogni sito. Invece, dalla descrizione del esempio concreto, sappiamo che in C tutte le seguenti tuple deve essere presenti:

N S W P E 
N1 S1 W1 P11 E1 
N1 S2 W1 P21 E1 
N1 S1 W1 P12 E1 
N1 S2 W1 P22 E1 

Infine, per quanto riguarda la transitività, lei ha ragione di dire che dal A->>B e B->>D si può dedurre che A->>(D-B) ma non che A->>BD (è una cosa completamente diversa!)

Problemi correlati