390 likes | 475 Views
Adatbázis-kezelés. E lméleti összegzés 5. Lekérdezések. Összeállította: Sándor Judit (2014). Szöveges dokumentumok előfordulása. A datbá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.
E N D
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 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. Az óra célja
Szöveges dokumentumok előfordulása • 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. Lekérdezés (Query) I.
Szöveges dokumentumok előfordulása • 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. Lekérdezés (Query) II.
Szöveges dokumentumok előfordulása • 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. Lekérdezés (Query) III.
Szöveges dokumentumok előfordulása • A lekérdezés futtatásakor kapott eredménytáblanem 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. Eredménytábla
Szöveges dokumentumok előfordulása • 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 Lekérdezések típusai
Szöveges dokumentumok előfordulása • 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ételnekmegfelelő 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. Választó lekérdezések
Szöveges dokumentumok előfordulása • 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. Módosító lekérdezések
Szöveges dokumentumok előfordulása • 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. Feltételek a lekérdezésekben I.
Szöveges dokumentumok előfordulása • 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. Feltételek a lekérdezésekben II.
Szöveges dokumentumok előfordulása = 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 Összehasonlító operátorok
Szöveges dokumentumok előfordulása • 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” Szabályok a feltételek megadásakor I.
Szöveges dokumentumok előfordulása • 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) Szabályok a feltételek megadásakor II.
Szöveges dokumentumok előfordulása • 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 Lekérdezés létrehozása Access-ben I.
Szöveges dokumentumok előfordulása • 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. (QueryByExample) Lekérdezés létrehozása Access-ben II.
Szöveges dokumentumok előfordulása • 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. Tervezőrács rovatai
Szöveges dokumentumok előfordulása • 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 Lekérdezés eredménye
Szöveges dokumentumok előfordulá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. Lekérdezés módosítása
Szöveges dokumentumok előfordulása 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 Helyettesítő karakterek I.
Szöveges dokumentumok előfordulása 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. Helyettesítő karakterek II.
Szöveges dokumentumok előfordulása Likeolyan, 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 Helyettesítő karakterek III.
Szöveges dokumentumok előfordulása 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) További operátorok I.
Szöveges dokumentumok előfordulása 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.# További operátorok II. >=100000 AND <=200000 >=#2014.01.01.# AND <=#2014.02.28.#
Szöveges dokumentumok előfordulása 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:NotIn (”Pécs”; ”Szeged”) Pl.: A város nem lehet Budapest, azt zárjuk ki: [Varos] mezőnél feltétel:Not ”Budapest” További operátorok III. <>”Budapest”
Szöveges dokumentumok előfordulása 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 További operátorok IV.
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 kapcsolatvan!) 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 alattisorban 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 sorbana 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.