az MSAccess programmal Adatbáziskezelés az MSAccess programmal 3. rész: Kapcsolatok, lekérdezések Makány György
Adatbáziskezelés az ACCESS programmal 2 Kapcsolatok létrehozása Tábláink között relációk, azaz kapcsolatok vannak érvényben. Rögzítsük ezeket a kapcsolatokat! (Ellenőrizzük, hogy minden táblában legyen kulcsmező!) Például itt nyithatjuk a kapcsolatok definiálásának párbeszéd-ablakát Adjuk hozzá az összes táblát!
Adatbáziskezelés az ACCESS programmal 3 Kapcsolatok létrehozása A kapcsolatok definiálása vizuális eszközökkel (is) történhet: ejtsük a páronként azonos tartalmú mezők közül az egyiket a másikra! Ez után beállíthatjuk a kapcsolat tulajdonságait: A „hivatkozási integritás megőrzése” bekapcsolása esetén addig nem törölhető egy rekord, amíg egy kapcsolódó rekord hivatkozik rá. A „kaszkádolt törlés vagy frissítés” bekapcsolása esetén a kapcsolódó rekordban is elvégzi a változtatást. A kapcsolat típusa a kapcsolódó rekordok számára utal (itt például egy rekord a Pénznem táblából több Föld-beli rekordhoz kapcsolódhat.
Adatbáziskezelés az ACCESS programmal 4 Kapcsolatok létrehozása Az alábbi képen látszik a kapcsolatok létrehozása utáni állapot. A vastagított nevek az adott táblák kulcsmezői, ugyanazok a mezőnevek a Föld táblában idegen kulcsok. Ebben a példában minden kapcsolat egy-a-többhöz típusú
Adatbáziskezelés az ACCESS programmal 5 Lekérdezések létrehozása A lekérdezésekkel listákat készíthetünk az adattábláink adataiból. Ezek a listák nem csak az eredeti adatokat, hanem (statisztikai, pénzügyi, matematikai, stb.) számításokat, adatmódosításokat (adatok átírása, törlése, új rekord bevitele, rendezés, stb.) és akár új táblák készítését is szolgálhatják.
Lekérdezések létrehozása Adatbáziskezelés az ACCESS programmal 6 Lekérdezések létrehozása A lekérdezések típusai: Választó Módosító Kereszttáblás SQL-specifikus
Adatbáziskezelés az ACCESS programmal 7 Lekérdezések létrehozása (választó lekérdezés) Hozzunk létre egy egyszerű választó lekérdezést, amelynek eredménye egy olyan lista, amiben az abc rendbe szedett országnevek mellett szerepel a földrész, az államforma és a hivatalos fizetőeszköz neve is. Az első lépés a felhasznált adattáblák hozzáadása. A kapcsolatok az előzetes beállításoknak megfelelően megjelennek:
Adatbáziskezelés az ACCESS programmal 8 Lekérdezések létrehozása (választó lekérdezés) A második lépés a táblázat egyes oszlopaiban megjelenő adatok származási helyének megadása, ami most egyszerű: az egyes adattáblákban egy-egy mező, amelyeket csak ki kell választanunk a legördülő listából. Kiválasztjuk, melyik oszlop szerint legyen rendezett, és mely oszlopok legyenek láthatóak:
Adatbáziskezelés az ACCESS programmal 9 Lekérdezések létrehozása (választó lekérdezés) Eddig a Tervező nézetben dolgoztunk. Munkánk eredményét az Adatlap nézetben láthatjuk, kapcsoljunk hát át erre: Íme egy részlet a kapott listából: A lista alján navigálásra használható sáv található:
Adatbáziskezelés az ACCESS programmal 10 Lekérdezések létrehozása (választó lekérdezés) Következő feladatunk legyen egy kicsit bonyolultabb: készítsünk listát az európai államok neveivel, területük nagyságával és fővárosukkal. Ehhez a lekérdezéshez elegendő a Föld és a Földrész adattábla használata. Új elem a Feltétel sor használata. Írjuk be egy meg nem jelenítendő mezőként azt, hogy csak azokat a rekordokat jelenítse meg, amelyekhez a kapcsolódó Földrész tábla Földrész mezőjének tartalma Európa.
Lekérdezések létrehozása (választó lekérdezés) Adatbáziskezelés az ACCESS programmal 11 Lekérdezések létrehozása (választó lekérdezés) Az eredményt az adattábla nézetben láthatjuk. Ha a lekérdezés külalakját szeretnénk beállítani, akkor a szokásos Formátum/Betűtípus..., vagy a Formátum/Cellák… menük állnak rendelkezésre:
Adatbáziskezelés az ACCESS programmal 12 Lekérdezések létrehozása (választó lekérdezés) Kíváncsiak vagyunk a tengerrel nem rendelkező európai államok neveire: Ebből a képből a megoldás olvasható ki. Itt pedig az eredmény látható:
Adatbáziskezelés az ACCESS programmal 13 Lekérdezések létrehozása (választó lekérdezés) Speciális esetben egy adattábla önmagára is hivatkozhat. Ekkor kétszer kell a táblát beilleszteni és az egymásra hivatkozást ki kell alakítani. Keressük ki a külbirtokokkal (gyarmatokkal, stb.) rendelkező országokat! A „Birtokos” mezőben mindig annak az országnak az „Azonosító” értéke szerepel, amely felügyeletet gyakorol felette. Ezért kapcsolatot kell létesítenünk a két mező között.
Adatbáziskezelés az ACCESS programmal 14 Lekérdezések létrehozása (választó lekérdezés) A lekérdezések egy másik típusa a rekordok adatain végzett számítás eredményét adja. Következő példaként kíváncsiak vagyunk az európai államok területének összegére: Ehhez elegendő a Föld és a Földrész tábla. A mezők közül csak a Terület nevűt kell megjeleníttetnünk, ennek is csak az összegét. Ehhez a Nézet menüben az Összesítés pontot be kell kapcsolnunk, hogy a tervező rácsban ez a sor is megjelenjen: A Terület oszlop ezen cellájában a Sum műveletet kell kiválasztanunk!
Adatbáziskezelés az ACCESS programmal 15 Lekérdezések létrehozása (választó lekérdezés) Kíváncsiak vagyunk az európai államok területének összegére: Szükség van ezen kívül a Földrész mezőre, mert a számításba veendő rekordokban csak „Európa” állhat. Ez kerül a Feltétel mezőbe. Ha ezeket beállítottuk, akkor csak át kell váltanunk Adatlap nézetbe vagy így: vagy így: Az eredmény:
Adatbáziskezelés az ACCESS programmal 16 Lekérdezések létrehozása Ahogyan a táblák egyes mezőinél, a lekérdezések oszlopainak formátumait is beállíthatjuk. Jobb oldali tűzgomb az egéren az összesítés celláján... A formátumkódok ugyanazok, mint az Office csomag más programjaiban. Itt ezres tagolású egész számokat állítottunk be.
Adatbáziskezelés az ACCESS programmal 17 Lekérdezések létrehozása (választó lekérdezés) Érdekes lekérdezési lehetőség az azonos értékű mezőket tartalmazó rekordok keresése Varázsló segítségével. Hol használnak azonos pénzt?
Adatbáziskezelés az ACCESS programmal 18 Lekérdezések létrehozása (választó lekérdezés) Sokkal egyszerűbb a Nem azonosakat kereső lekérdezés: azokat a rekordokat jeleníti meg az első táblából, amelyek egy (azonos nevű) mezőjében lévő érték nem szerepel a másik táblában. Melyek a tengerparttal rendelkező európai országok? Használjuk a már elkészített „Európa” és a „Tengertelenek” lekérdezéseket forrásként!
Adatbáziskezelés az ACCESS programmal 19 Lekérdezések létrehozása (módosító lekérdezés) A módosító lekérdezés olyan lekérdezés, amely több rekordot változtat meg egyetlen művelet során. Négy típusa van: táblakészítő egy vagy több tábla adataiból új táblát hoz létre, hozzáfűző táblák rekordcsoportjait adja más táblák végéhez, frissítő megváltoztatja rekordok egy csoportját egy vagy több táblán, törlő egy rekordcsoportot töröl egy vagy több tábláról.
Adatbáziskezelés az ACCESS programmal 20 Lekérdezések létrehozása (módosító lekérdezés) Táblakészítő az a lekérdezés, amelynek eredménye egy új adattábla. Készítsünk egy táblát, amely azokat az országneveket tartalmazza, amelyeknél a „Birtokos” mező nem üres! Készítünk egy táblakészítő lekérdezést, amelyet futtatva elkészül az új adattábla.
Adatbáziskezelés az ACCESS programmal 21 Lekérdezések létrehozása (módosító lekérdezés) A táblakészítő lekérdezés alkalmas biztonsági másolatok készítésére, akár más adathordozón elhelyezett, más adatbázis állományba is. Ha a teljes adatállományt akarjuk menteni, akkor csak a * jelet kell kiválasztani:
Adatbáziskezelés az ACCESS programmal 22 Lekérdezések létrehozása (módosító lekérdezés) Készítsünk törlő lekérdezést az „Uj_adatok” táblára vonatkozóan! Töröljük ki azokat a rekordokat, amelyek nem más országok birtokterületei! Az ábra a törlés végrehajtása előtti pillanatot mutatja. Ezt a lekérdezést csak egyszer lehet végrehajtani… Az eredmény megtekintéséhez az „Uj_adatok” táblát kell megnyitni.
Adatbáziskezelés az ACCESS programmal 23 Továbblépés a következő leckére... Vissza az elejére... Vissza az előző leckére... Vége