Adatbázis-kezelés
Összeállította: Sándor Judit (2014) Elméleti összegzés 5. Lekérdezések Összeállította: Sándor Judit (2014) Adatbázis-kezelés témakör
Szöveges dokumentumok előfordulása Az óra célja Adatbázis-kezelés témakör Megismerkedünk a lekérdezéssel. Sorra vesszük a lekérdezések típusait. Megnézzük, hogyan lehet lekérdezést létrehozni. Megnézzük, milyen feltételek adhatók meg a lekérdezésekben. Áttekintjük, milyen helyettesítő karakterek használhatók. Megismerkedünk a lehetséges operátorokkal.
Szöveges dokumentumok előfordulása Lekérdezés (Query) I. A lekérdezés az adatbázis egyik objektuma. A lekérdezés az adatbázis-kezelés egyik leggyakoribb művelete. (Szinte az összes többi funkció a lekérdezés készítését segíti elő.) A lekérdezések lényege, hogy a már meglévő tábláinkkal kapcsolatos kérdéseket tehetünk fel, illetve lehetőségünk van akár a táblák adatainak csoportos megváltoztatására is.
Szöveges dokumentumok előfordulása Lekérdezés (Query) II. A táblákban tárolt adatok visszakeresését a leggyakrabban lekérdezések segítségével végezzük. A lekérdezések tehát kérdéseket fogalmaznak meg a táblák adataival kapcsolatban. Egy lekérdezés segítségével például egy vagy több tábla azon rekordjait jelenítjük meg, melyek megfelelnek a megadott feltételeknek.
Szöveges dokumentumok előfordulása Lekérdezés (Query) III. A lekérdezések segítségével tehát: megjeleníthetjük, módosíthatjuk, törölhetjük a megadott feltételeknek megfelelő adatokat. A lekérdezés a meglévő táblák alapján, a megadott feltételnek megfelelő rekordokat jeleníti meg egy eredménytáblában.
Szöveges dokumentumok előfordulása Eredménytábla A lekérdezés futtatásakor kapott eredménytábla nem kerül be az adatbázisba. A lekérdezés megnyitásakor, az adatbázis aktuális rekordjai alapján készül el. Az adatbázisban csak a lekérdezés feltételeit tároljuk. Az eredménytáblában elvégzett módosítások (mező tartalmának megváltoztatása, rekord törlése, új rekord hozzáfűzése) átkerülnek az eredeti adattáblába. A lekérdezések tehát adatbevitelre és adattörlésre is használhatók.
Szöveges dokumentumok előfordulása Lekérdezések típusai Választó lekérdezések Módosító lekérdezések (akciólekérdezések): Törlő lekérdezés Frissítő lekérdezés Hozzáfűző lekérdezés Táblakészítő lekérdezés
Szöveges dokumentumok előfordulása Választó lekérdezések Kész táblákból gyűjtenek információkat. A választó lekérdezéssel: rendezhetjük az adatokat, elhagyhatjuk a felesleges mezőket, kilistázhatunk egyszerű vagy összetett feltételnek megfelelő rekordokat, csoportokat képezhetünk belőlük, összesítéseket számolhatunk, több tábla összetartozó értékeit jeleníthetjük meg. A választó lekérdezések lehetővé teszik, hogy akár egy-egy rekord adatait megváltoztassuk.
Szöveges dokumentumok előfordulása Módosító lekérdezések A módosító lekérdezéseket nevezzük akció- lekérdezéseknek is. Műveleteket végeznek táblákkal. A módosító lekérdezéssel tudunk: új táblát létrehozni, új rekordokat fűzni egy meglévő táblához, adatokat törölni meglévő táblából, valamilyen szabály szerint megváltoztathatjuk a rekordokat.
Szöveges dokumentumok előfordulása Feltételek a lekérdezésekben I. A választó lekérdezésben a megjelenítendő rekordokat a mezőkre vonatkozó feltételekkel választjuk ki. A lekérdezés eredményében azok a rekordok szerepelnek, melyekre teljesül a megadott feltétel. A rekordokat kiválogató feltételt gyakran szűrőfeltételnek hívjuk. A lekérdezések szűrőfeltételeit operátorokkal fogalmazzuk meg.
Szöveges dokumentumok előfordulása Feltételek a lekérdezésekben II. Az operátor az adatokból újabb adatot képező művelet vagy függvény. A szűrőfeltételben szereplő műveletek eredménye egy logikai érték – Igaz vagy Hamis. Az eredménytáblában azokat a rekordokat fogjuk látni, melyekre a művelet Igaz értéket eredményez.
Szöveges dokumentumok előfordulása Összehasonlító operátorok = egyenlő < kisebb <= kisebb vagy egyenlő > nagyobb >= nagyobb vagy egyenlő <> nem egyenlő Pl.: 2000 vagy azelőtt születettek kiíratásához feltétel: [SzuletesiEv] mezőnél feltétel <=2000 Pl.: 1.500Ft-nál drágább termékek kiíratásához feltétel: [TermekAra] mezőnél feltétel >1500
Szöveges dokumentumok előfordulása Szabályok a feltételek megadásakor I. A feltételekben szereplő mezőneveket egyes adatbázis-kezelő rendszerek esetén szögletes zárójelbe kell tenni! (Pl. Access-ben is!) Pl.: [Nev] [Cim] [SzuletesiIdo] A szöveg típusú mezők értékét idézőjelek közé írjuk! Pl.: nem Budapest települések kiíratása: [Telepules] mezőnél feltétel: <>”Budapest” K kezdőbetűjű nevek előtti személyek kiíratása: [VezetekNev] mezőnél feltétel: <”K”
Szöveges dokumentumok előfordulása Szabályok a feltételek megadásakor II. A dátumokat és időpontokat kettős keresztek közé tesszük a feltételekben! Pl.: 2010. január 1. vagy azutáni dátumok kiválasztása: [Datum] mezőnél feltétel: >=#2010.01.01.# Az Igen/Nem logikai típusú mezőkben használhatjuk a feltétel megadásakor ezeket: Igen (Yes) Nem (No) Igaz (True) Hamis (False)
Szöveges dokumentumok előfordulása Lekérdezés létrehozása Access-ben I. Létrehozás / Lekérdezés varázsló Egyszerű lekérdezés Tábla (táblák) kiválasztása és mező(k) kijelölése Részletes vagy összesítő lekérdezés legyen? Lekérdezés nevének megadása
Szöveges dokumentumok előfordulása Lekérdezés létrehozása Access-ben II. A lekérdezés mezőihez a feltételeket a tervező nézetben tudjuk beállítani. A táblák alatt látható a tervezőrács, más néven QBE-rács. (Query By Example)
Szöveges dokumentumok előfordulása Tervezőrács rovatai Tábla: a lekérdezéshez hozzáadott táblák közül választhatunk itt. Mező: a kiválasztott tábla egy-egy mezőjét vehetjük fel itt a lekérdezésbe. (A tervezőrácsban felvett mezők jelenhetnek meg az eredménytáblában.) Rendezés: lekérdezés rendezése adható meg mezőnként. Megjelenítés: mező megjelenítését engedélyezzük (van pipa), vagy tiltjuk le (nincs pipa) az eredménytáblában. Feltétel: a lekérdezés szűrőfeltételét tartalmazza. Vagy: további vagylagos szűrőfeltételek adhatók itt meg.
Szöveges dokumentumok előfordulása Lekérdezés eredménye A kívánt feltételek tehát beállíthatók a tervező- rácson, illetve a lekérdezés eredményeként megjeleníteni kívánt mezők is kiválaszthatók itt. A feltételeknek megfelelő rekordokat Adatlap nézetben tudjuk megtekinteni, vagy a lekérdezés futtatásával. Eredménytábla: lekérdezés eredménye
Szöveges dokumentumok előfordulása Lekérdezés módosítása A lekérdezést a tervező nézetben tudjuk módosítani. Felvehetünk új mezőket, vagy törölhetünk a most megadott mezők közül. Bővíthetjük a lekérdezést újabb táblák mezőivel is. Lehetőségünk van a feltételek törlésére, módosítására, vagy akár újak beállítására is. Változtathatunk a megadott rendezéseken, módosíthatjuk vagy törölhetjük az eddigi beállítást, illetve új rendezési szempontot adhatunk meg.
Szöveges dokumentumok előfordulása Helyettesítő karakterek I. A szöveg típusú mezőkre vonatkozó feltételek megfogalmazásához helyettesítő karaktereket használhatunk. * Bármilyen egy vagy több karaktert helyettesít. ? Egy tetszőleges karaktert helyettesít. # Egy tetszőleges számjegyet helyettesít. [karakterlista] a listában szereplő egy karaktert helyettesít [!karakterlista] egy, a listában nem szereplő karaktert helyettesít
Szöveges dokumentumok előfordulása Helyettesítő karakterek II. Példák: ”K*” K betűvel kezdődő szavak. ”K??” K betűvel kezdődő és utána bármilyen 2 karaktert tartalmazó szavak. ”*bor*” Azok a szavak, melyekben szerepel a bor karaktersorozat. (pl. tábor, borosta, leborul stb.) ”[A-FKS]*” Azok a szavak, melyek kezdőbetűje A és F közzé esik, vagy K vagy S.
Szöveges dokumentumok előfordulása Helyettesítő karakterek III. Like olyan, mint mintaillesztő operátor. Az adatbázis-kezelő programok a helyettesítő karakterek alkalmazásakor általában elvárják a Like operátor használatát a feltétel megadásakor! Pl.: [Nev] mezőnél feltétel: Like ”K*” [Nev] mezőnél feltétel: Like ”K??” [Szo] mezőnél feltétel: Like ”*bor*” [Nev] mezőnél feltétel: Like ”[A-FKS]*” A kérdőjel (?) és a csillag (*) használható a kereséskor is helyettesítő karakternek! Has
Szöveges dokumentumok előfordulása További operátorok I. In Ha egy mezőnél többféle értéket engedünk meg, akkor az In (benne) operátort használjuk. Pl.: A főváros Budapest vagy Berlin vagy Bécs: [Fovaros] mezőnél feltétel: In (”Budapest”; ”Berlin”; ”Bécs”) Pl.: A 20-nál kisebb prímszámok: [Szam] mezőnél feltétel: In (2; 3; 5; 7; 11; 13; 17; 19)
Szöveges dokumentumok előfordulása További operátorok II. Between Ha egy mezőnél zárt intervallumot akarunk megadni feltételként, akkor a Between (között) operátort használjuk. Pl.: A fizetés 100.000Ft és 200.000Ft közé esik: [Fizetes] mezőnél feltétel: Between 100000 AND 200000 Pl.: A dátum 2014.01.01. és 2014.02.28. közé esik: [Datum] mezőnél feltétel: Between #2014.01.01.# AND #2014.02.28.# >=100000 AND <=200000 >=#2014.01.01.# AND <=#2014.02.28.#
Szöveges dokumentumok előfordulása További operátorok III. Not Egy feltétel ellentettjét fejezzük ki a Not (nem) operátorral. Pl.: A város nem lehet Pécs vagy Szeged: [Varos] mezőnél feltétel: Not In (”Pécs”; ”Szeged”) Pl.: A város nem lehet Budapest, azt zárjuk ki: [Varos] mezőnél feltétel: Not ”Budapest” <>”Budapest”
Szöveges dokumentumok előfordulása További operátorok IV. Is Null Az üres rekordok kiválasztására az Is operátort használjuk a Null kulcsszóval együtt. Pl.: Telefonszámot nem tartalmazó mezők, üresek: [Telefon] mezőnél feltétel: Is Null Pl.: Telefonszámot tartalmazó mezők, nem üresek: [Telefon] mezőnél feltétel: Is Not Null
Szöveges dokumentumok előfordulása Paraméteres lekérdezések I. A lekérdezések tervezésénél gyakran nem akarjuk megadni a feltételben szereplő konkrét értékeket. Ha megadjuk a lekérdezésben az Euro árfolyamát, akkor kötött értékkel tudunk csak számolni. De, ha paraméteres lekérdezést alkalmazunk, akkor mindig rákérdez futtatáskor, hogy mennyivel számoljon. Ha előírjuk a lekérdezésben a lakóhely városát akkor mindig csak az adott településhez tartalmazó rekordokat listázza ki. Ha viszont paraméteres lekérdezést alkalmazunk, akkor mindig rákérdez futtatáskor, hogy melyik város adataira vagyunk kíváncsiak.
Szöveges dokumentumok előfordulása Paraméteres lekérdezések II. Paraméteres lekérdezés készítéséhez írjuk be az adatbázis használójának szánt üzenetet a kiválasztott mezőnél a tervezőrács feltétel sorába! A szöveget tegyük szögletes zárójelbe! A lekérdezés futtatásakor megjelenik egy kis ablak, amiben kéri a program a paramétert, azaz, hogy melyik adathoz tartozóan jelenítse meg a hozzá tartozó adatokat. (Pl. bekérjük a település nevét) Pl.: [Telepules] mezőnél feltétel: [Melyik város adataira kíváncsi?]
Szöveges dokumentumok előfordulása Összetett lekérdezések Egy lekérdezésben több szűrőfeltételt is megadhatunk, ekkor összetett feltételről beszélünk. A feltételek egy vagy több mezőre vonatkozhatnak. A feltételeket logikai operátorokkal kapcsoljuk össze. A logikai műveletek eredménye Igaz vagy Hamis lehet. A lekérdezés eredményében azok a rekordok szerepel- nek, melyeknél a feltételek kiértékelése igaz eredményre vezetett.
Szöveges dokumentumok előfordulása Logikai operátorok I. AND = és eredménye akkor igaz, ha az összekapcsolt feltételek mindegyike igaz (A tervezőrácson az egyes mezőknél megadott egy sorban elhelyezkedő feltételek között ÉS kapcsolat van!) Pl.: 2000 előtt született budapesti tanulók, akik neve K betűvel kezdődik: [Telepules] mezőnél feltétel: =”Budapest” ezzel egy sorban a tervezőrácson (ez jelenti az and kapcsolatot) a [SzuletesiIdo] mezőnél feltétel: <2000 ezzel egy sorban a [Nev] mezőnél feltétel: Like ”K*”
Szöveges dokumentumok előfordulása Logikai operátorok II. OR = vagy eredménye akkor igaz, ha az összekapcsolt feltételek közül legalább az egyik igaz (A tervezőrácson az egyes mezőknél egymás alatti sorokban megadott feltételek között VAGY kapcsolat van!) Pl.: 2000 előtt született tanulók, vagy akik budapestiek, vagy akik szakkörre járnak: [Telepules] mezőnél feltétel: =”Budapest” ez alatti sorban a tervezőrácson (ez jelenti a vagy kapcsolatot) a [SzuletesiIdo] mezőnél feltétel: <2000 ez alatti sorban a [Szakkor] mezőnél feltétel: Igaz
Szöveges dokumentumok előfordulása Logikai operátorok III. NOT = nem értéke akkor igaz, ha az utána lévő kifejezés hamis (tagadás). Pl.: 2000 előtt született tanulók, akik nem budapestiek és nem járnak szakkörre: [Telepules] mezőnél feltétel: NOT ”Budapest” ezzel egy sorban a tervezőrácson (ez jelenti az és kapcsolatot) a [SzuletesiIdo] mezőnél feltétel: <2000 ezzel egy sorban a [Szakkor] mezőnél feltétel: Hamis
Szöveges dokumentumok előfordulása Logikai operátorok IV. XOR = kizáró vagy eredménye akkor igaz, ha két feltétel közül pontosan az egyik igaz. Nem minden adatbázis-kezelő program ismeri, ezzel helyettesíthető: A XOR B = (A AND NOT B) OR (NOT A AND B) Pl.: angolt vagy németet tanuló diákok, de csak azok, akik nem tanulják mindkét nyelvet, hanem vagy csak a németet vagy csak az angolt tanulják (egyéb más nyelvet tanulhatnak mellette): [Nyelv] mezőnél feltétel: Like ”*angol*” XOR Like ”*német*” (Nyelv mezőben fel vannak sorolva a diák által tanult nyelvek.)
Szöveges dokumentumok előfordulása Kapcsolat a tervezőrács sorai között Az adatbázis-kezelő rendszer a lekérdezésnél a tervezőrácson megadott feltétel esetében: az egyes sorokon belül AND (és) műveletet végez, az egyes sorok között pedig OR (vagy) műveletet végez.
Szöveges dokumentumok előfordulása Műveleti sorrend Több logikai művelet esetén: először a NOT (nem), aztán az AND (és), végül az OR (vagy) műveletet végezzük el! Az egyenrangú műveleteket balról jobbra hajtjuk végre. A sorrendet zárójelek ( ) alkalmazásával változtathatjuk meg.
Szöveges dokumentumok előfordulása Következő témakörök Számított mezők a lekérdezésekben. Függvények a lekérdezésekben. Kifejezések a szűrőfeltételekben. Összesítés és csoportosítás. Kereszttáblás lekérdezések. Módosító lekérdezések: frissítő, törlő, hozzáfűző, táblakészítő.
Szöveges dokumentumok előfordulása Hasznos oldalak Adatbázis-kezelés tananyag (2014.02.25.) http://balashazy.sulinet.hu/ftp/informatika/ecdl/05_adatbaziskezeles /index.htm Lekérdezések (2014.02.25.) http://office.microsoft.com/hu-hu/access-help/lekerdezesek- bevezetes-HA102749599.aspx Az operátorok táblázata (2014.02.25.) http://office.microsoft.com/hu-hu/access-help/az-operatorok- tablazata-HA010235862.aspx Útmutató a kifejezések szintaxisához (2014.02.25.) http://office.microsoft.com/hu-hu/access-help/utmutato-a- kifejezesek-szintaxisahoz-HA010131581.aspx
Szöveges dokumentumok előfordulása Felhasznált irodalom Devecz Ferenc [et al.]: Irány az ECDL! a közép- szintű érettségi!, Nemzeti Tankönyvkiadó, Budapest, 2008, p. 145-198. Rozgonyi-Borus Ferenc, … Kokas Károly: Informatika középiskolásoknak : számítástechnika és könyvtárhasználat, Mozaik Kiadó, Szeged, 2011, 205 p. Rozgonyi-Borus Ferenc, … Kokas Károly: Informatika 10 : számítástechnika és könyvtárhasználat, Mozaik Kiadó, Szeged, 2007, p. 75-104.