Tapsfri dekomposisjon

dekomponering av en databaserelasjon slik at en naturlig skjøt av de resulterende relasjonene vil returnere den opprinnelige relasjonen

I databaser er en tapsfri dekomposisjon (tysk: Verbundtreue, også kalt Verlustlosigkeit) er når en relasjon dekomponeres på en slik måte at den opprinnelige relasjonen kan gjenopprettes fra den dekomponerte relasjonen ved å bruke en naturlig skjøt (engelsk: natural join)

Funksjonell avhengighet er et relatert tema.

Enkelt kriterium

rediger

En nedbrytning av en relasjonsmodell R i to underordninger R1 og R2 er er tapsfri dersom:

  •   eller
  •  

Eksempler

rediger

Anta en relasjon   med nøkkelkandidat  .

Tapsfri dekomposisjon

rediger

Relasjonen   brytes ned til to relasjoner   og  . Da vil det gjelde at   og  , forenklet:  

R
A B C
1 1 2
1 2 3
2 1 2
R1
A B
1 1
1 2
2 1
R2
B C
1 2
2 3
 
A B C
1 1 2
1 2 3
2 1 2

Ikke-tapsfri dekomposisjon

rediger
R
A B C
1 1 2
1 2 3
2 1 3
R1
A B
1 1
1 2
2 1
R2
B C
1 2
2 3
1 3
 
A B C
1 1 2
1 1 3
1 2 3
2 1 2
2 1 3

Årsaken til mangel på tapsfrihet i det andre eksemplet er at det hverken er en funksjonell avhengighet mellom B → A eller mellom B → C. I det første eksemplet hadde man derimot B → C.

Se også

rediger

Eksterne lenker

rediger