Skip navigation

Relációs adatmodell

Alapfogalmak

Relációs adatbázissémának (vagy relációsémának) nevezünk egy attribútumhalmazt, amelyhez név tartozik: formálisan R(A1,...,An), ahol R a relációséma neve, A1, ... An, pedig az attribútumhalmaza. Minden attribútumhoz tartozik egy értékkészlet, amelyből felveheti értékeit. Az i-edik attribútum értékkészletét dom(Ai) jelöli. Az R(A1, ..., An) séma feletti T tábla az alábbi módon írható le: , vagyis nem más, mint az értékkészletek Descates-szorzatainak részhalmaza. Másképpen mondva, ha vesszük az attribútumoknak az összes lehetséges értékét, és ezeket minden lehetséges módon párosítjuk, ezen rekord-halmazból kerülnek ki a T tábla sorai.

Azt a attribútumhalmazt, amelyen a T tábla minden sora különbözik szuperkulcsnak nevezzük. A K attribútumhalmazt kulcsnak nevezzük, ha minimális szuperkulcs, vagyis bármelyik attribútumot elvéve belőle, már lennének azonos sorok a tábla ezen attribútumhalmazán. Egy relációsémában több kulcs is előfordulhat, vagyis több attribútumhalmazt is ki tudunk jelölni kulcsként. Ha több kulcs is meghatározható a sémában, akkor kijelöljük az egyiket, amelyet elsődleges kulcsnak nevezünk. Ha egy attribútum alkotja kulcsot azt egyszerű kulcsnak, ha több attribútum alkotja a kulcsot, azt összetett kulcsnak nevezzük.

Azokat az attribútumokat, amelyek egy másik sémának az elsődleges kulcsára hivatkoznak külső kulcsnak nevezzük.

A relációsémához hozzátartoznak a kulcsfeltétel és a külső kulcsfeltétel is.

Példa

Tegyük fel, hogy egy órarend adatbázisában az alábbi relációséma szerepel (és nincsenek csoportbontások az osztályon belül):

Órák(tantárgy, osztály, tanár, nap, kezd, vége)

Határozzuk meg ebben a relációsémában a kulcsokat:

  • {tantárgy, osztály, nap, kezd} szuperkulcs, de nem kulcs,
  • {tantárgy, osztály, nap, vége} szuperkulcs, de nem kulcs,
  • {osztály, tanár, nap, kezd} szuperkulcs, de nem kulcs,
  • {osztály, tanár, nap, vége} szuperkulcs, de nem kulcs,
  • {tanár, nap, kezd} szuperkulcs és kulcs,
  • {tanár, nap, vége} szuperkulcs és kulcs,
  • {osztály, nap, kezd} szuperkulcs és kulcs,
  • {osztály, nap, vége} szuperkulcs és kulcs.