Delphi programozás alapjai Nagyváradi Anett anettn@morpheus.pte.hu http://morpheus.pte.hu/~anettn PTE PMMK MIT
Adatbázis kezelés Delphiben 4. ELŐADÁS Adatbázis kezelés Delphiben
Adatbázis kezelő alkalmazás Funkciók: adatkezelés – tárolt adatok fizikai feldolgozását végzi (állomány nyitása,zárása; adatok törlése, módosítása; lekérdezések futtatása; stb.) alkalmazás logika – helyes működés biztosítása (adatvédelem; hatékonyság, integritás; stb.) felhasználói felület – felhasználóval való közvetlen kapcsolat (felhasználóbarát; tetszetős felület; stb.) Megjegyzés: maga az adatbázis (adatok) nem az alkalmazás része
Adatbázis kezelési architektúrák Az alkalmazás három része fizikailag is elkülönülhet (külön gépek): Fájl-szerver: mindhárom rész egyetlen gépen helyezkedik el (egyrétegű technika) Hátránya, hogy több-felhasználós munka esetén az adatátvitel leterheli hálózatot és a közös erőforrásokat – teljes adatbázis mozgatása Kliens-szerver: adattárolás központi gépen, kliens gépen a felhasználói felület és az alkalmazás logika adatbázisba be nem épített része (kétrétegű technika) Nem a feldolgozandó adatok, csak a parancs eredménye megy a hálózaton – átviteli teljesítmény javul Több rétegű: az alkalmazás részei kettőnél is több gépen helyezkednek el Kliens oldalon már csak a felhasználói felület található meg
Delphiből elérhető adatbázisok Paradox (*.DB) dBase, Foxpro (*.DBF) Access (*.MDB) DB” InterBase MS SQL Oracle SYSBASE Informix
Adatbázis kezelés Delphiben Adatbázisok kezelése speciális komponensekkel történik Különböző adatbázisok egységesen adott komponensekkel érhetők el A beépített osztálygyűjtemény: IDAPI (Integrated Database Application Programming Interface) A komponensek metódusai a beépített adatbázis motor rutinjait használják: BDE (Borland Database Engine) A közvetlen adatelérést a BDE látja el specifikus driverek sgítségével pl. Paradox táblák esetén IDPX32.DLL meghajtó szükséges Egyes meghajtókat a Delphi tartalmazza (natív meghajtók), pl. Paradox-ét
Adatbázis kezelés Delphiben 2 Adatfeldolgozó parancsok szabványos nyelve: SQL (Structured Query Language) SQL utasítások előállítását a BDE végzi az SQL Links drivercsomag segítségével Megjegyzés: Egy adatbázisos alkalmazást feltelepíthetünk egy Delphi nélküli gépre. Ekkor a BDE használt részét is fel kell telepítenünk az alkalmazás mellé. A szükséges állományok összeállításában telepítő-program készítő alkalmazások állnak rendelkezésre (pl.: InstallShield Express)
Segédprogramok DataBase Desktop - helyi állományok kekzelésére BDE Admnistrator – az atbázismotor konfigurációs programja Database Explorer Data Migration Wizard – adatáthelyezés, metaadat SQL Monitor – SQL lekérdezések nyomkövetésére Server Manager – InterBase DB-szever karbantartó programja Window ISQL – InterBase DB-ok kezelésére
Alias - álnevek Fejlesztés közben az adatok egy konkrét elérési útvonalon találhatóak – exe állományban erre hivatkozunk Átvive az alkalmazást egy másik gépre – régi helyén keresné az adatokat – HIBA Megoldás: újrafordítani a programot a módosított elérési útvonallal – nem túl jó megoldás Jó megoldás: álnevek- Alias-ok használata Alias: tartalmazza az adatok elhelyezkedésére és formátumára vonatkozó infókat lefordítva a programot, az exe állományban csak az aliasra találunk hivatkozást – így az új gépen elég az álnevet átállítani az új elérési útvonalra ezt a feladatot a telepítőprogram látja el
Adatbázis kezelési komponensek Adatelérési komponensek (Data Accsess) DataSource BDE komponensek (BDE) TDataBase adatbázisok TTable táblák TQuery lekérdezések Adatmegjelenítési komponensek (Data Controls) adathozzáférési komponensekhez kapcsolódnak Pl.: TDBEdit, TDBText, TDBGrid, TDBImage, stb.
DataModule Adatelérési és BDE komponensek elhelyezése (lehetséges az aktuális formon is), de célszerű azokat az úgynevezett adatmodulon csoportosítani. File > New > DataModule Az adatmodul külön ablakként jelenik meg, mely futás közben láthatatlan. Így elkülöníthető a felhasználói felület és az adatelérési logika. Megjegyzés: ajánlott a datamodult a formok előtt auto-create létrehozni
BDE komponensek TDataBase: adatbázis TTable: táblák egy konkrét adatbázis elérését biztosítja jellemzők: AliasName: álnév DatabaseName: adatbázis neve Connected: csatlakozás Name: hivatkozási neve TTable: táblák Fizikai tábla adatainak elérésére Jellemzők: DatabaseName: álnév vagy adatbáziskomponens TableName: listából kiválasztható a kívánt tábla Active: megnyitás ReadOnly: csak olvasható IndexField, IndexFieldName: adatok rendezettség sorrendjét állítja
Adatelérési komponensek TDataSource: adatforrás komponens Adatok megjelenítését teszi lehetővé Az adatelérési komponenseket összekapcsolja az adatmegjelenítési komponensekkel Adathalmaz megjelenítése: megjelenítendő elemeket az adatforráshoz kell kapcsolni, majd az űrlapot rá kell irányítani erre a forrásra Jellemzői: DataSet: továbbítandó adat- halmaz neve AutoEdit: boolean, ha értéke igaz, akkor az adathalmaz editálható – hibaforrás lehet, célszerű letiltani
Adatmegjelenítési komponensek Beállítandó tulajdonságok: DataSource – adatforrás, ahonnét veszi az adatokat DataField – listából kiválasztható, hogy a forrás melyik mezőjét jelenítse meg Pl.: TDBEdit TDBText TDBGrid TDBNavigator TDBImage
Ellenőrzés Mindig vizsgáljuk meg az Object Inspector tartalmát, hogy megfelelően kapcsoltuk-e össze a komponenseket! (piros kérdőjelek jelzik a hibát)
DataBase Desktop Nyissuk meg a segédprogramot a Delphi könyvtárából! Tools > Database Desktop Lehetőség nyílik: Alias definiálására Táblák létrehozására Táblák feltöltésére SQL lekérdezések programozására SQL lekérdezések tesztelésére Stb. Állítsuk be a megfelelő útvonalakat az egyszerű felhasználás céljából: File > Working Directory File > Private Directory
DataBase Desktop - táblakészítés File > New > Table Segítségével hozzunk létre egy Paradox 7 típusú táblát, majd definiáljuk a mezőket és tulajdonságaikat! FieldName – lehetőleg ékezet nélkül Type – menüsorból kiválasztható típusok (jobbegér) Size – szöveges mezőnél értéket kell adni a mező hosszára Key – dupla klikk a mezőn, csillaggal megjelölhető kulcsmező
DataBase Desktop – tábla feltöltés Az elmentett tábla tartalmát feltölthetjük: table > edit data Egyszerre több táblát is megjeleníthetünk, egyesével szerkeszthetjük.
DataBase Desktop – alias készítés Tools > Alias Manager Menüponttal létrehozhatjuk a saját adatbázisunk álnevét. New gombra kattintva, a Path-t megadva és a Database Alias nevet (beszédes név) kitöltve létrejön a megfelelő alias.
Feladat Nézzük meg, hogyan működik a DataBase Desktop rendszer. Hozzunk létre egy Paradox 7 típusú adatbázis, egy táblával, töltsük is fel próbaadatokkal. Hozzunk létre egy egyszerű Delphi alkalmazást, mely alkalmas az adatbázisunk menedzselésére: Adatokat jeleníthetünk meg, módosíthatunk, stb.