Relációs adatbáziskezelés

Alapfogalmak

A reláció nem más, mint egy kétdimenziós tábla, amelynek csak elemi elemei lehetnek. Ennek a táblázatnak az oszlopai felelnek meg az adott tábla által reprezentált jelenségek tulajdonságainak, míg sorai az egyes jelenségeket reprezentálják. A reláció angol neve relation, míg a táblák közötti kapcsolat angol neve a relationship. Részletek itt.

Történeti kitekintés

Tárgyi feltételek híján, vagy azok nagyon szegényes volta esetén mindenképpen az elmélet lesz az elsődleges - nincs más lehetőség. Ugyanezért lesz (volt) igen fontos a minél gondosabb tervezés, hiszen az erőforrások igen szűkös volta a legkisebb pazarlást sem tette lehetővé. Nem véletlen tehát, hogy Codd ennyire megalapozott, ennyire részletekbe menő módon dolgozta ki az adatbáziskezelés relációs elméletét, és ugyancsak nem véletlen, hogy az adatmodellezés területén is igen korán elvégezték a máig ható alapozást - Chen már említett tanulmánya az egyed-kapcsolat (E/R) modellről 1976 márciusában jelent meg. Míg azonban az adatbáziskezelők működési elve - relációs alapokon - kidolgozható, sőt kidolgozandó tisztán elméleti alapokon, matematikai és logikai megfontolások alapján, addig a hétköznapi értelemben vett és a hétköznapi igényeknek megfelelő adatmodellezés már sokkal kevésbé.

Botrányos, hogy a tisztán halmazelméleti, ill. relációs algebrai alapokon nyugvó relációs adatbáziskezelés negyven év alatt a mai napig nincs elméletileg teljes értékű módon szabványosítva, és a nincs elméletileg teljes értékű relációs kezelő. A megvalósított, beépített elemek formális követelményei (szintaktika) a legtöbbször nem egységesek. Ugyanakkor a különféle relációs kezelők esetenként igen nagyszámú, a relációs kezelés szempontjából nem létfontosságú, technikai (kényelmi) szolgáltatással felvértezettek. Ezen tarthatatlan helyzetre egyetlen logikus magyarázat kínálkozik: az üzleti szempontok, ezen belül is a profitmaximalizálás túlzott térnyerése. Részletek itt.

A kezelők fejlődése és sajátosságai

Megfigyelhető tehát egyrészt egy olyan fejlődési folyamat, amely a növekedő igények (mennyiség és teljesítmény vonatkozásában) kiszolgálását célozza, ugyanakkor, mintegy ezt ellensúlyozandó, olykor a legalapvetőbb elemek is hiányoznak vagy elégtelenek, mint pl. a kapcsolatok kezelése (elsődleges kulcs és idegen kulcs kapcsolat), különféle korlátok érvényesítésének lehetősége stb. Részletek itt.

Szabványok

A szabványok létét sokan hajlamosak az önálló alkotó személyiség többé-kevésbé értelmetlen és fölösleges korlátaiként fölfogni. Nem állíthatom azt, hogy ezen fölfogásban esetleg nincs valamelyes igazság. Azonban a szabványok léte és szerepe messze túlmutat ezen a problémán, és ha az igazi programozó szemléleti síkja fölé tudunk egy kicsit emelkedni, akkor belátható, hogy az együttműködés, az együtt-dolgozás, a közös (informatikai) lét alapjairól van szó, amely minden résztvevő közös érdekét szolgálja, a közlekedés szabályaihoz hasonlóan. Részletek itt.

Matematikai alapok

Codd halmazelméleti, relációs algebrai alapokra helyezte az adatbáziskezelés elméletét egy történelmi pillanatban. Nagy előnye, hogy aránylag egyszerű és problémamentes, „letisztult” matematikai alapozást jelent.

Úgy is mondhatjuk, hogy a reláció nem más, mint egy kétdimenziós tábla (táblázat), melynek csak elemi értékei lehetnek. Részletek itt.

SQL

Az SQL definitív nyelv, azaz nem hasonlít olyan hagyományos programnyelvekre, mint pl. a Pascal vagy a C vagy a COBOL (vagy mint a FORTRAN).

Négy fő részre oszlik: DDL, DML, DQL, DCL. Ezek rendre a Data Definition Language (adatdefiníciós nyelv), a Data Manipulation Language (adatmanipulációs nyelv), a Data Query Language (adatlekérdező nyelv) és a Data Control Language (adatvezérlő nyelv) kifejezések rövidítései. Részletek itt.

Gazdanyelvi környezet

A legtöbb esetben az SQL-t nem önmagában, az SQL értelmező parancssorából használjuk. Általában valamilyen alkalmazás részeként szükséges adatbázist felhasználni az elérni kívánt célhoz, és így valamilyen programnyelven keresztül lehet/kell elérni az adott adatbáziskezelő SQL értelmezőjét. Talán leggyakoribb példája ennek napjainkban azok a webes alkalmazások, ahol a háttérben valamilyen adatbázisra is szükség van. Leggyakoribb példák a különféle hírportálok, fórumok és világhálós áruházak. Gyakori összeállítás a Linux operációs rendszeren futó Apache webkiszolgáló, MySQL adatbáziskezelővel és PHP programnyelvi eszközökkel társítva. Részletek itt.

Hiányzó adatok esete

Egy adatbázisból kétféle módon hiányozhat ismeret. Vagy egész sor hiányzik egy táblából, azaz egy (vagy több) egyedelőfordulás nem szerepel, holott annak szerepelnie kellene. Ez az eset kívül esik a relációs elvű kezelés határain, modellezési-tervezési vagy üzemeltetési hiba eredménye lehet. („Az egyetlen mód, hogy ne hiányozzon a névsorból: ő olvassa.”)

A másik eset, amikor a sor a „helyén van”, csak egyes adatelemei hiányoznak, nem kap értéket minden tulajdonsága, másképpen mondva vannak üres cellák a sorban. Ez az eset különféle problémákat vet föl, amelyeket valamilyen módon kezelni kell. Részletek itt.


Lásd még (a teljesség igénye nélkül):

 

Megjegyzés

Nincs, de még lehet :)

impresszum