3.2. Megszorítások

iDevice ikon

A megszorítás fogalma után a megszorítások csoportosítását ismerjük meg. Itt fogjuk megtanulni, hogy az adatbázisban hol és hogyan lehet gondoskodni bizonyos feltételek érvényre juttatásáról.

Az adatbázis kezelésének ellentmondásmentes ügyvitel szerint kell működniük, ezért az adatokra és az eseményekre vonatkozó szabályokat érvényesíteni kell az adatbázisban. Azért, hogy semmilyen adatkezelési esemény ne vezessen az adatok következetlenné válásához, az összes előírást és korlátozást be kell építeni az adatbázisba. A beépítésre került szabályt megszorításnak nevezzük.

A biztonságos adatbáziskezelés tehát a megszorításokkal körülvett adatbázis kezelését jelenti. A szabályok és adatfolyamatok együttesét üzleti logika fedőnéven is emlegetik.

Az SQL nyelv napjainkban már olyan lehetőségekkel rendelkezik, melyek segítségével programozás nélkül érvényesíthetjük az előírt szabályokat, vagyis megszorításokkal is bővíthetjük az adatbázist.

Idén a megszorításokat elegendő verbálisan - ugyanakkor logikailag helyesen -megfogalmazni; a köv. részben próbálkozhatunk mindezek SQL-beli megadásával.

A megszorítások logikai értékű függvények, amelyektől elvárjuk, hogy igazak legyenek. Az olyan módosításokat, amelyek a megszorításokat megsértik, a rendszer visszautasítja.

A megszorítások lényege a hivatkozási épség és az adatösszefüggések felügyelete minden adatkezelés alkalmával.

A hivatkozási épség megőrzése az egyedi kulcsok és külső kulcsok felállításával indul, de arról is gondoskodni kell, mi történjen a kulcsérték módosítása / törlése esetén a külső kulcs értékével. Ezen kívül a rejtett kapcsolatban álló táblák esetén is léteznek olyan hivatkozások, amiket nem lehet külső kulcs megadásával biztosítani.

Az adatösszefüggések közé tartoznak

  • az olyan egyszerű feltételek, mint adott mező nagyobb nullánál, vagy a mező nem lehet NULL értékű,
  • meg az olyan bonyolult feltételek is, mint adott mező kisebb, mint egy aktuális -, akár több táblából - számított érték.

 

Valójában már a mezők adattípusának meghatározásával korlátozásokat állítunk fel, de ezeket az alapvető szabályokat nem nevezzük megszorításoknak.

Az olyan egyszerű feltételek, amelyek egy tábla egy sorát érintik, könnyen beépíthető megszorítások. Ilyen esetben a táblába történő beszúrást ill. módosítást utasítja vissza a rendszer, ha a megszorítás nem érvényes.

Az olyan megszorítások, amelyek több sort vagy több táblát érintenek, a szó igazi értelmében összetettek. Ezek beépítése egy táblába helytelen, ui. csak ebbe a táblába való felvitel / módosítás váltja ki a megszorítás ellenőrzését. Ha ilyen megszorítást egyszerűen csak abba az egy táblába építenénk be, melynek valamely mezőjére fogalmaztuk meg, akkor a feltételben érintett másik sor vagy másik tábla sorának esetleges törlése esetén a feltétel elromolhat. Tehát önálló megszorításként érdemes megadni, ha azt szeretnénk, hogy az összes érintett táblában történő karbantartás esetén érvényben maradjon.

A megszorításokat a következő sorrendben célszerű felállítani:

  • kulcsok megadása
  • tulajdonság-értékekre vonatkozó korlátozások
  • önálló megszorítások