2.4.2. Teljes függőség

iDevice ikon

Teljes függőség 

Legyen P, QA és P → Q.

Q funkcionálisan teljesen függ P-től, ha Q a P egyetlen részhalmazától sem függ. Ellenkező esetben részleges a függőség.

 

Példák:

  1. RENDELÉSTÉTEL {rendszam, cikkszam, darab}
  2. TÖRLESZTÉS {szemszám, hónap, összeg, kelt}
  3. LÁTOGATÁS {azonosító, dátum, időpont, téma, időtartam}

 

A fenti 3 különálló tábla mindegyikének összetett kulcsa van, és a leíró tulajdonságok a kulcstól teljesen függnek.

Ha például a Rendeléstételben benne lenne a vevőkód vagy a cikknév, akkor azok nem teljesen függnének saját kulcsuktól, hiszen a vevőkód csak a rendszámtól, a cikknév pedig csak a cikkszámtól függ teljesen. Ilyen esetben a vevőkódot mindannyiszor megismételnénk, ahány különböző cikket vennénk fel mellé, illetve a cikk nevét is annyiszor megismételnénk, ahány különböző rendelésszámon előfordul.

A Törlesztésben egy személy havonta legfeljebb egyszer törleszt és azt egyértelműen valamilyen napon teszi valamekkora (valószínűleg különböző) összeggel. Itt sincs a leírók között csak a személyre, illetve a hónapra vonatkozó törzsadat, mert bizony feleslegesen többször kellene tárolnunk.

A Látogatás kulcsa szerint egy ügyfél adott napon akár több időpontban is látogatást tehet (esetünkben a főnökünknél, akinek a nyilvántartását vezetjük), és valahány percet valamilyen témában ott töltött, de vitatkozhatunk azon, hogy ha többen vannak egyidőben a megbeszélésen, akkor esetleg egy témáról folytatnak megbeszélést. 

Tehát a részleges függés redundanciát okoz, ellentettje a teljes, amire törekedni kell. Ez azt jelenti, hogy a kulcs mellett valóban csak olyan leíróknak van helyük, melyek egyike sem függ a kulcs valamely valódi részhalmazától.