Paraméteres-, összesítı- és módosító lekérdezések Kifejezések lekérdezésekben mezıként és feltételként is megadhatjuk. A kifejezés tartalmazhat: adatot - állandót (pl. városlátogatás, 5000, Igen, 2002.07.31.) - változót: mezıre hivatkozást (pl. [részvételi díj] ) mőveleti jelet, operátort (pl. +, -, *, /, &, <, >, And, Or) függvényt (pl. Date() ) 1. Készítsünk olyan lekérdezést, ami minden futásnál az 1 héten belül induló utak adatait jeleníti meg! Szerepeljen az út elnevezése, indulási idıpont és az utazás módja, az indulási idıpont szerint idırendi sorrendben! Név: Egy héten belül induló utak A mezık felvétele után az Indulási idıpont feltételét kifejezésszerkesztıvel készítjük el. Az operátorok közül a Between Kif-jei helyére beillesztjük a Date() függvényt a beépített függvények közül, majd hozzáadunk 7-et. 4. kettıt kattintani 1. 7. 2. 3. kettıt kattintani 6. 5. Paraméteres lekérdezés: A szőrıfeltétel adatkérést, vagyis paramétert tartalmaz, amit szögletes zárójelek közé zárt üzenetszöveggel adunk meg. A futtatáskor megjelenı kérdésre adott válasz alapján jelenik meg az eredménytábla. 2. Módosítsuk az Augusztusi utak nevő lekérdezést úgy, hogy a futtatáskor megadott idıszakban indított utakat jelenítse meg! Név: Adott idıszakban induló utak
Futtatáskor: Itt meg kell adni az idıszak elejét Itt meg kell adni az idıszak végét A megadott értékhatárok közötti rekordok jelennek meg az utak táblából.
Számított mezık: a) Szám típusú 3. Készítsünk listát az utakról úgy, hogy a részvételi díj mellett szerepeljen egy törzsutasoknak járó kedvezményes ár is! A kedvezmény 5%. Megjelenítendı mezık: út elnevezése, idıtartam, utazás módja, szállás kategória, ellátás, részvételi díj, kedvezményes ár (pénznem formátumban, 0 tizedesjegy pontossággal) Név: Kedvezményes árlista Új mezıt hozunk létre. A mezınevet szögletes zárójelbe kell tenni! Biztonságosabb a kifejezésszerkesztıvel megszerkeszteni a számítást. Mezıtulajdonságok beállítása:
Ez a szöveg lesz a Kif1 helyett az oszlop tetején. Futtatás után: b) Szöveg típusú számított mezık Mőveletek: Összefőzés: - összefőzés (Ne feledkezz meg a szóközrıl!) - a szöveg egy részének kiválasztása: függvények: Left(<szöveg>; hossz) BAL Right(<szöveg>; hossz) JOBB Mid(<szöveg>;kezdet;hossz) KÖZÉP 4. Írassuk ki az utasok nevét névsorban, és egy Cím nevő mezıben az irányítószámot, várost és az utcát! Név: Címlista A kifejezés elıtti Kif1-et átírjuk Cím-re. (A : maradjon!)
Részkarakterlánc kiválasztása (szöveg függvények) 5. Készítsünk listát a budapesti utasainkról, amelyben nevükön kívül szerepel a lakóhelyük: kerület, utca, házszám és a vezetékes telefonszámuk (körzetszám nélkül)! Név: Budapesti utasok telefonjegyzéke c) Dátum típusú számított mezık Ha a dátumhoz hozzáadunk egész számot, akkor annyi nappal késıbbi dátumot kapunk. A Kifejezésszerkesztıben a Függvények/Beépített függvények Dátum/Idı kategóriában megtalálhatóak az itt használható függvények. pl. Year («szám») év Month («szám») hónap Day («szám») nap Hour («szám») óra Minute («szám») perc Second («szám») másodperc 6. Készítsünk olyan listát az utakról, amelyben nem csak a út neve, az indulási idıpont és az idıtartam szerepel, hanem az ezekbıl kiszámított hazaérkezési dátum is! Az új mezı neve: Érkezési nap. A lekérdezés neve: Érkezések A Kif1-et átírjuk Érkezés-re.
Összesítı lekérdezések (Oszlopmőveletek) Számításokat, összegzéseket végzünk a tárolt adatokkal. Hány,, Mennyi.. kezdető kérdésekre számszerő eredményt várunk. Létrehozás: Új lekérdezés, tábla kiválasztásával Mezık kiválasztása, amelyeknek a tartalmát összesíteni, és azokat, amelyek tartalma alapján csoportosítani, vagy válogatni szeretnénk a rekordokat. Az Összesítés sor bekapcsolása Σ Minden mezınél a Group By olvasható. A megfelelı számítási mővelet kiválasztása Fontosabb összesítı mőveletek: Group By Sum Avg Min Max Count Expression Where a) Összesítés az összes rekord alapján: Csoportosítja a rekordokat adott mezı tartalma szerint. (Mindegyik csak egyszer látható) Összegzi adott mezı tartalmát. Átlagot számít. A mezıben elıforduló legkisebb értéket adja. A mezıben elıforduló legnagyobb értéket adja. Megszámolja a rekordokat adott mezı alapján. (Az üres mezıket nem számolja bele, ezért olyan mezıt válasszunk, amiben nincs üres. A kulcsmezı a legjobb.) A mezı számított mezı. A mezı az összesítésben nem vesz részt, csak szőrés történik a tartalma alapján. (feltétel) 7. Mennyi az összes bevétel? A fejlécben a Befizetések összesen szöveg legyen! Lekérdezés név: Összes befizetés Összesítés bekapcsolása A mezıtulajdonságoknál a feliratot és a formátumot be lehet állítani. Az eredmény:
b) Összesítés rekordcsoportok alapján: 8. Készítsünk statisztikát az utakról: Mutassuk ki, hogy úttípusonként hány utat szerveztek, mennyibe kerül a legolcsóbb, a legdrágább út, mennyi az átlagár az adott kategóriákban! Név: Útstatisztika Adott feltételnek eleget tévı rekordok összesítése a) Összesített adatok szőrése 9. A 28-as útra melyik utas mennyit fizetett be? Név: Krétai nyaralás befizetései b) Szőrt adatok összesítése: 10. Számoljuk ki a 2002. júliusi bevételt! Név: Júliusi bevétel
Kereszttáblás lekérdezés Az eredményt táblázatos formában jelenítjük meg. Be kell állítani, hogy melyik adat legyen a sorok és az oszlopok felirata, ill. melyik adat az érték, aminek a sor-oszlop metszéspontban kell megjelenni. (3 mezınek kell lenni) 11. Olyan kimutatást szeretnénk készíteni az utakról, amelyben havi bontásban szerepel, hogy a különbözı országokba hány utat indítottak 2002. II. félévben. Név: Utak száma országonként, havonta A mezık megjelenítése, beállítása után át kell alakítani Kereszttáblás lekérdezéssé. A Kereszttábla sorban ki kell jelölni, hogy melyik a Sorfejléc, Oszlopfejléc, Érték. Futtatás után:
Módosító lekérdezések Ezek változást okoznak a táblákban. (kivéve a táblakészítı) Fajtái: Táblakészítı: Új adattáblát hoz létre. Frissítı: Adatmódosítást hajt végre a rekordok egy csoportján vagy az összesen. Hozzáfőzı: Másik adattáblából átvett adatokkal bıvíti az adattáblát. Törlı: Rekordokat töröl a táblából. a) Táblakészítı lekérdezés: 12. Másoljuk át új adattáblába a júliusban induló utak adatait! Az új tábla az aktuális adatbázisban jöjjön létre Júliusi utak néven! Lekérdezés név: Júliusi utak mentése Át kell állítani Táblakészítı lekérdezésre, majd meg kell adni, hogy milyen néven és hol keletkezzen az új tábla. Utána futtatni kell a lekérdezést! b) Frissítı lekérdezés: nagy tömegő, azonos módú változtatások eszköze. Létrehozása: Választó lekérdezés tábla megnyitása, amelyikben módosítani szeretnénk. Átalakítás Frissítı lekérdezésre. (ikon vagy Lekérdezés/Frissítı lekérdezés) Megjelenik egy új sor: Módosítás Mezı kiválasztása, amelynek a tartalmát módosítani szeretnénk. Kifejezés megadása a Módosítás sorban. Szőrıfeltétel megadása, ha csak a rekordok egy csoportjára kívánjuk elvégezni. Futtatás elıtt Adatlap nézetben ellenırizzük a módosítandó adatokat! Futtassuk a lekérdezést! (Minden futtatáskor módosulnak az adatok a táblában!!)
13. Emeljük 10%-kal a repülıs utak részvételi díját! Név: Áremelés c) Hozzáfőzı lekérdezés: megnyitott adattáblából adatokat vihetünk egy másik létezı adattáblába. Létrehozása: Választó lekérdezés létrehozása, annak a táblának a megnyitásával, amelyikbıl adatokat kívánunk átvinni. Lekérdezés típusának átállítása Hozzáfőzı lekérdezésre. Másik adattábla nevének, és az adatbázis megadása. Mezık kiválogatása, amelyeket át akarunk másolni. Ha a másik táblában talál azonos nevő mezıt, akkor automatikusan megjeleníti annak nevét a Hozzáfőzés sorban, ha nem, akkor nekünk kell beállítani a fogadómezıt. Szőrıfeltétel megadása, ha nem minden rekordot akarunk átmásolni. Adatlap nézetben ellenırizzük az adatokat. Futtassuk! 14. Saját utazási kínálatunkat szeretnénk kiegészíteni egy másik utazási iroda ajánlataival, amelyek az Egyéb utak táblában tárolódnak. Az utak táblában lévı adatokat kell kiegészíteni ezekkel. Név: Útkínálat bıvítése
d) Törlı lekérdezés: Gyorsabb, de sokkal veszélyesebb mővelet a feleslegessé vált rekordok törlésére, mint egyenként Adatlap nézetben. Nem árt, ha elıtte biztonsági mentést készítünk a tábláról. (Pl. táblakészítı lekérdezéssel) Létrehozása: Választó lekérdezés létrehozása, annak a táblának a megnyitásával, amelyikbıl törölni szeretnénk. Lekérdezés típusának átállítása Törlı lekérdezésre. Megjelenik egy új sor: Törlés *-gal válasszuk az összes mezıt! Automatikusan megjelenik a Törlés sorban: From Szőrıfeltétel megadásához mezı választás Törlés sorban: Where. Feltétel sorban szőrıfeltétel megadása. (ha nincs, akkor az összes rekord törlıdik) Adatlap nézetben ellenırizzük a törlendı adatokat. Futtassuk! 15. Elmarad a 20-as, Izland felfedezése út, ezért vissza kell fizetni a jelentkezı utasok elıleg befizetéseit és törölni ezeket az adatokat a Foglalások táblából. Név: Izlandi út befizetéseinek törlése