Professional Documents
Culture Documents
Adatbazis Kezeles Tananyag
Adatbazis Kezeles Tananyag
A táblázatkezelő használata után már van fogalmunk az adatról, mint az informatika fő nyersanya-
gáról. Ősidők óta az ember célja, hogy megőrizzen forrásokat a jövő számára. Nincs ez másként
ma sem, azzal a különbséggel, hogy manapság minden születő új adatot, a kőbe vésés helyett a
0,1 jelek sorozatává alakítjuk, és így próbáljuk eltárolni korunk csúcstechnológiáinak segítségével.
Azt is tudjuk már, hogy az adataink különböző típusúak lehetnek, és tárolásukkor fontos, hogy
ezzel tisztában legyünk. Eddig nem tartottuk fontosnak, hogy a különböző helyen és időben ke-
letkező adatok milyen kapcsolatban lehetnek egymással, és ezt az ismeretet hogyan tudnánk ma-
gunk javára fordítani. Vajon a twitter üzenetekben terjedő negatív hangulatú szavak területi elő-
fordulásának gyakoriságát figyelve előre tudnánk-e jelezni valamilyen katasztrófát? Nos már ez
sem tűnik lehetetlen, ha az adatbányászatot elfogadjuk mint az információ szerzésének egyik jö-
vőbeli módszerét.
Az elmúlt évtizedek technológiájának fejlődése hatalmas mennyiségű adat tárolását teszi szüksé-
gessé nap mint nap. Ez rendkívül változatosan történhet, az egyéni módszerektől kezdve egészen
a világ minden pontjáról elérhető, jogosultsági szintekkel megosztott kereshető megoldásokig. Az
informatikában jelentős erőforrásokat köt le az adatok tárolására, és kezelése. Szinte nem lehet
az élet olyan területét említeni, ahol ne függenénk valamilyen módon a különböző tárolt adatok-
tól.
Alapfogalmak
Adat: Észlelhető, érzékelhető, megérthető, felfogható ismeret
Információ: Új ismeretté értelmezett adat
Adatbázis: Az adatokon kívül az adatok közötti kapcsolatokat is tartalmazó rendszer
Az adatbázisra tekintsünk úgy, mint a hangjegyekre a zenében. Az adatok, mint a hangok a zene
világában, önmagukban értelmezve kevés jelentőséggel bírnak, ahhoz, hogy megszólaljanak, vagy
zenéljenek nekünk, ahhoz szükség van a közöttük lévő kapcsolatok értelmezésére. Az adatbázis
kezelő rendszerek alkalmasak arra, hogy alkalmas adathalmazt alapul véve konkrét kérdésekre
kaphassunk választ.
Képzeljük el, hogy egy rendszám nélküli elhagyott kocsi áll már napok óta az utcán. Hogyan tud-
nánk kideríteni, hogy ki a tulajdonosa? Ha lenne rendszám, akkor könnyűnek tűnhet a dolgunk.
De a népi érdeklődésen túl gyakorlatilag nem tehetünk mást, mint segítséget kérünk a rendőrség-
től. Mehetnénk még az okmányirodába is, de ott sem fognak segíteni a titok kiderítésében. Vajon
miért? A válasz egyszerű, az autó és a tulajdonos adatai nem nyilvánosak, csak akik erre munkájuk
során felhatalmazást kapnak, azok nézhetnek utána. Elvileg mi ismerhetünk minden más embert,
és látjuk az utakon haladó autókat is, még sem tudjuk minden esetben a járművet és az embert
összekapcsolni. Ehhez ismernünk kell a tulajdonosi kapcsolatot az autók és az emberek halmaza
között. Az emberek és az autók halmaza létező, látható, érzékelhető elemekből áll, addig a tulaj-
donlás már egy nehezebben értelmezhető halmaz. Mégis, abban az esetben, ha szeretnénk kide-
ríteni, hogy egy autónak ki a tulajdonosa, akkor tudnom kell, hogy az adott autó, a tulajdonláson
keresztül kivel, vagy kikkel hozhatók kapcsolatba. Az autók, az emberek, és a tulajdonlás egy adat-
bázist alkot. Nem csak az adatokat tároljuk el benne, hanem az adatok közötti kapcsolatokat is. A
mi esetünkben a tulajdonlás teremt kapcsolatot az emberek és az autók halmaza között.
Autók Emberek
Az "ember" és az "autó" gyűjtőfogalmak, leírnak, jelölnek egy sok-sok létező elemből álló halmazt.
Ezeket egyedeknek (entitásoknak) nevezzük. Ha az utcán álló autót nézzük, vagy azt az embert,
aki birtokolja, már egy úgynevezett egyed előfordulás. A "tulajdonlás" is egyed, az egyed előfor-
dulás itt azt jelenti, hogy egy konkrét autó egy ember tulajdonában van.
Tulajdonlás
Egyednek nevezzük azokat az élő és élettelen dolgokat, cselekvéseket, állapotokat, mely tulajdon-
ságokkal leírhatók. Az ember jellemezhető például a nevével, születési adataival, nemével, lakcí-
mével, és még sok-sok tulajdonsággal, az autó pedig a rendszámával, típusával, színével, motor-
térfogatával.
A következő nyilvánvaló kérdés, hogy miként kellene eltárolni a fenti példában szereplő adatokat,
hogy a kívánt információt (ki az autó tulajdonosa) meg tudjuk szerezni. Az adatbázisok leírásához,
tervezéséhez többféle modellt használhatunk. A hétköznapi gondolkodáshoz a legközelebb az
úgynevezett relációs adatmodell áll.
A relációs modellben az adatokat logikailag egy táblázatban tároljuk. A táblázatokat az adatbázis-
ban szereplő egyedek számára hozzuk létre (autó, ember, tulajdonos). A táblázat első sora a me-
zőlista, itt jelöljük mezőnevekkel az egyed tulajdonságait (név, lakcím, nem, stb.). A táblázat többi
sora a konkrét egyed előfordulások. Az ember táblában egy létező ember adatai ezek.
Autó tábla
Most tűnődjünk el azon, hogy van-e kulcsa a tulajdonlás táblának? Nyilván a benne lévő négy
mező önállóan nem tölthet be kulcs szerepet. Egy embernek lehet több autója (tulajdonlása), és
az autónak is lehet több tulajdonosa. Az sem kizárt, hogy az ember újra tulajdonosa lesz ugyan-
annak az autónak. Nem feltétlenül szükséges kulcs mezőt létrehozni egy kapcsoló táblához. Az,
hogy mi elegendő kulcsnak, az a probléma specifikációja során kell kiderüljön. Ha azt mondjuk,
hogy nem engedhető meg, hogy egy ember újra megvásárolja ugyanazt az autót, akkor már az
(adóazonosító, rendszám) értékpár alkalmas lenne a kulcs betöltésére. Ha több mezőből áll a
kulcs, akkor azt összetett kulcsnak nevezzük. Általában akkor van szükségünk egyedi azonosí-
tásra, ha az egyedet szeretnénk egy újabb táblával összekapcsolni. Ha a tábla kulcsa megjelenik
egy másik táblában, akkor azt idegen kulcsnak nevezzük (foreign key).
Ejtsünk még néhány szót a kapcsolatok típusáról. Háromféle kapcsolati típust különböztetünk
meg: egy az egyhez (1:1), egy a többhöz (1:N), több a többhöz (N:M) kapcsolatokat.
Egy az egyhez (1:1) kapcsolat azt jelenti, hogy az egyik tábla tetszőleges rekordjához a másik tábla
pontosan egy rekordja tartozhat, és ez fordítva is teljesül. Ilyen kapcsolatot ritkán használunk,
mert a két tábla mezőit egyetlen táblába is helyezhetjük. akkor lehet erre szükség, ha túl sok tu-
lajdonság van már egy táblában, esetleg nagyon sok sora van.
Leggyakrabban egy a többhöz típusú kapcsolatot használunk, mint a példánkban is. Az ember
tábla egyetlen sorához a tulajdonlás tábla több rekordja is tartozhat, fordítva viszont ez nem igaz.
Hasonlóan az autó tábla egy sorához a tulajdonlás tábla több sora tartozhat.
Több a többhöz típusú kapcsolatot relációs adatbázisokban nem használunk. Ilyen lenne, ha össze
tudnánk kötni az autó és az ember táblát. Helyette egy harmadik, kapcsoló táblát alkalmazunk,
ami jelen esetben a tulajdonlás.
Ezzel az adatbázisok megismerésének bevezető szakasza véget ért, most néhány példán keresztül
bemutatjuk, hogyan születik meg az adatbázis szerkezete, vagyis a sémája.
Eddig nem beszélünk róla, de most már időszerű szót ejteni arról, milyen alapvető elvei vannak
az adatbázis tervezésének. Nevezhetjük ezt egyszerűen ökölszabályoknak is, melyek mindig a sze-
münk előtt kell, hogy lebegjenek:
1. Az adatbázis ne tartalmazzon többszörös (felesleges) adattárolást. Ezt idegen szóval redundan-
cia mentességnek nevezzük. Ez akkor fordulhatott volna elő a bevezető példában, ha egy tulaj-
donlás leírását egyetlen táblával kísérelnénk meg, ilyenkor ha több autója is van egy embernek,
akkor az ő személyes adatait, jellemzőit minden egyes tulajdonlásnál fel kell venni. Vagy beszél-
jünk konkrétabban, ha az ember lakcímét tároljuk, akkor ezt ne tegyük meg minden egyes alka-
lommal, ha ugyanarra az emberre hivatkozunk.
2. Az adatbázist ellentmondásmentesnek nevezzük, ha Egy kérdésre adott válasz független attól,
hogy a tábla kapcsolatain keresztül miként járjuk be az adatbázist. Például ne fordulhasson elő,
hogy egy autó tulajdonosaként egy adott napra több tulajdonost is találunk.
Amíg egy adatbázis az előző két szabályt sérti, addig dolgoznunk kell ennek elhárításán. Ezt ne-
vezzük normalizálásnak. Ennek több szintje van, itt középiskolában nem foglalkozunk vele, csak a
két sérthetetlen szabály teljesülésével foglalkozunk.
Azonnal látszik, hogy a diák és a tanár azonosítása nem történhet a nevével, mert nem zárható ki
a névazonosság. Ezért szükséges ezekbe a táblákba egy-egy kulcsmezőt helyezni.