Alkalmazói rendszerek ACCESS ZH - javítókulcs Informatika tanár MSC, levelező tagozat, 2010. január 06. Leírás és feladatok Adatbázisunkban egy üzletlánc törzsvásárlóit tartjuk nyilván. Minden törzsvásárlónak van egy kártyája, aminek a segítségével regisztrálják a vásárlásait. Ha vásárlásainak összértéke túl lép egy bizonyos szintet, akkor az azt követı vásárlásaiból megfelelı százalékú kedvezményt kap. tbolt tábla: Azonosító szöveg Az üzlet lánc adott boltjának az azonosítója. Név szöveg A bolt neve. Irányítószám szám A bolt irányítószáma. Város szöveg A város, ahol a bolt található. Cím szöveg A bolt címe, például Nagytétényi út 37-43. tügyfél tábla: Kártyaszám szöveg 10 karakterbıl álló számsor Vezetéknév szöveg A kártyatulajdonos vezetékneve. Keresztnév szöveg A kártyatulajdonos keresztneve. E-mail szöveg A kártyatulajdonos e-mail címe. Irányítószám szám A kártyatulajdonos irányítószáma. Város szöveg A város, ahol a kártyatulajdonos lakik. Cím szöveg A kártyatulajdonos címe, például Balatoni út 20. Egyenleg szám Az ügyfél eddigi vásárlásainak az összege. tvásárlások tábla: Azonosító számláló A vásárlás egyedi azonosítója. Kártyaszám szöveg A vásárló kártyaszáma. Bolt szöveg A bolt azonosítója. Dátum dátum A vásárlás dátuma. Összeg szám A vásárlás összege. Kedvezmény szám A vásárláskor kapott kedvezmény. tkedvezmény tábla: Tól szám A kedvezmény szint alsó határa. Százalék szám A határt meghaladó vásárlás esetén adható kedvezmény. Kulcsok, kapcsolatok A vastagon szedett mezık az elsıdleges kulcsok. Az idegen kulcs kapcsolatok az alábbiak: a tvásárlások tábla Kártyaszám mezıje kapcsolja a táblát a tügyfél táblához, és a tvásárlások tábla Bolt mezıje kapcsolja a táblát a tbolt táblához. A táblák közti kapcsolatok a következık: 1
1. Importáld a tbolt táblát az Boltok.xls fájlból! Ha az importálás nem sikerült, akkor is hozd létre a tbolt táblát a leírás alapján! 1 pont Sikeres importálás (adatok átvitele sikeres volt) 1 pont 2. Hozd létre az adattáblák közti kapcsolatokat, a fenti ábrának megfelelıen! Minden kapcsolatnál állítsd be, hogy az ACCESS a hivatkozási integritást ırizze meg! 2 pont Megfelelő mezők között 1 pont (2*0,5) Hivatkozási integritás megőrzése 1 pont (2*0,5) 3. Lekérdezés 1: Listázd ki azonakt a nem budapesti ügyfeleknek a nevét, címét, egyenlegét, akiknek az e-mail címe nem ismert! A lista egyenleg szerinti csökkenı sorrendben tartalmazza az adatokat! 4 pont Megfelelő tábla 0,5 pont Feltétel <> Budapest 1 pont megfelelő mezők (irányítószám, város nem kötelező) 0,5 pont e-mail is null (azért nem jár levonás, ha látszik) 1 pont rendezés, csökkenően 0,5+0,5 pont 2
4. Lekérdezés 2: Listázd ki azoknak az üzleteknek a nevét és a címét, ahol már volt 10.000 Ft feletti vásárlás. Minden üzletet csak egyszer írj ki, a lista legyen név szerinti ABC sorrendben rendezett! 4 pont vagy Megfelelő táblák 1 pont Feltétel: összeg (>1000) 1 pont Megfelelő mező rendezve (név) 0,5 pont Összeg oszlop nem látszik 0,5 pont Egyszer látszik: distinct 1pont. Alternatív megoldásban Group by és where áll. 3
5. Lekérdezés 3: Add meg azoknak az ügyfeleknek nevét és a kártyaszámát, akik legalább 3 alkalommal vásároltak egyedileg (vásárlásonként és nem összességében) 5000 Ft felett. Az eredményben tehát csak az ügyfél neve, kártyaszáma és a vásárlások száma szerepeljen, utóbbi oszlop felirata legyen: Vásárlások száma. 6 pont Megfelelő táblák (2 db), megfelelő mezők látszódnak (4 db) 1 (0,5 + 0,5) pont Group by (kártyaszám. vezetéknév, keresztnév) 1 pont tvásárlások.azonosító/kártyaszám (count) 1pont HAVING (van és helyes feltétel >=3) 1 (0,5 + 0,5) pont WHERE (Összeg > 5000) 1 pont A feltételek ÉS kapcsolata, felirat ( Vásárlások száma ) 1 (0,5 + 0,5) pont 4
6. Lekérdezés 4: Készíts lekérdezést, ami kiírja azoknak az üzleteknek a nevét, ahol még nem vásárolt törzsvásárló! 4 pont vagy Megfelelő tábla (táblák) 1 pont Jó mező látszik 0,5 pont NOT IN és helyes al-select 1+1,5 pont vagy IS Null a tvásárlók tánla valamelyik mezőjében és jó kapcsolat a táblák között (az ábra alapján LEFT JOIN) 1+1,5 pont 5
7. Lekérdezés 5: Lekérdezés segítségével töröld le azon ügyfeleket, akik egyetlen egy alkalommal sem vásároltak, azaz az egyenlegük 0. 3 pont Törlő lekérdezés 1 pont Jó tábla (tügyfél) 0,5 pont From (tügyfél.*) 0,5 pont Jó feltétel egyenleg=0 1 pont vagy Al-select+Helyes al-select Kártyaszám mezőre: (NOT IN (SELECT Kártyaszám FROM tvásárlások) 1 pont 6
8. Készíts egy őrlapot, amely tartalmazza az Ügyfelek adatait, továbbá vásárlásaik adatait az alábbiak szerint: az őrlapon jelenjen meg az is, hogy az ügyfél melyik áruházban (név), mikor és milyen értékben vásárolt. Az őrlap megjelenítési lehetıségei között a görgetısávokat és a rekordkijelölıket ne engedélyezd. Az őrlapon helyezz el egy bezáró gombot is, melynek segítségével bezárható az őrlap. 5 pont Űrlap: helyes rekordforrással, mezőkkel 1 pont Segédűrlap, helyes működés 2 pont Ebből: Többi mező (áruház neve, dátum, vásárlás összege) 1 pont Bezáró gomb 1pont Görgetősáv és rekordkijelölő tiltása 0,5 + 0,5 pont Jó munkát! 7