Skip navigation

Relációs adatbázissémák felbontása

Definíció

Legyen R(A) egy relációséma, és X,Y ⊂ A úgy, hogy X U Y = A. Ekkor az R(A) séma felbontása X, Y szerint az R1 (X) és R2 (Y) sémákat eredményezi. Az R séma
feletti T tábla felbontása projekcióval történik: T1X (T) és T2Y (T).

Definíció

Egy felbontást hűségesnek nevezünk, ha bármely R feletti T tábla esetén T=T1 * T2. Vagyis, a felbontás után adódó táblákból természetes összekapcsolással az eredeti táblát kapjuk vissza.
Könnyen belátható, hogy tetszőleges felbontás esetén T ⊆ T1 *T2 teljesül. A hűségesség tehát azt jelenti, hogy az összekapcsolás nem állít elő fölös sorokat.

Példa

Vizsgáljuk meg a Dolgozói nyilvántartás felbontását!

Dolgozók (adószám, név, cím, osztálykód, osztálynév, vezAdószám)

Név Adószám Cím Osztálykód Osztálynév VezAdószám
Kovács 1111 Pécs, Vár u. 5 2 Tervezési 8888
Tóth 2222 Tata, Tó u. 2 1 Munkaügyi 3333
Kovács 3333 Vác, Róka u. 1 1 Munkaügyi 3333
Török 8888 Pécs, Sas u. 8 2 Tervezési 8888
Kiss 4444 Pápa, Kő tér 2. 3 Kutatási 4444
Takács 5555 Győr, Pap u. 7. 1 Munkaügyi 3333
Fekete 6666 Pécs, Hegy u. 5. 3 Kutatási 4444
Nagy 7777 Pécs, Cső u. 25. 3 Kutatási 4444

{adószám} → {név, cím, osztálykód, osztálynév, vezAdószám}
{osztálykód} → {osztálynév, vezAdószám}

Az osztálynév és vezAdószám mindkét függőségben szerepel, ezért jelöltük más színnel.

Írhattuk volna így is a függőségeket, ha a (narancssárgával jelölt) tranzitívan függő attribútumokat kivesszük:

{adószám} → {név, cím, osztálykód}
{osztálykód} → {osztálynév, vezAdószám}

Legyen X = {adószám, név, lakcím, osztálykód} és Y = {osztálykód, osztálynév, vezAdószám}.

A felbontás eredményeképpen létrejött két relációséma:

Dolg( adószám, név, lakcím, osztálykód)
Osztály(osztálykód, osztálynév, vezAdószám)

Név Adószám Cím Osztálykód
Kovács 1111 Pécs, Vár u. 5 2
Tóth 2222 Tata, Tó u. 2 1
Kovács 3333 Vác, Róka u. 1 1
Török 8888 Pécs, Sas u. 8 2
Kiss 4444 Pápa, Kő tér 2. 3
Takács 5555 Győr, Pap u. 7. 1
Fekete 6666 Pécs, Hegy u. 5. 3
Nagy 7777 Pécs, Cső u. 25. 3

Osztálykód Osztálynév VezAdószám
1 Tervezési 8888
2 Munkaügyi 3333
3 Kutatási 4444