Skip navigation

Relációs adatmodell

Halmazelméleti alapfogalmak

Halmaz: azonos tulajdonságú elemek összessége. A halmazokat kapcsos zárójellel jelöljük, például A = {a1, a2, a3, ..., an}.

Halmazok uniója: Az A és B halmaz unóját az A ∪ B unióképzésben szereplő halmazok elemeinek összessége (ismétlődés nélkül). 
Például a PÁROS6 = {2, 4, 6} és PRÍM6 = {2, 3, 5} halmazok uniója PÁROS_VAGY_PRÍM = {2, 3, 4, 5, 6}.

Halmazok metszete: Az A és B halmaz metszetét az A ∩ B műveletben szereplő halmazok azonos tulajdonságú elemei alkotják ismétlődés nélkül. 
Például a PÁROS6 = {2, 4, 6} és PRÍM6 = {2, 3, 5} halmazok metszete PÁROS_ÉS_PRÍM = {2}.

Halmazok különbsége: Az A és B halmaz különbségét azon elemek alkotják, amelyek az A \ B művelet baloldalán lévő halmazban (A) benne vannak, de a jobboldaliban (B) nincsenek.
Például a PÁROS6 = {2, 4, 6} és PRÍM6 = {2, 3, 5} halmazok különbsége PÁROS_DE_NEM_PRÍM = {4, 6}.

Halmazok Descartes-szorzata: Az A és B halmaz Descart-szorzatában olyan (a,b) elempárok találhatóak, amelyben az a pár egyik tagja az A halmazból, másik tagja a B halmazból származik. Az A és B halmaz Descartes-szorzatát az A×B jelöléssel jelöljük. Az A×B halmaz elemeit olyan elempárok alkotják, ahol az A halmaz minden elemét a B halmaz minden elemével párosítjuk.
Például az OKTATÓ = {Kiss Tamás, Nagy Abigél} és KURZUS = {Adatbázisok, Operációs rendszerek} halmazok Descartes-szorzata a következő párokat tartalmazza {(Kiss Tamás, Adatbázisok), (Kiss Tamás, Operációs rendszerek), (Nagy Abigél, Adatbázisok), (Nagy Abigél, Operációs rendszerek)}.

Relációsémák és kulcsok

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 bármely R(A1,...,An) séma felett definiált 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  valamely R(A1,...,An) séma felett definiált tábla ezen attribútumhalmazán. Egy relációsémában több kulcs is előfordulhat, vagyis lehetséges, hogy több attribútumhalmaz is alkalmas arra, hogy értékeivel egyértelmű módon megkülönböztessen minden egyedpéldányt. 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átartozik 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.