9.3. Többértékű függések és a negyedik normálforma

9.1. ábra - Negyedik és ötödik normálformák. (a) A DOLG reláció két többértékű függéssel: Dnév → Rnév és Dnév → Hnév. (b) A DOLG reláció felbontása két 4NF relációba: DOLG_PROJEKTEK és DOLG_HOZZÁTARTOZÓK. (c) A többértékű függés nélküli SZÁLLÍTÁS reláció 4NF-ben van, de nincs 5NF-ben, ha rendelkezik a JD(R 1, R 2, R 3) kapcsolásfüggéssel. (d) A SZÁLLÍTÁS reláció felbontása az R 1, R 2, R 3 5NF relációkra.

Negyedik és ötödik normálformák. (a) A DOLG reláció két többértékű függéssel: Dnév → Rnév és Dnév → Hnév. (b) A DOLG reláció felbontása két 4NF relációba: DOLG_PROJEKTEK és DOLG_HOZZÁTARTOZÓK. (c) A többértékű függés nélküli SZÁLLÍTÁS reláció 4NF-ben van, de nincs 5NF-ben, ha rendelkezik a JD(R 1, R 2, R 3) kapcsolásfüggéssel. (d) A SZÁLLÍTÁS reláció felbontása az R 1, R 2, R 3 5NF relációkra.

9.3.1. A többértékű függés formális definíciója

Definíció.  Egy R relációsémán megadott XY többértékű függés, ahol X és Y az R attribútumhalmazai, a következő megszorítást jelenti bármely R fölötti r reláció esetén: Ha van két olyan t 1 és t 2 rekord r-ben, amelyre t 1[X] = t 2[Y], akkor léteznie kell két t 3 és t 4 rekordnak is r-ben a következő tulajdonságokkal, ahol Z-t az (R − (XY)) jelölésére használjuk:

  • t 3[X] = t 4[X] = t 1[X] = t 2[X].

  • t 3[Y] = t 1[Y] és t 4[Y] = t 2[Y].

  • t 3[Z] = t 2[Z] és t 4[Z] = t 1[Z].

Valahányszor XY fennáll, azt mondjuk, hogy X többértékűen meghatározza Y-t. A definícióbeli szimmetria miatt valahányszor XY fennáll R-ben, mindannyiszor XZ is teljesül. Így az XY többértékű függésből következik XZ, és ezért ezt néha úgy szoktuk írni, hogy XY|Z.

9.3.2. Funkcionális és többértékű függések levezetési szabályai

9.3.3. A negyedik normálforma

9.3.4. Nemadditív join dekompozíció 4NF relációsémákra történő felbontáshoz

Valahányszor felbontunk egy R relációsémát az R-en fennálló XY többértékű függés alapján R 1 = (XY) és R 2 = (RY) relációsémákra, a dekompozíció nemadditív join tulajdonságú. Meg lehet mutatni, hogy ez egy szükséges és elégséges feltétele egy séma két olyan sémára történő felbontásának, amelyek nemadditív join tulajdonságúak, ahogyan azt az NJB' tulajdonság is kimondja, amely a korábban megadott NJB tulajdonságnak egy további általánosítása.

NJB' tulajdonság.  Az R 1 és R 2 relációsémák akkor és csak akkor alkotják R egy nemadditív join tulajdonságú dekompozícióját, figyelembe véve a funkcionális és többértékű függések egy F halmazát, ha

(R 1R 2) → (R 1R 2)

vagy — szimmetrikusan — akkor és csak akkor, ha

(R 1R 2) → (R 2R 1).

A 3. algoritmus egy kis módosításával kapjuk a 5. algoritmust, amely végrehajt egy nemadditív join dekompozíciót, olyan relációsémákat előállítva, amelyek 4NF-ben vannak (BCNF helyett). Ahogyan a 3. algoritmus, úgy a 5. algoritmus sem szükségképpen ad olyan dekompozíciót, amely megőrzi a funkcionális függéseket.

5. algoritmus − Relációsémák nemadditív join tulajdonságú dekompozíciója 4NF relációsémákra. 

Bemenet:  Egy R univerzális relációséma és az R attribútumain értelmezett funkcionális és többértékű függéseknek egy F halmaza.

  1. Legyen D := { R };

  2. Amíg van olyan Q relációséma D-ben, ami nincs 4NF-ben

  • {

    • válasszunk egy Q relációsémát D-ben, ami nincs 4NF-ben;

    • keressünk Q-ban egy olyan nemtriviális XY többértékű függést, amely megsérti a 4NF-et;

    • helyettesítsük D-ben Q-t a (QY) és az (XY) relációsémákkal;

  • };