1.1 Adatbázis-kezelők nyelvi elemei
1.2 A file-kezelő
Az adatbáziskezelő rendszerek nagyon magas szintű nyelvek, de voltaképpen filekezelést végeznek. Az
adatbázist alkotó fele-okban lévő adatok fizikailag pontosan úgy vannak tárolva mint minden más esetben:
bináris jegyek kombinációjaként. Az adatbázisok létrehozásakor mi a logikai szerkezetet (az adatbázis sémáját)
adjuk meg, az adatbáziskezelő rendszer fordítja ezt le, készíti el a "fizikai" file-okat, és kialakítja a logikai
kapcsolatoknak megfelelő fizikai kapcsolatokat az adatok között.
Ezeket a feladatokat a file-kezelő (fele-manager) végzi ami az DBMS fő része. Ez vezérli a file-ok létrehozását,
a rekordok "beszúrását" (felvitelét) a törléseket; a módosításokat. A fele-kezelő tartja nyilván az adatok (fizika
helyét, a köztük lévő kapcsolatokat, stb. Erre a célra a file-kezelő mélyén elhelyezkedő adatszótár (Data
Dictionary) szolgál.
1.3 A lekérdező nyelv
A lekérdező nyelv egy interaktív eszköz, amelynek segítségével dialógus folytathatunk a rendszerrel. Ilyen
például az SQL-nyelv. Az ilyen nyelveknek az a lényege, hogy nagyon könnyen felírhatók bennük "ad-hoc"
kérdések, amelyekre rendszer azonnali választ ad. (lásd az SQL SELECT parancsát).
Az adatbáziskezelő rendszereknek, mint nyelveknek két fajtája van: a. egyik az ún. beépülő típusú, befogadó
típusú (host-típusú), amelyik voltaképpen nem is igazi programnyelv, hiszen csak egy másik valódi program
nyelvvel (COBOL, PL1, PASCAL stb.) együtt használható fel alkalmazó: programok írására, alkalmazói
rendszerek felépítésére. Ilyen az SQL nyelv is. A másik típus valóságos programozási nyelv. Ezeknél ahhoz,
hogy alkalmazói rendszereket készítsünk az adatbázis felhasználására, nem kell más programnyelvet
bekapcsolni. Erre példa a dBase (III, IV, V) vagy a Clipper nyelv.
1.4 Segédfeladatok az adatbáziskezelőkben
Az adatbáziskezelő rendszerek a fő funkciókon kívül több "segédfeladatot" is ellátnak. Ezek közül kiemeljük a
következőket.
Adatvédelem, adatbiztonság. Nem minden felhasználónak van joga az adatbázis minden adatához hozzáférni.
Amikor a felhasználó programján keresztül az adatbázishoz fordul egy jelszóval kell azonosítani magát. Ezt az
adatbáziskezelő rendszer értékeli, és csak azokhoz az adatokhoz engedi hozzáférni, amelyekhez annak
jogosultsága van. Az adatok védelme nagy adatbázisoknál rendkívül fontos dolog, hiszen az adatbázis
tönkretétele nagyon nagy károkat okozhat (gondoljunk egy óriási bank adatbázisára). Az adatok védelmének
szoftver eszközökkel történő biztosítása programozói szemszögbál nézve igen érdekes, de nagyon nehéz
feladat.
Az integritási feltételek teljesülésének figyelése. Az adatbázis adataival kapcsolatban gyakran meg lehet
fogalmazni olyan feltételeket; amelyek ellenőrzésével az adatbázis létrehozásakor kiszűrhetők azok az input
adatok, amelyek nem az adott adatbázisba valók (hibásak). Az adatbázis belső szerkezete is hordozhat olyan
információkat, amelyek meghatározzák, hogy új adatok bevitele esetén ezek illeszkednek-e az adatbázishoz.
Például kiköthetjük, hogy a dátum nevű adattétel nem vehet fel az 1900-as évek előtti dátumot, vagy
előfordulhat, a rendszer olyan, hogy két adat megegyezése valahol az adatbázisban maga után hozza másik két
adat megegyezését. Az ilyen típusú információkat integritási feltételeknek nevezzük. Az adatbáziskezelő
feladata ezen integritási feltételek teljesülésének vizsgálata is.
Szinkronizáció. Különösen hálózatban-üzemelő nagy adatbázisoknál, egyidejűleg nagyon sok felhasználó
fordulhat esetleg ugyanazon adathoz. Ráadásul úgy, hogy egyik éppen módosítani akarja, a másik pedig
lekérdezni. Ezeknek az ún. holtpont helyzeteknek a megoldása nagyon nehéz feladat.
1.5 Adatbázis statisztikák
Mivel az adatbáziskezelő rendszerekben az adatokhoz való hozzáférés a központi szoftver vezérlése alatt megy
végbe, ezért az ilyen rendszerek minden, az adatokkal kapcsolatos műveletről feljegyzést vezetnek, mindent
naplóznak. Ezeknek az adatoknak a felhasználásával azokhoz a műveletfajtákhoz, amelyek gyakran szerepelnek
különféle gyorsításokat (pl. indexelés) hajthat végre a rendszer.
1.6 Az adatbázis adminisztrátor
Az adatok központosítása lehetővé teszi, hogy egy személy az un. adatbázis adminisztrátor (ABA) (nagy
adatbázisok esetén ez több személy is lehet) feleljen a teljes adatszervezésért, a biztonságért, az egész
rendszerért.
Az ABA adja ki a különféle jelszókat, engedélyez hozzáféréseket, módosításokat. Mivel minden releváns
információ "egy fejben" van, így könynyebb biztosítani az adatbázis konzisztenciáját és integritását. Az
adatbázis adminisztrátort speciális szoftverek segíthetik.
1.7 A 4GL-ek
A 4GL-ek (Fourth Generation Languages = Negyedik Generációs Nyelvek) adatbáziskezelő rendszerek,
amelyekkel nagyon kényelmesen, gyorsan :rhatók fel adatbázis-alkalmazások, rendszerfejlesztések.
Nincs mindenki által elfogadott definíció arra, hogy pontosan mit tekinünk 4GL-nek. Mindenesetre fóbb
paraméterekként a következők sorolhatók :el.
A 4GL segítségével képernyőn könnyen és gyorsan tervezhető meg az input és a módosítás. A felhasználónak
nincsen más dolga, mint a képernyőn megjelenő képen (ábrán) kitölteni a mezőket. Bizonyos mezők letilthatók,
vagyis ezekbe nem lehet beírni. Több adatbázis-táblán egyszerre is végrehajthatók a képernyőn keresztül
bevitelek, módosítások.
A másik fontos tulajdonsága a 4GL-eknek, hogy rendelkeznek olyan, az output megvalósítására szolgáló
eszközzel, amelyekkel jól formázott, sablonokból előállítható listák írhatók ki (akár több adatbázis táblából is)
anélkül, hogy programot kellene írnunk. Ez azt jelenti, hogy szabványos kiírási képeket definiálhatunk, azt
könyvtárba foglaljuk és szükség szerint építjük bele "grafikusan" a különféle felhasználói programokba.
A 4GL-tulajdonságú adatbáziskezelő rendszerekben nem csak az input, output támaszkodhat képernyőelemekre,
hanem más felhasználói műveletek is (Pl. keresés, módosítás, stb. az adatbázisban). Azt szokták mondani, hogy
4GL esetén vagy 4GL tulajdonságú adatbáziskezelő alkalmazásakor csak azt kell megmondani, mivel mit
akarunk elvégezni, de azt nem, hogy hogyan, tehát az eljárásnak, a procedúrának nincs szerepe, azaz a nyelv
nem eljárásorientált.
A 4GL jellemzője az is, hogy az előbbiekben említett "képi" megoldásokkor a 4GL programkódokat is generál,
amiket a programozó módosíthat, átírhat.
1.8 Integrált CASE eszközök
A korszerű, relációs modellre támaszkodó adatbáziskezelő rendszerek közül sokban megtalálható a CASE
csomag (CASE = Computer Aided Softver Engineering = Számítógéppel támogatott szoftver technológia) A
CASE többek között lehetővé teszi az adatbázistervező számára az un. egyed-tulajdonság diagramok interaktív
felrajzolását, az adatbázisséma létrehozását, módosítását. A CASE-zel automatikusan generáltatók a tényleges
táblák, relációk, (lásd később) és elvégezhetők bizonyos normalizálási teendők is (lásd később)
1.9 Az ANSI/SPARC modell
A 70-es években az adatfeldolgozásban nagyon elterjedt az adatbázis szemlélet, és számos adatbáziskezelő
rendszer jött létre. Abból a célból, bizonyos szabványosítást lehessen elvégezni a fogalmak és a terminológiák
tekintetében, az ANSI/X3/SPARC bizottság elkészített egy ANSI/SPARC modellt.
A belső nézet a tárolt, fizikai adatbázist jelenti.
A belső koncepcionális leképezés a belső nézet a koncepcionális sémát, az un. logikai sémáját hozza létre
A külső koncepcionális leképezés a logikai sémákból külső nézeteket hoz létre.
A felhasználók az alkalmazások használatán keresztül általában csak a külső nézetekkel találkoznak.
Az adatbázisok tervezésénél a logikai séma megalkotása a legfontosabb
1.10 Logikai, fizikai szerkezet
Az adatbáziskezelésben (általában az adatkezelésben) a logikai jelző azt jelenti, hogy felhasználó-orientált, azaz
a felhasználó számára érthető. Például egy adatbázis tervezésénél logikai szerkezetben írjuk le a dolgokat,
amikor a valóságos világ objektumait képezzük le adatmodellé.
A fizikai jelző azt fejezi ki, hogy az adatok szerkezete "gépközeli" azaz a memóriában való tárolás, a file-
kezelés szempontjából tekintjük az adatok szerkezetét, úgy ahogy a rendszerprogramozó "látja" amikor az
adatbáziskezelő fordítóprogramjait írja.
1.11 A programok és az adatok függetlensége
Ez az adatbázisok fontos tulajdonsága. A program és az adatok függetlenségén azt értjük, hogy kis módosítások
az adatbázis struktúráján megtehetők anélkül, hogy az alkalmazói programot módosítani kellene. Természetesen
teljes függetlenség nem valósítható meg, de minél nagyobb ez a függetlenség, annál jobb a rendszer.
1.12 Az adatbázis életciklusa
A felhasználó számára kész termékként átadható, üzemeltethető adatbázisok (a kezelő-programokkal együtt)
többlépcsős folyamaton keresztül jönnek létre nagyjából egy adott séma szerint.
1.13 Objektum-orientált adatbázisok
Az adatbázisok egy új generációját jelentik az objektum-orientált adatbázisok (illetve adatbáziskezelők). Ez a
filozófia abban tér el az eddigiektől, hogy integrálja az adatkezelés és az adatdefiniálás mechanizmusát. Ez a
gyakorlatban azt jelenti, hogy az adattáblák definiálásakor nem csak a mezők típusát, és méretét definiáljuk,
hanem az mező validálási információit, formátum információit, kezdőértékét, indexelését stb... Ilyen módon az
adatbázis kezelése során nem kell plusz eljárásokat írni azadatbevitel és megjelenítés minde esetét tekintve,
hanem ha egy adatot beviszünk vagy megjelenítünk, akkor a rendszer önmagától képes a megfelelő vizsgálatokra
és formátumok alkalmazására. (Nagyon szépen látdszik ez a fajta gondolkodás a Microsoft Access
tábladefiniálásakor)
Magában az adatbázistervezésben az objektum-orientált szemlélet nem jelent lényeges eltérést az
egyedkapcsolat modellhez képest, a korszerű adatbáziskezelő rendszerek (pl. a 4GL-ek) viszont teljességgel követik
az objektum-orientált nyelvek filozófiáját.
2.1 Az egyed fogalma
Egyednek hívunk minden olyan dolgot (objektumot), ami minden más objektumtól megkülönböztethető és
amiről adatokat tároltunk.
Az egyed konkrét dolgok absztrakciója, konkrét dolgokat fog egybe. Például az autó mint egyed sok autót jelent.
Egy adott egyed által képviselt konkrét elemek halmazát egyedhalmaznak is szoktuk nevezni. Például a
dolgozó nevű egyed egyedhalmaza az összes dolgozókból áll, a személy egyedhalmaz az összes személyt
tartalmazza, az érzelem egyedhalmaz az összes érzelem.
Az egyed egy konkrét értékét az egyed egy előfordulásának nevezzük, de az előfordulás
helyett mondhatunk egyedértéket is.
Megjegyzés.
A szerzők egy része egyed helyett egyedtípust mond. Ebben a felfogásban az egyednek két
szintjét különböztetjük meg: az első szint (az egyedtípus) az absztrakciós szint, a második
pedig az előfordulás szint.
2.2 A rekordtípus
Az adatbáziskezelő rendszerekben (elsősorban a hálós, hierarchikus modelleken alapulókban)
az egyedtípust rekordtípusnak hívjuk. Ez a legkisebb címezhető egység (ennél kisebb részeire
nem lehet hivatkozni az adatbázisnak).
2.3 A tulajdonság fogalma, Azonosítók
Az egyedeket tulajdonságokkal (attribútumokkal) írjuk le, a tulajdonság az egyed egy jellemzője, ami megadja,
meghatározza az egyed e részletét. A tulajdonság is absztrakció, amely több elemet foglal magába, tehát
konkrést előfordulásokból áll.
A tulajdonságok lehetnek:
2.4 Kulcs
A menniyben a tulajdonságok vagy a tulajdonságok egy csoportja egyértelműen meghatározza, hogy az egyed
melyik értékéről, előfordulásáról van szó, akkor ezeket kulcsoknak nevezzük.
2.5 Többértékű vagy összetett tulajdonságok
Ha a tulajdonságok olyanok, hogy több értékkel rendelkeznek, akkor összetett vagy többértékű tulajdonságnak
hívjuk.
2.6 A kapcsolat fogalma
Kapcsolatnak nevezzük az egyedek közötti viszonyt. A kapcsolat mindig valóságos objektumok közötti viszonyt
fejez ki, hiszen az egyed ilyen objektumokat képvisel;
A kapcsolat is absztrakció: két egyed értékei közötti konkrét viszonyokat fejez ki. A konkrét kapcsolatokat a
kapcsolat értékeinek (előfordulásainak) nevezzük.
A kapcsolódó egyedek között általában nem egyenrangú a viszony, hanem lehet egyfajta irányításról beszélni. A
kapcsolat meghatározója a tulajdonos (owner) és a kapcsolat másik oldalán lévő egyed vagy egyedek a tagok
(member).
Az egyedek közötti kapcsolat lehet kötelező, félig kötelező, opcionális. Kötelező kapcsolatról beszélünk, ha
Az adatmodell időfüggvényének szerepe az adatmodell kialakításában.
Az archiválás problémaköre (inaktív egyed-előfordulások).
2.7 A kapcsolat fokai
Kapcsolat egyidejűleg több egyed között is lehet. Ha a kapcsolat n egyedet "köt össze" akkor n-edfokúnak
nevezzük.
A leggyakoribb a bináris (másodfokú) kapcsolat, amikor is két egyed között van viszony.
Speciális bináris kapcsolat a rekurzív bináris kapcsolat. Ilyenről van szó akkor, ha az egyeden belül az
előfordulások vannak kapcsolatban. Pl.: a dolgozó egyedben benne vannak a vezetők is (általában ők is
dolgozók), de a többi dolgozóval speciális kapcsolátban vannak: vezetői-beosztotti kapcsolatban.
Gyakoriak a valóságos világ objektumai között a harmadfokú (angolul ternary) kapcsolatok, vagyis olyanok
amikor három egyed között van viszony.
2.8 A kapcsolatok fajtái
Egy kapcsolat voltaképpen az egyedhalmazok elemei közötti viszonyt fejezi attól függően, hogy az egyedhalmaz
elemei milyen módon kapcsolódik egymáshoz, azaz egy adott egyed egy előfordulásához hány előfordulás
kapcsolódik a másik egyedből három esetet különböztetünk meg
2.9 A kardinalitás
Az egyedek a kapcsolat szempontjából az un. kardinalitási számmal is jellemezhetők. Az egyed krdinalitási
száma a kapcsolatban azt adja meg, hogy egy egyed egy előfordulásához a másik egyedből maximálisan hány
előfordulás kapcsolódhat, azaz az N:M kapcsolatban a kardinalitási szám : max. (N), max. (M).
2.10 A belső szerkezete, belső tulajdonságai
Egy adatmodellben valamennyi egyedet egyenként véges számú tulajdonsággal írunk le. Ezek a tulajdonságok
együttesen alkotják az egyed belső szerkezetét, és az egyed belső tulajdonságainak hívjuk.
2.11 Az egyed külső tulajdonságai
Az egyedek kapcsolatainak összességét külső tulajdonságoknak hívjuk
2.12 A settipus fogalma
Az adatbáziskezelő rendszerekben (elsősorban a hálós és hierarchikus modellen alapulókban) két egyedtípust
(agyaz rekordtípust) a köztük lévő kapcsolattal együtt settipusnak nevezzük. Ezt névvel látjuk el; így a
feldolgozás során hivatkozni lehet rá (a rekordtípushoz képest eggyel magasabban címezhető egység).
A settipusban a kapcsolatnak mindig "irányt" is adunk, rajzban ezt nyíllal fejeszük ki. Az egyik rekordtípust
(a.miből a nyíl vezet) tulajdonosnak (owner) a másikat (amibe a nyíl vejet) taginak (member) nevezzük. (1.14
ábra)
2.13 A kapcsolatok ábrázolásának különféle módjai
A kapcsolatok ábrázolására több módszer terjedt el.
2.14 Egyed-szupertípus, egyed-altípus
Amennyiben több egyedtípus ugyanazon tulajdonságtípusokkal rendelkezik, úgy ezek az egyedtípusok egy
magasabb szintű egyedtípusba vonhatók össze. Ezt az absztrakciót generalizálásnak nevezzük.
Azt az egyedtípust amit több egyedtípusból generalizálunk egyed-szupertípusnak, az öt alkotó egyedtípusokat
pedig egyed-altípusoknak nevezzük.
Az egyed-szupertípust más szemszögből is nézhetjük; azt mondhatjuk, az egyed-altípusok az egyed-
szupertípus specializációi.
Egy egyed-szupertípus egy kapcsolatban, lehet egyed-altípus egy másik kapcsolatban. Ha az egyed-szupertípus
és az egyed-altípus kapcsolatok egy struktúrát hoznak létre, akkor ezt generalizációs hierarchiának nevezzük.
Az egyed-altípusokat két csoportra sorolhatjuk. Ezek lehetnek ugyanis diszjunktak, vagyis olyanok, amelyeknek
nincsen közös elemük. A generalizációnál azt mondhatjuk, hogy a tulajdonságokat az egyed-altípusok öröklik az
egyed-szupertíustól.
2.15 Aggregáció
Az aggregáció egy másik absztrakció az egyed-szupertípus és az egyedaltípus között. Az aggregáció esetén az
altípus része az egyed szupertípusnak. Pl. egy szoftverterméknek része a program és a felhasználói kézikönyv.
Az aggregációnál a tulajdonságok nem öröklődnek, mindegyik egyednek saját tulajdonságai vannak.
Az előbbiekben megismert elemekből többféle adatmodell hozható létre.
3.1 Az adatmodell fogalma
Az adatmodell egyszerű, tulajdonságok és kapcsolatok halmaza, amely absztrakt módon tükrözi a valós
objektumoknak, szak jellemzőinek (tulajdonságainak) és viszonyainak (kapcsolatainak) elvont kategóriáit.
Az adatmodell egy olyan séma, amelyben megadjuk milyen tulajdonságok határozzák meg az egyedeket, milyen
egyedek szerepelnek a sémában, és ezek között milyen kapcsolatok vannak. Az adatbázisokat különféle
adatmodell szerint építhetjük fel. Az adatmodell meghatározza az adatbázis szerkezetét, sémáját. Az adatmodell,
adatbázismodell szavak ugyanazt jelentik.
Az egyedet, a tulajdonságot és a kapcsolatot adatmodell-elemeknek nevezzük. Attól függően, hogy ezekből
milyen módon hozzuk létre az adatmodell szerkezetét, különféle adatmodelleket kapunk. Három adatmodell
terjedt el az elmúlt 30 év alatt.
Az első két modellről (a hierarchikusról és a hálósról) úgy látszott, hogy velük sikerült véglegesen "megfogni"
az adatfeldolgozást. A harmadikról (a `relációsról) sokan azt hittük, hogy zsákutca. A nyolcvanas évek elejére
kiderült, hogy az utóbbi jóslat tévedés volt; ma már a relációs modell szinte egyeduralkodóvá vált.
Az, hogy milyen modellre alapozva végezzük az adatfeldolgozást, az adatbázis megszerkesztését meghatározza
az adatbáziskezelő rendszert, a nyelvet is. Minden egyes modellre számos nyelvet dolgoztak ki.
3.2 A hálós adatmodell
A "történelem" folyamán nem ez volt időben az első adatmodell, de mivel úgy tekinthető, mint a hierarchikus
általánosítása (azaz a hierarchikus ennek speciális esete), ezért a hálós adatmodell ismertetésével kezdjük.
A hálós adatmodell szerkezetét gráffal adjuk meg. Ebben a gráfban a csomópontok az egyedek, az élek pédig a
kapcsolatot fejezik ki. Az egyedeket tulajdonságaikkal írjuk le.
A hálós adatmodell adatbázisaiban az egyedek (tehát az előfordulásaik) közötti kapcsolatot listaszerkezettel
(pointerek, mutatók használatával) adják meg.
3.3 A hierarchikus adatmodell
A hierarchikus adatmodell szerkezetét specilis gráffal adjuk meg, fával.
A csomópontok itt is egyedeket jelentenek és a nyilak a kapcsolatokat fejezik ki.
A hierarchikus adatmodellre épülő adatbázisok kezelésére számos adatbáziskezelő rendszert dolgoztak ki.
3.4 A relációs adatmodell
A relációs adatmodell más filozófiára épül, mint az előbbi kettő. Ennél az adatmodellnél a három
adatmodellelem közül a kapcsolat nem játszik szerepet, pontosabban szólva a kapcsolat nem, csak a lehetőség
épül be az adatmodellbe. A relációs adatmodellnél a tulajdonságok kapják a fő hangsúlyt, a tulajdonságokkal
definiáljuk az adatmodell szerkezetét.
Az olvasó bizonyára észrevette, hogy az előbbi két modellben a gráffal történő leírásban éppen a tulajdonságok
nem szerepeltek, ezeket külön adtuk meg.
A relációs adatmodellben az egyedet egy táblázattal adjuk meg, a táblát oszlopai a tulajdonságok. A táblázat
sorai az egyed értékei (vagyis a táblázat maga éppen az egyedhalmaz). A táblázat egy-egy sorát a tulajdonságok
konkrét értékei adják.
A relációs adatmodellben létrehozott adatbázisokat több táblázattal adjuk meg (ne felejtsük el, minden tábla egy
egyedhalmaz), de a táblázatok (tehát az egyedek) közötti kapcsolatokat nem definiáljuk az adatmodell felírásakor.
Ez nem azt jelenti, hogy nincsen közöttük kapcsolat, de ezeket a kapcsolatokat például egyszerűen az fejezi
ki, hogy két táblának van közös oszlopa (mindkét táblában szerepel ugyanaz a tulajdonság).
Miért hívják ezt a modellt relációsnak?
3.5 Reláció definíciója
Legyenek D1, D2,...Dn adott halmazok. E halmazok Descartes szorzatán azt a D halmazt értjük, amelyeknek az
elemei a (v1,v2,...,vn) érték n-esek, amelyekben v1 elme D1-nek, v2 eleme D2, nek stb... Azaz minden
halmazból kiveszünk pontosan egy elemet és a megadott sorrendben egymás után írjuk. Az így kapott
elemsorozat lesz a szorzathalmaz egy eleme.
A Descartes szorzat egy R részhalmazát relációnak nevezzük. A D,, D~,..., D„ halmazokat a
reláció tartományainak (domain), a reláció egy elemét n-esnek (elem n-esnek, angolul taple-nak)
nevezzük. Az R reláció elemeit gyakran rekordoknak hívjuk.
A továbbiakban az adatbázis egy "oszlopát" attribútumnak nevezzük. Úgy is fogalmazhatunk, hogy az
attribútum egy változó, ami az oszlopba írt értékeket "veszi fel" a tartományban szereplő értékek közül, azaz a
tartományt az adott attribútum értékkészletének tekinthetjük.
Jelöljük a továbbiakban az attribútumokat az A1,A2,..., An indexes nagybetűkkel, ezeket együtt (vagyis az
attribútumok halmazát) A-val, azaz A = { A1,,A2~,..., An} .
Megadtuk tehát a relációs adatmodell két definícióját. Az egyik definíció szerint a relációs adatbázis
táblázatokból áll, a táblázatokat az oszlopok definiálják. A másik definíció szerint a relációs adatbázis
relációkból áll.
Az olvasó bizonyára észrevette, hogy voltaképpen elnevezésbeli különbségről van szó. A továbbiakban vegyesen
használjuk a táblázat ill. reláció elnevezést.
Az attribútumok számát (az oszlopok számát) az R reláció fokának, a sorok számát pedig a reláció
számosságának nevezzük. Ahelyett, hogy n-ed fokú, gyakran mondjuk, hogy n változós.
A relációs adatbázist röviden jelölni, a következő módon lehet:
R ( A1,A 2,..., An).
alakban tesszük, ahol R a reláció neve, Ai pedig egy attribútum.
A továbbiakban a reláció nevét és az attribútumokat nagybetűkkel jelöljük.
Az R (A2,A2,..., An) alakot a reláció sémájának nevezzük.
Gyakran attribútum helyett egyszerűen oszlopnevet mondunk sőt még egyszerűbben azt mondjuk, hogy a reláció
oszlopokból áll. (pl. az SQL nyelvben) Több adatbáziskezelő rendszerben mezőnek nevezzük az attribútumot, és
a mező értékeiről beszélünk (pl. dBASE IIL, IV.)
3.6 Reláció, tábla, adatbázis
Az előbbiekben egy táblát (relációt) adatbázisnak neveztünk. A relációs adatbázisok általában nem egyetlen
relációból, táblából állnak, hanem több tábla alkot egy adatbázist. Azt, hogy egy adatbázist hány táblára
bontunk szét, vagy hány táblát fogunk össze egy adatbázisba, már az adatbázis megtervezésekor eldöntjük. A
táblákra bontásnál az attribútumok közötti kapcsolat jelentősen befolyásolja, hogy mely oszlopok kerülnek egy
táblába.
Egy adatbázis nem egymástól független. táblák halmaza, hiszen így semmit sem érnénk velük. A relációs
adatbázisokban a különböző táblákat közös attribútumokkal (oszlopokkal) kötjük össze. Az ilyen oszlopokat
kulcsoszlopoknak, (kulcsmezőknek) is szoktuk nevezni.
3.7 Egyedtípus és reláció kapcsolata
Valójában minden egyedtípus egy relációnak felel meg. Ezzel vége is van a hálós (hierarchikus) illetve a relációs
adatmodell közötti kapcsolatnak.
Miben áll a különbség ettől a ponttól kezdve?
Abban, hogy amíg a hálós (hierarchikus) modellben az egyedtípusok közötti kapcsolatot is megadjuk, azaz két
egyedből egy settípust hozunk létre és listaszerkezettel valósítjuk meg az előfordulások kapcsolatait, vagyis
pontosan megmondjuk, hogy a tulajdonos egyedtípus mindegyik előfordulásához a tag egyedtípus melyik
előfordulása tartozik addig a relációs modellben nem rögzítjük a kapcsolatot. Természetesen, mint az előbbi
pontban láttuk a relációs adatbázis táblái között is van kapcsolat (azonos tartalmú oszlopokon keresztül) de az
egyik reláció soraihoz (rekordjaihoz) nem fűzzük hozzá a másik reláció sorait.
Ezt úgy is mondhatjuk, hogy a hálós adatmodellben az egyedek előfordulásai között statikus kapcsolat van,
amit az ezekkel dolgozó adatbáziskezelő rendszerek ki is használnak, addig a relációk között ez a kapcsolat
nem statikus hanem dinamikus.
Egy szintet vissza, vagy
vissza a főmenübe.