Adatbázis műveletek (#28)

Miről szól ez a cikk?
A korábbi cikkekben számos fogalommal ismerkedtünk meg, elméletben körbejártuk az adatbázis-kezeléshez köthető alapismereteket. Itt az ideje, hogy kissé gyakorlatiasabb anyaggal folytassuk az ismerkedést, áttekintve, mit is várhatunk el egy adatbázis-kezelő alkalmazástól, mik is azok az adatbázis műveletek.

Magától értetődő, hogy az adatbázisok kezelésére ugyanúgy alkalmazásra van szükségünk, ahogy például a dokumentumok esetében egy szövegszerkesztőt, számolótáblák esetében pedig egy táblázatkezelő alkalmazást veszünk elő. Az adatbázisokat ún. adatbázis-kezelő alkalmazással kezeljük. Ebben a cikkben azt boncolgatjuk, hogy milyen szolgáltatásokat várhatunk el egy adatbázis-kezelő alkalmazástól, milyen adatbázis műveleteket végezhetünk.

Álljunk meg egy szóra!
Fontos tudatosítani magunkban, hogy adatbázis műveletek alatt sok mindent érthetünk. Az otthoni, kisirodai problémák megoldására szolgáló asztali adatbázis-kezelő alkalmazásoktól egészen a nagyvállalati igényeket lefedő adatbázis kiszolgáló rendszerekig számos termék érhető el a piacon. Tehát az igények és a kiválasztott termék meghatározza, mit érthetünk adatbázis műveletek alatt, mit várhatunk el egy adatbázis-kezelő alkalmazástól, milyen szolgáltatásokkal rendelkezik. Nyilván ebben a cikkben a minimálisan elvárható adatbázis műveleteket fogjuk ismertetni, amelyekkel minden asztali adatbázis-kezelő alkalmazás rendelkezik.

  • Adatbázis, adatmodell tervezés. Az adatbázis-kezelők mindegyike képes a táblák, rekordok, mezők definiálásához párbeszédablakos, súgóval ellátott segítséget nyújtani. Elvárható, hogy az adatbázis, a táblák, a mezők, az adattípusok, a táblák közötti kapcsolatok megadása kényelmesen, választéklistákkal, többnyire grafikusan megadható legyen.
    Egyszerű esetben a tervezés kimerülhet az adatmodell fejben vagy papíron történő felvázolásával. A komolyabb alkalmazások, esetleg kifejezetten erre szolgáló célszoftverek azonban a legösszetettebb adatmodellek megtervezéséhez is számos eszközt biztosítanak.
  • Adatbázis létrehozása. Az adatmodell felvázolását vagy rögzítését követően létrehozható az adatbázis, vagyis a háttértárolón az azt tartalmazó fájl. Az asztali adatbázis-kezelőknél sok esetben a tervezés és az adatbázis létrehozása egy lépés, ami a gyakorlatban az adatbázis fájl létrehozását, majd az adatmodell rögzítését jelenti. Így a létrehozás során rögzítjük a táblákban az adatbázis, a táblák, a mezők nevét, a mezők adattípusát, lehetséges tartalmát, esetleg formai és más követelményeket írunk elő (pl. nem lehet üres, adat nélkül a mező vagy milyen formátumú legyen a telefonszám, mi legyen az értékkészlet stb.).
  • Elemi műveletek. A rekordok és mezők kezelését az ún. elemi műveletekkel végezzük: ezek közé tartozik a megtekintés, a beszúrás, a létrehozás, a törlés, vagy a módosítás.
  • Adatrögzítés és megtekintés űrlappal. A mai adatbázis-kezelők képesek űrlapok, vagyis speciális párbeszédablakok létrehozására, amelyekkel a listás, táblázatos elrendezésnél rendezettebb, áttekinthetőbb formában van mód a rekordok megtekintésére, módosítására, új rekordok felvitelére vagy rekordok törlésére.
  • Keresés vagy lekérdezés. Alapvető szolgáltatás, amelynek célja, hogy a kívánt szempont(ok)nak megfelelő rekordokat megtekinthessük.
  • Sorba rendezés, indexelés. Szintén alapvető szolgáltatás, amellyel egy vagy több mező tartalma szerint sorba rendezve mutatjuk a rekordokat. A sorba rendezésre több lehetőségünk is van:
    1) Minden táblának van (lehet) egy alapból beállított rendezettsége, amely általában az egyik mező szerinti rendezettséget jelenti és a rekordok rögzítési sorrendjét rögzíti. Ezt a mezőt szoktuk elsődleges kulcsnak is nevezni.
    2) Lehetőségünk van arra is, hogy az adatbázis létrehozása közben megadjuk azokat a mezőket, amelyek szerinti indexet tárolnia kell az adatbázisnak, így az ezen mezők szerinti sorba rendezés mindig nagyon gyors eredményt fog hozni.
    3) Az adatbázis kezelése közben bármikor létrehozhatunk egy vagy több tábla mezői alapján sorba rendezési szempontokat, amelyeket névvel láthatunk el, és az adatbázisban tárolhatunk. Ezek is tárolt indexek. Ha alkalmazni akarjuk ezeket, elég a neve alapján kiválasztani a megfelelőt, és máris az annak megfelelő találatlistát fogjuk látni.
    4) Végül ad hoc alapon bármikor sorba rendezhetjük egy vagy több tábla rekordjait. A találatlistát a megszokott módon kezelhetjük. A módszer hátránya, hogy némiképp lassabban kapunk eredményt, illetve a rendezési szempontot az adatbázis nem menti automatikusan.
  • Szűrés. A szűrés célja, hogy egy vagy több táblából származó mezőknek és/vagy rekordoknak egy meghatározott halmazát kapjuk eredményül. A szűrést válogatásnak foghatjuk fel, amelynek eredményeként csak a megadott szempontnak, feltételnek megfelelő rekordok és mezők fognak megjelenni a találatlistán, egy űrlapon vagy egy nyomtatott jelentésben. A szűrés tartalmazhat sorba rendezési szempontot is. A szűrési szempontot vagy szűrőfeltételt szintén elmenthetjük az adatbázisba későbbi felhasználásra. A tárolt szűrés eredményét szintén hamarabb kapjuk meg, mintha új szűrésbe kezdenénk.
  • Exportálás. Célja adatok kigyűjtése és kimentése az adatbázisból, általában más formátumban, más alkalmazás számára. Exportálás célja lehet például egy Excel táblázatkezelőbe mentés az adatok további feldolgozása céljából.
    Az exportálási folyamat része lehet a sorba rendezés és a szűrés.
  • Importálás. Sok esetben már rendelkezésre áll az adathalmaz, például egy szövegfájlban, egy másik adatbázis-kezelő alkalmazás által mentett formátumban vagy egy Excel munkafüzetben. Éppen ezért számos adatbázis-kezelő nyújt lehetőséget idegen állományformátumú ún. forrásállomány tartalmának beolvasására, vagyis importálására. Minden esetben követelmény, hogy az adatok a forrásállományban (sorokba, oszlopokba) rendezettek legyenek és más kritériumoknak is megfeleljenek. Gyakori lehetőség, hogy az importálás megkezdése előtt létrehozhatjuk a forrásállományban található adatok adatmodelljéhez igazodó táblát, előírva a mezőket, a beolvasandó rekordok körét (szűrés) – sőt különféle konverziót, átalakítást is végezhetünk az importálás folyamatának ellenőrzése mellett, például kizárva a nem kívánt adatokat.
  • Jelentéskészítés vagy riportgenerálás. Hasonló az exporthoz, de a cél egy nyomtatott lista. A riportgenerálás is összetett folyamat, hiszen az exportnál is említett műveleteket kiegészíti a nyomtatott lista formájának előírása, úgymint az oldaljellemzők előírása (fejléc, lábléc, oldalszám, betűjellemzők stb.), az ismétlődő címsorok és oszlopok meghatározása, formázási utasítások, logók, feliratok elhelyezése, számított mezők elhelyezése, rész és végösszegsorok, oszlopok felhelyezése stb.
  • Fájlműveletek. Magától értetődő szolgáltatás, hiszen a többi alkalmazáshoz hasonlóan itt is szükség van a megszokott fájlműveletekre (megnyitás, mentés, mentés másként, fájljellemzők megadása, titkosítás stb.).
  • Kapcsolat más alkalmazásokkal. Egyes adatbázis-kezelők számos szolgáltatást nyújthatnak más alkalmazásokból történő közvetlen adatkérések kiszolgálásához. Ezek történhetnek egy egységes lekérdező nyelv (pl. az ún. SQL nyelv), vagy akár a Windows Vágólapján át történő adatátvitel, vagy más, szabványos adatcsere megoldások támogatásával (pl. ODBC, DDE, OLE).
  • Hozzáférés és jogosultság szabályozása. Nem kérdés manapság a biztonságos hozzáférés szabályozásának szükségessége. Egy asztali adatbázis-kezelő alkalmazás esetében, ahol a felhasználó egyben adatbázisgazda is, nyilván nincs ezekre szükség, de egy többfelhasználós, hálózati, webes környezetben működő webshop adatbázisnál létkérdés a hozzáférés és a jogosultság szabályozása. Ezeknél a rendszereknél kifinomult többszintű szabályozás létezik, felhasználói csoportokkal és tevékenység korlátozással.
  • Karbantartás, javítás, tömörítés, helyreállítás. Még egy felhasználó által kezelt adatbázis is értékes és érzékeny tartalommal bír. Az adatbázis használhatóságának, hitelességének megőrzése ezért kiemelt fontossággal bír. A felsorolt szolgáltatások ezért felelnek: a karbantartás az adatok naprakészen tartását jelenti, a javítás a sérült, hibás adatok kigyomlálását, a tömörítés a gazdaságos helykihasználást, a helyreállítás a sérült, elvesztett stb. adatbázis pótlását jelenti. Mindezeket kiegészíti az adatok, űrlapok, indexek, lekérdezések, riportok karbantartása. A biztonsági mentések készítése az adatbázis jellegétől függően akár napi feladat is lehet. Mindezen feladatok elvégzéséhez az adatbázis-kezelő alkalmazások szintén nyújthatnak segítséget.
  • Makrók és programozási nyelvek támogatása. Gyakori feladatok megismétlését segítheti az alkalmazáson belüli programnyelv, a makró (például. az Access esetén a Visual Basic). Jellemző a szabványos adatbázis-kezelő programozási nyelvek, mint például az SQL különféle változatainak támogatása mind az alkalmazáson belüli, mind a más forrásból származó adatok kezeléséhez. Az adatbázist kezelő webes honlapok programozását szintén számos programozási nyelv támogatja, amelyek rendelkeznek adatbázis-kezelést megkönnyítő utasításkészlettel, kapcsolódási felülettel.

Az adatbázis műveletek tehát elválaszthatatlanok az adatbázis-kezelő alkalmazások szolgáltatásaitól. Úgy is fogalmazhatunk, hogy egy adatbázis-kezelő használatának elsajátítása azt jelenti, hogy megtanuljuk elvégezni az általa nyújtott adatbázis műveleteket.

Miről szólt ez a cikk?
Felsoroltuk és röviden ismertettük azokat az adatbázis műveleteket, amelyeket az adatbázis-kezelő alkalmazásoknak biztosítaniuk kell ahhoz, hogy a felhasználó minden szükséges feladatot elvégezhessen adatbázisán.