Megoldások az Adatbázis-kezelés fejezethez Az adatbázis-objektumok készítésére vonatkozó feladatok megoldásait a mellékelt fájlok tartalmazzák. Az adatbázisoknál és tábláknál meghagytuk a feladatgy jtemény elnevezéseit. Az adatbázis többi objektumát (lekérdezések, jelentések, rlapok) a feladat sorszámával jelöltük. Ha a fájlnévben nincsen sorszám, akkor több – azonos nev adatbázisra hivatkozó – feladat megoldását is tartalmazza. 1. feladat Adatbázisokat használnak a bevezet ben felsoroltakon kívül a katalógus-áruházak, az áram- és gázszolgáltatók, az okmányirodák, a Belügyminisztériumban a rendszámok nyilvántartásához stb. 2. feladat Az iskolában általában a titkárságon, a gazdasági szervezetnél és a könyvtárban használnak adatbáziskezel -rendszert. 3. feladat Egyed: cica. Tulajdonságok: név, fajta, kor stb. El fordulás: Mirci, a 2 éves sziámi cica stb. 4. feladat Egyedek: állampolgár, személyautó, vev stb. Egyszer tulajdonságok: vezetéknév, a megrendelt áru darabszáma, a január havi gázfogyasztás, az autó rendszáma stb. Összetett tulajdonságok: lakcím, egy növényfaj tudományos megnevezése, a tévésorozat kezdési ideje stb. 5. feladat Egy-egy fokú kapcsolatok: személy – anyanyelv, autó – CASCO biztosítás. Egy-több fokú kapcsolatok: anya – gyermek, rendez – film. Több-több fokú kapcsolatok: el adó – zenei CD, számla – áru. 6. feladat Lottószelvény, villamosjegy, vasúti menetrend (a szokásos nyomtatott formájában). 7. feladat a) A CD-k vonalkódja, vagy a kiadó neve és a CD címe. b) A megye megnevezése. c) A két csapat neve. Ha van visszavágó, akkor még az egymással lejátszott mérk zések sorszáma. 8. feladat Például ha a vonalkódot tekintjük kulcsnak, akkor: kiadói katalógusszám → kiadó, cím, ár kiadó → postai cím a szám címe → szerz , id tartam 9. feladat Egy lehetséges megoldás: ALBUM(Albumkód, AlbumCím, Kiadó, Ár, MegjelenésÉve) FELVÉTEL(Felvételkód, FelvételCím, Albumkód, Sorszám, Hossz) EL ADÓ(El adókód, El adónév) SZEREPEL(El adókód, Felvételkód) A táblák neve után zárójelben soroltuk fel a tulajdonságokat (mez ket). A kulcsot aláhúzással jelöltük.
1
10. feladat Az el z megoldás jelöléseit alkalmazva: MEGRENDELÉS(Sorszám, Vev név) FOGLALÁS(Sorszám, Szobaszám, Dátum) SZOBA(Szobaszám, Típuskód) SZOBATÍPUS(Típuskód, Ágyszám, NapiÁr) 11. feladat Sorszám
Sorszám
Szobaszám
Típuskód
MEGRENDELÉS
Szobaszám
SZOBA
SZOBATÍPUS
Vev név
FOGLALÁS
Típuskód
Ágyszám
Dátum
NapiÁr
12. feladat Ability Database: Táblázatok, Relációk, Lekérdezések, rlapok, Jelentések, Makrók. Microsoft Access: Táblák, Lekérdezések, rlapok, Jelentések, Adatelérési lapok, Makrók, Modulok. Adabas D: többek között Táblák, Nézetek, Felhasználók, Lekérdezések stb. 13. feladat Például webszerver – böngész , mail-szerver – levelez ügyfélprogram. Az ügyfél–kiszolgáló modell m ködik akkor is, ha az egyik alkalmazásba (például prezentáció) egy másik alkalmazás (például táblázatkezel vagy médialejátszó) objektumát illesztjük be. 14. feladat Ability Database: a Súgó menüben kattintsunk a Felhasználói Útmutató parancsra, majd a Témakörökre. A Tárgymutatóban keressük meg a Súgó bejegyzést. Adabas: az alkalmazás nem tartalmaz magyarázatot a Súgó (Help) használatához. MS Access: kattintsunk a Súgó menüben az Microsoft Access súgója, majd a megnyíló Súgó ablakban a Segítség feliratra. 15. feladat Fájl/Új/Üres adatbázis. A névadás után kattintsunk a Létrehozás gombra. 16. feladat Beszúrás/Tábla/Tervez nézet. Vegyük fel a következ mez ket: Sorszám, Név, Cím, Telefon, Névnap. 17. feladat A Sorszám mez kijelölése után: Szerkesztés/Els dleges kulcs. A Név mez re kattintva állítható a Mez méret és a Kötelez (Igen) tulajdonság. 18. feladat Beszúrás/Tábla/Tábla importálása. A fájltípus (Szövegfájlok) kiválasztása után megkereshetjük a fájlt. A varázslónál jelöljük be, hogy az els sor tartalmazza a mez neveket. Az Access adjon els dleges kulcsot a táblához. 19. feladat A mez tulajdonságok Megjelenítés paneljén találjuk a vezérl elem típusát megadó legördül listát. 20. feladat A navigálás módszerének leírását a Navigálás a rekordok között cím leckében találjuk. Az importálásnál figyeljünk arra, hogy sok Szám típusú mez t az adatbázis-kezel szövegként olvasna be. A dupla pontosság helyett használjunk Egyszeres típust. 2
21. feladat A visszavonási lehet ségeket az Adatok bevitele és módosítása cím leckében találjuk. 22. feladat Mindkét kérdésre a választ a megadott név keresésével kapjuk. Az els esetben elegend a fovaros mez ben keresni, a másodiknál az egész táblában keressünk. Niue ország Óceániában, Doha pedig Qatar f városa. 23. feladat 1. Adatlap nézetben kattintsunk a SZERZO mez egy cellájára, majd válasszuk a Rekordok/Rendezés parancsot. 2. Adatlap nézetben helyezzük egymás mellé és jelöljük ki a két mez t, majd válasszuk a Rekordok/Rendezés parancsot. 24. feladat A Tervez nézetben az Általános tulajdonságlapon találjuk az Indexelt tulajdonságot. Mivel azonos értékek is szerepelnek, mindkét mez nél a „lehet azonos” típusú indexet választhatjuk. 25. feladat Kattintsunk Demjén Ferenc egy rekordjára, majd a Rekordok/Sz r /Sz rés kijelöléssel parancsra. Ezután kattintsunk egy CD-t tartalmazó rekordra, és ismételten a Sz rés kijelöléssel parancsra. Az adatbázis kés bbi megnyitásainál a Rekordok/Sz rés, rendezés paranccsal be kell kapcsolni a sz r t. 26. feladat Választó lekérdezések például: 1. Melyik szerz nek (el adónak) hányféle albuma található a boltban? 2. Hányféle CD található a választékban? 3. Ki a legdrágább kazetta szerz je (el adója)? 4. Listázzuk ki a címeket ábécérendben! Módosító lekérdezések például: 1. Töröljük a táblából a kazettákat! 2. Készítsünk új táblát a CD-k szerz ib l! 3. Csökkentsük a CD-k árát 10 %-kal! 27. feladat < #2001.01.01.#
28. feladat Az els lekérdezés a 93036 km2-nél (Magyarországnál) kisebb terület , a második pedig a középeurópai országokat válogatja ki. 29. feladat A lekérdezés sz r feltétele: [Egtaj] = "Észak" 30. feladat ”m*k”
31. feladat 1. [Megye] In ("Fejér";"Somogy";"Veszprém";"Zala") 2. [Lakas] Between 250 And 260 32. feladat Not [Nepsuruseg] = "S"
Helyette használhatjuk a [Nepsuruseg] <> "S" feltételt is.
3
33. feladat 1. A lekérdezést rendezzük a terület szerint növekv sorrendbe, majd a Csúcsérték tulajdonsághoz írjunk be 3-at! 2. A lekérdezést rendezzük a lakosság szerint csökken sorrendbe, majd a Csúcsérték tulajdonsághoz írjunk be 2-t! 34. feladat Az Egtaj mez feltételéhez írjuk be: [Melyik égtáj?] 35. feladat [Város] = "Budapest" And [SzületésiId ] > #1996.01.01.#
36. feladat Mozart, Beethoven vagy (!) Schubert azon m veit választja ki, melyek nem szimfóniák. 37. feladat Azok a megrendelések felelnek meg a feltételnek, melyek budapestiek, vagy a város Szeged, de a dátum 2000. január 1. el tti. 38. feladat A budapesti és pécsi lakosok: Mez : Feltétel: vagy:
Város ”Budapest” ”Pécs”
A földrész nem Európa, de nem is Afrika: Mez : Feltétel: vagy: Mez : Feltétel:
Földrész <> ”Európa”
Földrész <> ”Afrika”
Földrész Not In (”Európa”; ”Afrika”)
Csak a budapesti harmadikos és negyedikes tanulók: Mez : Feltétel:
Város ”Budapest”
Osztály 3 Or 4
Város ”Budapest” ”Budapest”
Osztály 3 4
vagy: Mez : Feltétel: vagy:
A nem budapesti és pécsi lakosok Mez : Feltétel:
Város Not ("Budapest" Or "Pécs")
vagy: Mez : Feltétel:
Város <> ”Budapest”
Város <> "Pécs"
A kék Fordok és a bordó Suzukik: Mez : Feltétel: vagy:
Szín ”kék” ”bordó”
Márka ”Ford” ”Suzuki”
4
A kék és bordó Fordok vagy Suzukik: Mez : Feltétel:
Szín ”kék” Or ”bordó”
Márka "Ford" Or ”Suzuki”
39. feladat Az SQL-nézetre a Nézet menü vagy az Eszköztár segítségével válthatunk át. 40. feladat 1. [Vezetéknév] & " " & [Keresztnév] 2. Date() – #1456.07.22.# 3. Ha az Infláció mez Formátum tulajdonságát Százalékra állítottuk, akkor: [Fizetés] * (1 + [Infláció])
41. feladat A lekérdezésbe a [Lakossag]*1000000/[Terulet] kifejezést írjuk be! 42. feladat A lekérdezéshez felhasznált kifejezés: Left([Neme]; 1) 43. feladat Mez : Feltétel:
Orszag
Egtaj "Észak"
Terulet [Lakossag]*1000000/[Terulet] > 100
A lekérdezést elkészíthetjük úgy is, hogy egy számított mez ben meghatározzuk az egyes országok néps r ségét, majd erre a mez re írjuk el a > 100 feltételt. 44. feladat A lekérdezést a Nézet menü Összesítés parancsával alakítsuk át összesít lekérdezéssé! Az átlagos néps r séget a lakosság és a területek összegéb l számítjuk ki: Mez : Összesítés:
Orszag Count
Lakossag Sum
Terület Sum
Kif1: [SumOfLakossag]*1000000/[SumOfTerulet] Expression
45. feladat Az egyes osztályok tanulmányi eredményeinek átlaga: Mez : Összesítés:
Osztály Group By
Eredmény Avg
Az egyes városokból az osztályokba járó tanulók száma: Mez : Összesítés:
Város Group By
Osztály Group By
Név Count
46. feladat Mez : Összesítés: Feltétel:
Szerz Group By
Ár Min <= 2000
47. feladat Mez : Összesítés: Feltétel:
SZERZO Group By "Demjén Ferenc"
CIM Count
AR Where
TIPUS Where
> 3000
"CD"
48. feladat A kereszttáblás lekérdezéseket a leckében részletesen leírt lépésekkel készíthetjük el.
5
49. feladat A lekérdezéseket a Lekérdezés menü Frissít , illetve Törl lekérdezés parancsával alakíthatjuk át. Figyeljünk arra, hogy a megnyitás/futtatás során az adatbázis-kezel végrehajtja a módosításokat! Az LGT együttes CD-inek ármódosítása: Mez : Módosítás: Feltétel:
AR [AR] + 200
SZERZO
TIPUS
"LGT"
"CD"
Az EDDA együttes kazettáinak törlése: Mez : Törlés: Feltétel:
SZERZO Where "EDDA"
TIPUS Where "MC"
50. feladat Célszer el ször egy új adatbázist készíteni, amelybe importáljuk a feladatgy jtemény CD-jén található barat.txt és csopcim.txt fájlok tábláit. A lekérdezés létrehozásához kövessük a leckében ismertetett lépéseket. Mivel a CD-n a barat.txt tábla mez neveiben nincsenek ékezetek, nekünk kell elvégeznünk a mez k egymáshoz rendelését: Mez : Tábla: Hozzáf zés:
Nev Barat Név
Ir sz Barat Ir_szám
Varos Barat Város
Cím Barat Utca
Tel Barat Telefon
51. feladat Készítsük el a lekérdezéseket, és a Lekérdezés menü Táblakészít lekérdezés parancsával alakítsuk át. Az új tábla neve ne egyezzen meg a lekérdezés nevével! A CD-ket tartalmazó tábla létrehozása: Mez : Feltétel:
Lemezbolt.*
TIPUS "CD"
A kazettákat tartalmazó tábla létrehozása: Mez : Feltétel:
Lemezbolt.*
TIPUS "MC"
A TIPUS mez nél kapcsoljuk ki a megjelenítést! Az új táblák a lekérdezések futtatásakor (vagy megnyitásakor) jönnek létre. 52. feladat Válasszuk a Beszúrás menü Jelentés, majd az AutoJelentés parancsokat. A tábla kijelölése után a jelentések automatikusan elkészülnek. 53. feladat Tervez nézetre a Nézet menü vagy a Tervez nézet ikon ( ) segítségével válthatunk át. 54. feladat 1. A mez törlését az egérrel történ kijelölés után a Delete billenty vel végezhetjük. Töröljük ki a feliratot is. A felszabaduló helyet felhasználhatjuk a Lakosság és az Égtáj mez k nagyobb mérték elkülönítéséhez. 2. Egy felirat módosításához kétszer egymás után kattintsunk rá az egérrel. 3. A Now() függvény helyett használjuk a Date() függvényt. 55. feladat A jelentést a varázslóval készítsük el! Vegyük fel az Európa tábla összes mez jét, majd a csoportszintekhez adjuk hozzá az Egtaj mez t. Az Összesítési beállításoknál jelöljük be a Lakossag és a Terulet mez k összegezését (Össz).
6
56. feladat A jelentés kiválasztása vagy megnyitása után a Fájl menü Küldés levélben parancsával készíthetünk mellékletet. Ez a funkció csak akkor használható, ha a számítógépen beállítottunk egy e-mail ügyfélprogramot (Outlook Express, Pegasus Mail stb.). Webes felületen – például a Freemail-lel – történ levelezés esetén nem m ködik! 57. feladat A diagram elkészítéséhez használjuk a Diagram varázslót. Vegyük fel az Egtaj és a Terulet mez t, válasszuk ki a Kördiagram típust. Az elkészült diagramot a tervez nézetben módosíthatjuk. Ha dupla kattintással átváltunk szerkeszt üzemmódba, akkor a táblázatkezel knél megismert funkciókat használhatjuk. A diagram egyes részeinek (adatsorok, feliratok, jelmagyarázat stb.) formázását a jobb egérkattintásra feltáruló helyi menü segítségével végezzük el. 58. feladat A Beszúrás menü Jelentés parancsával elindíthatjuk a Címke varázslót. A méret kiválasztása után vegyük fel a szükséges mez ket (például: Név, Ir_szám, Város, Utca). Közben a kurzormozgató billenty kkel vagy az Enterrel kezdhetünk új sort. 59. feladat Válasszuk a Beszúrás menü rlap parancsát. Jelöljük ki az oszlopos, illetve táblázatos auto rlapot, majd az Europa táblát. Az rlap automatikusan elkészül. 60. feladat Tervez nézetben jelöljük ki az rlapot, majd a Nézet menü Tulajdonságok parancsával hívjuk el a tulajdonságlapot. Ezen módosíthatjuk az ablak címét (Cím) és a háttérképet (Kép). 61. feladat Nyissuk meg az rlapot, és keressünk egy közép-európai országot. Kattintsunk az Egtaj mez re, majd a Rekordok menü Sz rés/Sz rés kijelöléssel parancsára. Kattintsunk a Terület mez re, aztán a Rekordok menü Rendezés (csökken ) parancsára. Az rlap ismételt megnyitása esetén újra be kell kapcsolni a sz r t. 62. feladat A vezérl elemeket Tervez nézetben helyezhetjük el az rlapon. Célszer módosítani a bet típust (Arial) és a bet méretet (9 pont). A km2 fels indexét csak egy újabb Felirat vezérl elem segítségével emelhetjük meg. 63. feladat Készítsünk auto rlapot, és váltsunk át Tervez nézetre. Töröljük a KIRÁLY mez t, majd helyezzünk el egy jelöl négyzetet. Mozgassuk a feliratot a többi felirat oszlopába, és írjuk át KIRÁLY-ra. A jelöl négyzet Adat tulajdonságlapján kössük hozzá a KIRÁLY mez höz. 64. feladat Készítsünk oszlopos auto rlapot. A Tervez nézetben kapcsoljuk be a Vezérl elem varázslót, majd helyezzünk el egy Kombi panel vezérl elemet az rlapfejben. A megjelen ablakban válasszuk az utolsó lehet séget és az Orszag mez t. 65. feladat 1. Year([Dátum])=Year(Date()) 2. >=1000 And <=9999 3. Not In ("Budapest";"Pécs";"Szeged")
7
66. feladat Az adatbázisfájl letöltéséhez nyissuk meg a www.ecdl.hu weblapot, majd a belépés után válasszuk a Vizsgarendszer hivatkozást. A megjelen weblapon az ECDL példatár hivatkozás segítségével léphetünk át a szükséges fájlt tartalmazó oldalra. A Pizzák tábla tartalmazza az egyes rendelések kódját, a megrendelt pizzák és méretük kódját, illetve a darabszámot. A tábla kulcsát a Rendeléskód, Pizzakód és Méretkód mez k alkotják. A könnyebb áttekintéshez célszer a Rendeléskód mez t áttenni az els helyre (a tábla bal szélére). A kulcs létrehozásához jelöljük ki a Tervez nézetben a három mez t, majd válasszuk a Szerkesztés menü Els dleges kulcs parancsát. A táblák Bachman-diagramja: Pizzakód
Rendeléskód
Rendeléskód
Címkód
PIZZA
Pizzakód
RENDELÉS
CÍM
Pizzanév
Méretkód
Címkód
Vezetéknév
PIZZÁK
Dátum
Keresztnév
Darab
Id
Kerület
Méretkód
Utca
MÉRET
Telefon
Méretnév
Megjegyzés
A táblák megfelelnek a 3. normálformának. 67. feladat A Kapcsolatok ablakot az Eszközök menü Kapcsolatok parancsával vagy az Eszköztár segítségével nyithatjuk meg. Kattintsunk az egérrel egy összeköt vonalra, majd a Delete billenty vel töröljük ki a kapcsolatot. Ismételt létrehozásához tegyük át az egérrel a kapcsolómez t az egyik táblából a másik tábla megfelel mez jére. Egy kapcsolat tulajdonságainak módosításához kattintsunk a jobb egérgombbal az összeköt vonalra, majd válasszuk a Kapcsolat szerkesztése parancsot. A megjelen párbeszédablakban állíthatjuk be a hivatkozási integritás meg rzését, a kaszkádolt frissítést és törlést. 68. feladat A lekérdezésbe vegyük fel a Cím és a Rendelés táblát. A Tervez rács kitöltése: Mez : Tábla: Rendezés:
Vezetéknév Cím Növekv
Keresztnév Cím Növekv
Dátum Rendelés
Id Rendelés
69. feladat A lekérdezés Tervez nézetében a Cím és a Rendelés tábla közti illesztési tulajdonságot állítsuk bal oldali laza illesztésre (2. pont). 70. feladat A jelentést varázsló segítségével hozzuk létre. Vegyük fel a Rendelés tábla Dátum mez jét és a Pizza tábla Pizza név mez jét. A lekérdezés alapján készül jelentéshez vegyük fel egy lekérdezésbe mindkét táblát és a kapcsolatot biztosító Pizzák táblát!. A tervez rácsban csak a Dátum és a Pizza név mez k szerepeljenek. Alakítsuk át összesít lekérdezéssé, és mindkét mez szerint végezzünk csoportosítást. A jelentés készítésénél ezt a lekérdezést jelöljük ki a varázslónak. 8
71. feladat Az rlapokat a varázslóval készítjük el. Vegyük fel a szükséges mez ket, és jelöljük ki az rlap típusát. A csatolt rlapot a Rendelés gombra való kattintással nyithatjuk meg. 72. feladat Az adatbázist kizárólagos módban nyissuk meg. Kattintsunk az Eszközök menü Adatvédelem parancsára, és válasszuk az Adatbázisjelszó beállítását. Írjuk be mindkét szövegmez be a jelszót. A Lemezbolt72.mdb fájlnál az „Adatok” jelszót állítottuk be. 73. feladat A választ a hálózat rendszergazdájától kapjuk meg. A használt operációs rendszer függvényében a MySQL vagy az MS SQL Server kiszolgálókat találhatjuk meg a leggyakrabban. 74. feladat A Fájl menü Új parancsára megjelen munkaablakban válasszuk ki az Új fájl létez fájlból/Fájl kijelölése parancsot. Jelöljük ki az adatbázis fájlt, majd kattintsunk az Új parancsgombra. Az adatbáziskezel létrehozza és megnyitja az adatbázis másolatát (LemezboltArchiv).
9