Relációsadatbázis-kezelő rendszer alapszabályai
Egy kis emlékezetfrissítésként íme Codd 12 szabálya a relációsadatbázis- kezelő rendszerekkel kapcsolatban:
- Információs szabály: minden információ táblázatokban szereplő értékekkel van kifejezve. Hagyományosan nincsenek tömbök, vektorok vagy más összetett adattípusok.
- Garantált elérési szabály: minden adat logikailag elérhető a táblanév, az oszlopnév és az elsődleges kulcs értékének megadásával. A tábla minden sorában ugyanazokhoz az oszlopokhoz tartozó értékeket találunk, míg az értékek típusa oszloponként eltérhet. Mivel a soroknem különböztethetők meg egyértelműen, ezért szükség van legalábbegy olyan oszlopra, amely azonosíthatja a sorokat. Ezt az oszlopot elsődleges kulcsnak nevezik.
- Hiányzó információ szabálya: a nulla értékek megjelenítése független az adat típusától. Ez a három értékű logika jellemzi az SQL-t is. A legtöbb programnyelvben a logikai kifejezések értéke igaz vagy hamis lehet. Az SQL-ben megjelenhet a NULL érték, melyet akkor írunk, havalamilyen okból hiányzik az adat.
- Rendszerkatalógus szabálya: az adatbázis logikai leírása úgy áll rendelkezésre, hogy az arra jogosult felhasználó ugyanolyan módon kérdezheti le, mint az adatbázisban tárolt adatokat.
- Széleskörű nyelv szabálya: egy jól definiált szintaxissal ellátott, karaktersorozatokkal leírható, magasszintű relációs nyelv áll rendelkezésre, amelynek segítségével leírhatók a következők: adat és nézet definíciója, integritási feltételek, interaktív és programozható adatkezelés, tranzakció-kezdés, -érvényesítés és -elutasítás.
- Nézetmódosítás szabálya: a rendszer képes végrehajtani minden elméletileg lehetséges módosítást a nézeteken.
- Halmazszintű módosítás szabálya: a rendszer képes egész táblázatok együttes kezelésére.
- Fizikaiadatfüggetlenség szabálya: a felhasználó és alkalmazói programok tevékenysége független a fizikai adattárolásban vagy adatelérési módszerekben bekövetkező változásoktól.
- Logikaiadatfüggetlenség szabálya:a felhasználó és alkalmazói programok tevékenysége független az adatbázis táblázatainak logikai struktúrájában bekövetkező változásoktól, feltéve, hogy azok nem járnak információvesztéssel.
- Integritásfüggetlenségi szabály: az egyed- és hivatkozás integritási feltételek az 5. szabály által meghatározott relációs nyelv segítségével definiálhatók.
- Elosztásfüggetlenségi szabály: a felhasználó és alkalmazói programok tevékenysége független az adatok elhelyezésétől.
- Megkerülés-tiltási szabály: egy alacsonyabb szintű eljárás orientáltprogramnyelv használatával nem lehet megkerülni az integritási vagy biztonsági feltételeket.
Ami érdekes a 12 szabályban az, hogy van egy 13. is, amit 0. sorszámmal is szokás ellátni:
Ahhoz, hogy egy rendszer relációsnak, adatbázisnak, és kezelő rendszernek ( relational database management system - RDBMS) legyen nevezhető, elfogadható – a rendszernek a relációkkal foglalkozó adottságait (kizárólag) az adatbázis kezelésére kell használnia.
Különös, hogy elérhető az Amazon, Azure, Google végtelennek tűnő számítási és tárolási kapacitása, mégis gyakran a régi szabálynak megfelelő adatbázis jelenti az optimális megoldást.