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
En nedbrytning av en relasjonsmodell R i to underordninger R1 og R2 er er tapsfri dersom:
- eller
Eksempler
Anta en relasjon med nøkkelkandidat .
Tapsfri dekomposisjon
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 | | | | A | B | C | 1 | 1 | 2 | 1 | 2 | 3 | 2 | 1 | 2 | |
Ikke-tapsfri dekomposisjon
R A | B | C | 1 | 1 | 2 | 1 | 2 | 3 | 2 | 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å
- Arbeidsenhet
- Ekviskjøt, en undertype av sammenføyninger hvor det kun brukes likhetstegn i skjøtepredikatet
- Funksjonell dekomposisjon
- Relasjon (database)
- Relasjonsalgebra
Eksterne lenker
- IN2090 – Databaser og datamodellering 08 – Tapsfri dekomposisjon