2.4.3. Tranzitív függőség

iDevice ikon

Tranzitív függőség

 

Az S tranzitíven függ  P-től, ha létezik olyan QA,

hogy P → Q, Q → S, de visszafelé nem igazak a függőségek.

 

Példák:

  1. DOLGOZÓ {szemszám, név, osztkód, osztelnev}
  2. RENDELÉSFEJ {rendszám, vkód, vevőnév, vevőcím, kelt, határidő, összérték}
  3. LÁTOGATÓK {azonosító, név, cég, cégnév, cégcím, cégtel}

 

A fenti 3 különálló tábla mindegyike redundáns, mert tranzitív függőség van bennük.

A Dolgozóban az osztály elnevezése függ tranzitíven a kulcstól, mégpedig az osztály kódján keresztül. Minden dolgozó valamelyik egyetlen osztályon dolgozik, de többen dolgoznak ugyanazon az osztályon, így több dolgozó mellett ugyanazt az elnevezést tároljuk. Az osztelnev tulajdonság tehát nem maradhat a Dolgozó táblában.

A Rendelésfejben pedig a vevőnév és vevőcím tárolódik feleslegesen sokszor, mert egy vevőnek több rendelésszáma is lehet. A rendszám egyértelműen meghatározza a vevő kódját, attól pedig a vevő törzsadatai függnek teljesen.

A Látogatók táblában pedig a cég törzsadatainak nincs helyük, hiszen a kulcstól tranzitíven függnek a cég kódján keresztül. Valóban több látogatónk is lehet ugyanattól a cégtől, tehát a cég nevét, címét és telefonját nem illik minden dolgozó mellett tárolni.

 

A következő fejezetben pontosítjuk a részleges és tranzitív függés kiszűrésének menetét, de addig fogadjuk el, hogy a Dolgozóba csak az osztkód kerülhetne az osztályadatok közül, a Rendelésfejbe pedig csak a vkód a vevőadatok közül, illetve a Látogatókba csak a cég a cégadatok közül. A többi leíróval nem volt gond.

 


iDevice ikon Kulcsszavak a fejezetben
funkcionális függőség, újabb függőségek származtatása, teljes (részleges) és tranzitív függőség.