Skip navigation

Példa: Könyvtári adatbázis

Könyvtári adatbázis

A könyvtárban csak az aktuális kölcsönzéseket tartják számon. Ha egy könyv ki lett véve, akkor a sorában ki vannak töltve az olvasójegy és a kölcsönzésDátuma mezők.

Kölcsönzés ( leltáriSzám, könyvCím, szerző, kiadó, kiadásiÉv, olvasójegy,  kölcsönzésDátuma)
Olvasó(olvasójegy, név, lakcím)

{leltáriSzám} → {könyvCím, szerző, kiadó, kiadásiÉv, olvasójegy, kölcsönzésDátuma}
{könyvCím, szerző, kiadásiÉv} → {kiadó}
{olvasójegy} →{név, lakcím}

Kulcsok meghatározása

Tekintsük a {leltáriSzám}+ halmazt:
{leltáriSzám}+ = {leltáriSzám, könyvCím, szerző, kiadó, kiadásiÉv, olvasójegy, kölcsönzésDátuma}
vagyis visszakaptuk a teljes attribútumhalmazt, így a leltáriSzám szuperkulcs és kulcs is.

A többi attribútum(halmaz) tranzítív lezártja, amelyben nem szerepel a leltáriSzám attribútum nem lesz kulcs, mert a leltáriSzám-ot nem tudjuk egyikből sem levezetni (nem áll egyik függés jobb oldalán sem).

1NF

Mindkét relációséma megfelel az 1NF-nek, mivel minden attribútumuk atomi (nincs bennük sem többértékű, sem pedig összetett attribútum).

2NF

A Kölcsönzés sémában egyetlen attribútum alkotja a kulcsot, így minden másodlagos attribútum teljesen függ a séma bármely kulcsától.

Az Olvasó sémában egyetlen attribútum alkotja a kulcsot, így minden másodlagos attribútum teljesen függ a séma bármely kulcsától.

Így mindkét relációséma teljesíti a 2NF feltételét.

3NF

Az Olvasó sémában nincs tranzitív függés, így az 3NF-ben van.

A Kölcsönzés sémában megfigyelhető a {leltáriSzám} →{könyvCím, szerző, kiadásiÉv} → {kiadó} tranzitív függés, így a függés mentén bontjuk fel a sémát:

Kölcsönzés2(leltáriSzám, könyvCím, szerző, kiadásiÉv, olvasójegy, kölcsönzésDátuma)
Könyv(könyvCím, szerző, kiadásiÉv, kiadó)

BCNF

Az Olvasó relációséma BCNF-ben van, mert az {olvasószám} →{név, lakcím} függés nemtriviális és az olvasószám szuperkulcs.

A Kölcsönzés séma BCNF-ben van, mert a {leltáriSzám} →{könyvCím, szerző, kiadásiÉv, olvasójegy, kölcsönzésDátuma} függés nemtriviális és a leltáriSzám szuperkulcs.

A Könyv séma BCNF-ben van, mert a {könyvCím, szerző, kiadásiÉv} →{kiadó} függés nemtriviális és a {könyvCím, szerző, kiadásiÉv} attribútumhalmaz szuperkulcs.