Mi az adatbázis-kezelés?

Az elmúlt 100 év az információrobbanás százada volt. Nagy részük feldolgozatlanul folyik át rajtunk, más részét megjegyezzük, tároljuk, beépítjük az információink közé, és ha kell, előkeressük, más információkkal összekapcsoljuk, döntéseinkben felhasználjuk. Vagyis nap mint nap használjuk a saját adatbázisunkat. A gazdasági élet működéséhez szintén nagy mennyiségű adatra, információra van szükség. Tudni kell, hogy mi van a nyersanyagraktárban, ez elegendő-e a termeléshez, miből és kitől kell rendelni, kik a cég dolgozói, milyen a cég pénzügyi helyzete stb. Nagy mennyiségű adatot kell megjegyezni, vagyis tárolni, megkeresni az éppen szükségeset, esetleg különböző műveletet végezni az adatainkkal. Ezek adatbázis-kezelő feladatok. $$\ \ $$

Adatbázis-kezelés számítógép nélkül

Tipikus példája volt az ilyen típusú adatkezelésnek a könyvtári nyilvántartási rendszerek vagy az orvosi rendelők betegnyilvántartásai. A gyermekorvosi rendelőben minden kezelt gyermek adatait nyilvántartásba veszik. Ezt van ahol még ma is fiókokban tárolt beteglapokon,kartonokon teszik. A beteglap minden gyerekre vonatkozóan ugyanazokat az adatokat tartalmazza: név, szül. idő és hely, anyja neve, lakcíme, a kezelés dátuma, ill. egyéb kezelési információk. Amikor a szülő orvoshoz viszi a gyerekét jelentkezik a kartonozóban. Ha először jött, adatait új kartonra viszik. Ha nem a kartonját ki kell keresni a rengeteg beteglap közül.
Mivel ez a leggyakoribb művelet fontos, hogy a keresés gyors legyen. Hogyan csinálják? Mivel a kartonokat születési dátum, azon belül pedig névsor szerint rendezték, ezért a keresés gyors. Ha azonban az orvos a bárányhimlőn átesett gyermekek kartonjait szeretné kiválogatni át kell nézni az összes beteglapot, hiszen betegségek szerint rakták őket sorba. Ha egy gyermek a körzeten belül elköltözött módosítani kell a lakcímadatait, ha más körzetbe költözött törölni kell a helyi nyilvántartásból. A beteg gyermekek adatnyilvántartása tipikus adatbázis-kezelő tevékenység, s tartalmazza az adatbázik-kezelő programok legfontosabb feladatait.

Az adatbázis-kezelő feladatok jellemzői

$$\ \ $$

Adatbázis-kezelés számítógéppel (Alapfogalmak)

Az adatbázis

Az adatbázis adott alkalmazáshoz tartozó adatok összessége, amit ún. adatmodellel képezünk le. Az adatmodell írja le az adatbázis szerkezetét. A szerkezet tartalmazza az adatok típusát, kapcsolatait, sőt az adatokon végrehajtható alapműveleteket is. A legelterjedtebb adatbázis-szerkezetek a következők: $$\ \ $$

A relációs adatmodell alapfogalmai

A relációs adatbázis-kezelők az adatokat táblákban tárolják. A táblák sorai egy-egy adatelemet (pl. egy beteg adatait) az oszlopok az adatelemeket leíró jellemzőket, tulajdonságokat (pl. a beteg TAJ-száma, neve, lakcíme) mutatják. A tábla sorai a rekordok, az oszlopok a mezők, melyeket az oszlopfejlécként megadott mezőnevek azonosítanak. A rekordokat, vagyis példánkban a betegeket valamelyik mező tartalma alapján lehet egyértelműen azonosítani. Fontos, hogy az azonosító egyértelmű legyen. A név erre nem alkalmas, hiszen lehet több azonos nevű beteg is. Példánkban az egyértelmű azonosításra a TAJ-szám szolgál, ami biztosan különbözik minden betegnél, és minden betegnek van. Az azonosításra szolgáló mező a tábla elsődleges kulcsa. Egy másik példában egy szerszámokkal kereskedő kis bolt az általa forgalmazott cikkek raktárkészletét tartja nyilván:

Raktárkészlet

Cikkszám Megnevezés Gyártó Egység Készlet Egységár
A2501 Kalapács MűszergyárZRT db 290 1200 Ft
K0210 Fogó Szerszám Kft db 1500 2315 Ft
$$\ \ $$ A tábla annyi sort, azaz rekordot tartalmaz, ahányféle cikk van a raktárban, és annyi oszlopot, azaz mezőt, ahány tulajdonságot, jellemzőt akarunk tárolni egy-egy cikkről. Amennyiben a raktárkészlet a minimális alá csökken, rendelést kell feladni. Ennek tartalmaznia kell, hogy kitől, mit, mennyiért akarunk rendelni. Szükség van tehát a cikkszám-, megnevezés-, gyártó-, egység- és egységármezők tartalmára. Mivel nagy forgalomnál sokszor kell ugyanazt a terméket megrendelni, ezeket az adatokat gyakran kell megismételni, ami sok fölösleges munkát, nagy hibalehetőséget okozna. Ezért a Megrendelés táblába csak a cikkszámot tesszük, hiszen ennek alapján a Raktárkészlet táblából a többi adat kikereshető. Természetesen a rendelt mennyiséget, a rendelés dátumát, valamint a beszállító adatait jelölnünk kell. Ha az utóbbit egy külön táblában tároljuk, a Megrendelés táblába elég a beszállító azonosítókódot elhelyezni, hiszen ennek alapján a Szállítók táblából a többi adat kikereshető. A megrendeléseket tehát a következő szerkezetű tábla tartalmazza.

Megrendelés

Rendelés szám Rendelés dátuma Cikkszám Rendelt mennyiség Beszállító kód
0001 2016.05.15. K0210 160 AS22
0002 2016.06.12. A2501 1000 CV10

Ahhoz, hogy a felesleges tárolást, a redundanciát elkerüljük, a cikkszámon keresztül kapcsolatot kell teremteni a Raktárkészlet és a Megrendelés tábla között. Ugyanígy kapcsolatnak kell lenni a beszállító részletes adatait tartalmazó Szállítók tábla és a Megrendelés között. Ezt a kapcsolatot a beszállítókód tartalma nyújtja. A relációs adatmodell fő alkotóelemei tehát az egyes egyedeket tulajdonságokkal leíró táblák és a táblák között kapcsolatok.
A fenti példában a Raktárkészlet, a Megrendelés és a Szállítók adattábla egy-egy egyedtípus, a táblák sorai pedig az egyed-előfordulások. Egy táblán belül az összes egyed-előfordulást azonos tulajdonságok írnak le (cikkszám, megnevezés, mennyiség stb.). A tábla sorai különböző tartalmúak, hiszen különböző egyed-előfordulást írnak le. Az egyes sorokat, az egyed-előfordulásokat egyértelműen kell tudnunk azonosítani, másképpen fogalmazva a rekordoknak megkülönböztethetőnek kell lenniük. A Raktárkészlet adattáblában a sorok egyértelmű azonosítására szolgál a cikkszám, a Megrendelés táblában a rendelésszám, a Szállítók táblában a beszállító kód.

A tábla adatainak egyértelmű azonosítására szolgáló tulajdonság (esetleg több tulajdonság együtt) az ún. elsődleges kulcs. Az egymással tartalmilag összefüggő táblák közötti logikai kapcsolatot egy mindkét táblában előforduló tulajdonság teremti meg, amit kapcsolómezőnek hívunk: példánkban ez a cikkszám. Ez a Raktárkészlet táblában az elsődleges kulcs, a Megrendelés táblában pedig a raktárkészletre hivatkozó ún. idegen kulcs. A kapcsolat típusára jellemző, hogy a hivatkozó tábla egy rekordjához a másik táblának egy vagy több rekordja is kapcsolódhat, Példánkban egy cikket többször is megrendelhetnek, így a kapcsolat egy a többhöz típusú. $$\ \ $$