Adatbziskezels 2 10 Gyakorlat Dr Pauler Gbor egyetemi
Adatbáziskezelés 2 10. Gyakorlat Dr. Pauler Gábor, egyetemi docens PTE-TTK BRTT, 7624 Pécs, Ifjúság u. 6. F 104 Mobil: 30/9015 -488, Skype: gjpauler E-mail: pauler@t-online. hu Facebook: Pécs Gazdinfo Adatbázis http: //www. facebook. com/groups/278606362188127/ ftp: //gamma. ttk. pte. hu/pub/pauler/Database 2/
A gyakorlat tartalma 9. Házi Feladat ellenőrzése: Több táblás lekérdezések Relációs adatbáziskezelők GUI tervezés (folytatás) Tervezési példa: Terhesség űrlap Létrehozás MS Accessben Törzstáblák létrehozása Tranzakciós táblák létrehozása Relációk definiálása A főűrlap adatforrás lekérdezésének létrehozása A főűrlap létrehozása űrlap varázslóval Segédűrlap létrehozása Webes adatelérési lap létrehozása Kapcsolótábla űrlap létrehozása Alkalmazás-futtatási beállítások Tesztelés minta-adatokkal 10. Házi Feladat: Űrlapok létrehozása Accessben Szakirodalom
GUI tervezés: Példa: Terhesség űrlap: Törzs- és tranzakciós táblák Katt Ka Katt tt Katt Ctrl S Ka tt Katt A megoldást Access’ 03 Katt -ban: Pregnacy. mdb-ben mutatjuk be, ezt kopasz Katt táblákból kell felépítenie Katt önállóan: My. Pregnacy. mdb 1. LÉPÉS: Üres adatbázis létrehozása Fájl|Új|Üres adatbázis (File|New|Empty database) menüvel 2. LÉPÉS: Törzstáblák létrehozása: mivel ezekre hivatkoznak a tranzakció táblák, így először ezeket hozzuk létre: Táblák|Tábla létrehozása tervező nézetben(Tables| Create table) Állítsuk be a Mezőneveket és Adattípusaikat. Az 1. -leges kulcsok típusa legyen Számláló(Autonumber) ( )gombbal jelölhet ki 1. -leges kulcsot Ctrl+S-el mentsük a táblastruktúrát és ( ) gombbal váltsunk adat nézetre A táblába rögzített adatok automatikusan mentődnek lemezre Á tábla oszlop elrendezése kompaktabbá tehető Formátum|Oszlopszélesség| Legjobb illeszkedés(Format| Column width|Best width) menüvel Ctrl+S-el mentsük az elrendezést 3. LÉPÉS: Tranzakció táblák kreálása: hasonló az előzőhöz, de az idegen kulcsok legördülőből, kinézegető táblás kitöltéssel működjenek, a referenciális integritás ellenőrzés miatt: A Megjelenítés(Appearence) fülön a Vezérlőelemet(Control) állítsuk Kombinált listára(Combo box) tt Ka Katt Ka tt Katt Sorforrás (Rowsou. Ka rce) legyen a reláció hitt vatkozott 1 oldali táblája Katt Kötött oszlop(Tied column) legyen 1, mivel az 1. -leges kulcs ezen Katttábla első mezője
tt Katt Ka Katt Ka Katt tt Katt Hú z z OK gomb: létrehoz Ctrl+S: relációk és ERDlayout mentése Hú Ctrl S Katt Shi Katftt tt Ka Katt Ka Húz Oszlopszám(Number of columns) legyen 2 vagy 3, mivel a kinézegető táblában az 1. leges kulcs számkódjai mellett kellene lenni valami szöveges magyarázó mezőnek (pl. Name), ami általában a táblák 2. -3. mezője Jelöljük be a Csak lista-elemet(List element only), így kézi beírásra is csak 1. leges kulcs értéket fogad el! Ha egy mező kevés értéket vehet fel (Pl. Status={„Normal”, ”Preterm”}), nem érdemes külön kinézegető táblát csinálni, hanem a Sorforrás típusát (Row source type) állítsuk Listára (List) és a Sorforrásnál(Row source) soroljuk fel kézzel az értékeket „; ” -vel elválasztva („, ” in English) 4. LÉPÉS: Relációk kreálása: ha nem Visioból generáltuk az adatbázist, defináljuk kézzel a relációit: ( )gombra üres ERD-t ad Tábla hozzáadás(Add tables )-re előjön a Táblák panel, ahol mindenre Shift+Katt, majd Hozzáadás(Add) Húzzuk az idegen kulcsmezőket az 1. legesekbe: a Kapcsolatszerkesztő (Relationship editor) előjön: Jelöljük be a Hivatkozási integritás megőrzését (Enforce referential integrity) , ami biztosítja, hogy: 1 -ne lehessen nemlétező 1. leges kulcs értéket az idegen kulcsba írni, 2 -nem lehet az 1. leges kulcs oldaláról rekordot törölni, amíg idegen hivatkozik rá Katt GUI tervezés: Példa: Terhesség űrlap: Relácók létrehozása
A gyakorlat tartalma 9. Házi Feladat ellenőrzése: Több táblás lekérdezések Relációs adatbáziskezelők GUI tervezés (folytatás) Tervezési példa: Terhesség űrlap Létrehozás MS Accessben Törzstáblák létrehozása Tranzakciós táblák létrehozása Relációk definiálása A főűrlap adatforrás lekérdezésének létrehozása A főűrlap létrehozása űrlap varázslóval Segédűrlap létrehozása Webes adatelérési lap létrehozása Kapcsolótábla űrlap létrehozása Alkalmazás-futtatási beállítások Tesztelés minta-adatokkal 10. Házi Feladat: Űrlapok létrehozása Accessben Szakirodalom
GUI tervezés: Példa: Terhesség űrlap: Adatforrás-lekérdezés és főűrlap létrehozása Katt tt Ka Katt t Shiftt Ka Hú z Ctrl S tt Katt tt Ka Katt Ka tt Ctrl S Katt Ka tt z Hú 5. LÉPÉS: Adatforrás lekérdezés kreálása: Womans, Pregnacies, Fathers összecsatolva kell lekérdezni, mint főűrlap adatforrást Lekérdezések|Létrehoz tervező nézetben (Queries|Create query in design view) Táblák hozzáadása(Add tables) feljön, kijelöljük a fenti táblákat Shift+Kattal, majd Hozzáadás(Add) gombra behozza, és öszszecsatolja őket a relációik alapján Lehúzzuk a táblák összes mezőit a szerkesztőrács Mező(Field)sorába és Ctrl+S-el mentünk Pregnacy. Form. Base. Query néven 6. LÉPÉS: Pregnacy. Form főűrlap létrehoz: Űrlap|Létrehozás varázslóval(Form|Create form with wizard) elindítja a varázslót: Kijelöljük a Pregnacy. Form. Base. Query-t oszlopait adatforrásként ( ), Next gomb A varázsló rájön, hogy ez több táblás, és rákérdez melyik a bázistábla: Adatmegjelenítés(Appear data)=Pregnacies és Egyszerű űrlapot(Simple form) választunk Next gombra rákérdez az Űrlap szerkezetre(Form structure)=Oszlopos(Columnar) Next gombra rákérdez a Stílusra(Style) =Szabványos(Standard), Next gombra: Űrlap címe(Form name)=Pregnacy. Form Finish gombra az űrlap futni kezd. ( ) gombra átválthatunk tervező nézetre ahol: Az Űrlap láblécet(Form footer) lehúzzuk szép nagyra, hogy elférjen rajta az alűrlap Az Adatmegjelenítőket(Data control) és Cím szövegdobozaikat(Title textbox) áthúzzuk egy kompaktabb elrendezésbe Ctrl+S-el lementjük az űrlap változásait Húz
GUI tervezés: Példa: Terhesség űrlap: Segédűrlap létrehozása Katt Ka Katttt Katt z Hú Húz z Hú Ctrl X Húz Kat t z Katt Ka tt Hú Ctrl V Katt 6. LÉPÉS: Baby. Sub. Form alűrlap kreációja: Űrlaptervezőben: Nézet|Eszköztárak|Vezérlők(View|Toolbars|Controls) menüben: Segédűrlap(Subform)( )kontrollal kihúzunk egy keretet a főűrlap láblécen, erre elindul az Alűrlap varázsló(Subform wizard): Meglévő adatforrástábla használata (Use exsting table as source) jelöl, Next gomb Babiestábla összes mezőjét bevon( ), Next A Csatolómezőt(Join field) a fő-/ és alűrlap adatforrása közt Listából választjuk (From list)=Pregnacy. ID (ez idegen kulcs a Babies táblában), Next gomb Alűrlap neve legyen Baby. Sub. Form, Next Az alűrlap adatai megjelennek a táblában. Ha nem táblázatszerű lenne, mit kell tenni: Űrlapfejet(Header) 1 sor magasra Húzzuk Katt a kontroll címkéken, Ctrl+X-el kivágjuk Ctrl+V-vel beillesztjük őket a fejlécre, ott Egymás utáni sorba Húzzuk őket Az Űrlap-törzsön(Form body) minden adatkontrollt a saját címkéje alá húzunk Fel. Húzzuk az Űrlaplábat(Form footer) hogy az űrlaptest 1 sor magasságú legyen Dupla. Kattolunk az alűrlap kijelölőn ( ) a Tulajdonságok(Form properties)panelhez A Formátum(Format) fülön, az Alapértelmezett nézet(Default View) = Folytonos (Continous): ez ráveszi az alűrlapot, hogy több 1 sor magas testet mutasson, ami táblának néz ki. Ez a trükk azért szükséges, mert a valódi táblás űrlap formátum nem engedi meg kinézegető táblák működését! Access 2003 SP 2 -től önnállóan megoldja! Katt
GUI tervezés: Példa: Terhesség űrlap: Webes adatelérési lap K Ka att tt Katt Dupla. Kattoljunk a főform kijelölőn ( ). Tulajdonságok(Properties)panel kijön, az Adat(Data)fülön állítsuk a felhasználói jogokat: Törlés engedélyez(Allow delete)=No Beszúrás enged(Allow insert)=Yes Adatbevitel enged(Allow record)=Yes Ctrl+S-el mentsük a főűrlapot 7. LÉPÉS: HTML oldal kreálása: az Access űrlapjai csak munkaasztalon működnek, de 2003 -ban még lehett őket Adatelérési lapként(HTML page) menteni Fájl|Mentés másként(File|Save as) menüben. Add meg: Űrlapnév(Form name)= Pregnacy. Form és Objektum típus (Object type)=Adatelérési lap(HTML Page) A HTML oldal az *. MDB fájlban lévő adatbázist Abszolút elérési úton (absolute path), fogja keresni, adatok mutatása/rögzítése miatt, ezt állítsuk a webszerverre rakáskor A *. HTM és *. MDB fájlok bármely webszerverre pl. http: //httpd. apache. org/ mehetnek A felhasználó a Pregnacy. Form. HTM-et saját browserében látja. Ez a legprimitívebb, de leggyorsabb mód webes GUI kreálására. Sajnos az MS Access webűrlap kontroll csak Internet Explorerrel működik, és letiltja az alűrlapokat, ami lehetlenné teszi rendes webes GUI építését. Ez direkt butítás, hogy el lehessen adni a. Net-et!!! Így az igazán profi megoldások: Szabad licensz: My. SQL + PHP/Java MS: MSSQL +. Net ASPX űrlap Oracle: Oracle DB + Oracle Webűrlap Ctrl S Katt Ka tt tt Ka
A gyakorlat tartalma 9. Házi Feladat ellenőrzése: Több táblás lekérdezések Relációs adatbáziskezelők GUI tervezés (folytatás) Tervezési példa: Terhesség űrlap Létrehozás MS Accessben Törzstáblák létrehozása Tranzakciós táblák létrehozása Relációk definiálása A főűrlap adatforrás lekérdezésének létrehozása A főűrlap létrehozása űrlap varázslóval Segédűrlap létrehozása Webes adatelérési lap létrehozása Kapcsolótábla űrlap létrehozása Alkalmazás-futtatási beállítások Tesztelés minta-adatokkal 10. Házi Feladat: Űrlapok létrehozása Accessben Szakirodalom
GUI tervezés: Példa: Terhesség űrlap: Kapcsolótábla létrehozása Ka Ka tt tt Katt t Ka Ka Katt 8. LÉPÉS: Kapcsolótábla űrlapok kreálása: Egy Access űrlap max. 255 kontrollt tartalmazhat, de bonyolult GUI-n jóval több lehet, ezért szét kell szedni rész-űrlapokra. A Kapcsolótábla(Switch. Board) űrlap a felhasználó adatbeviteli űrlapok közti navigációját szabályozza: csak jelszavas beléptetést (Password entry), Nyomógomb(Push. Button) kontrollokat és grafikát tartalmazhat, de nem lehetnek rajta adatbeviteli kontrollok: Eszközök|Adatbázis segédeszközök |Kapcsolótábla-kezelő(Tools|Database utilities|Switch. Board manager) menüvel indíthatjuk a kapcsólótábla varázslót: Szeretne újat létrehozni(Would you like to create new)=Yes, Szerkesztés(Edit) gomb Adjuk meg a Nevét(Name)=Switch. Board, Új(New) gombbal kérjünk rá új elemet, majd ennek beállítópaneljén: Szöveg(Text)=Pregnacies Parancs(Command)=Űrlap szerkesztés módban(Form in edit mode) Űrlap(Form)=Pregnacy. Form Ne felejtsünk el 1 Kilép(Exit) elemet hozzáadni, különben a felhasználó nem tud kilépni A varázsló automatikusan 1 új űrlapot, 1 adatbázis táblát, és VB modulokat generál. A grafikai megjelenés kivételével ezekbe ne nyúljunk bele kézzel, különben nem fognak működni!
GUI tervezés: Példa: Terhesség űrlap: Alkalmazás-futtatási beállítások Katt tt tt Ka Kat 9. LÉPÉS: Hülyebiztos munkaasztali alkalmazás kreálása: akkor is ha az alkalmazás egy Ka tt felhasználós és munkaasztali, soha nem engedjük meg a felhasználónak, hogy közvetlenül a táblákhoz nyúljon, csak az űrlapokon keresztül érheti őket el Eszközök|Indítás(Tools|Startup) menüre előjön a futtatási beállítások panel: Az alkalmazás címe(Title of Application)= Pregnacy database Űrlap megjelenítése(Show form)= Switch. Board: melyik űrlappal induljon Adatbázis ablak(Show database window): ha ezt engedélyezzük, a felhasználó belenyúlhat a táblákba, így az ő verziójában Enter ezt zárjuk Speciális billentyűk hasz-nálata (Allow hotkeys): ha ezt engedélyezzük a felhasználó még mindig eléri a táblákat, a indítás közben Shift-et nyom! Ezért ezt a végső verzióban letiltjuk, de megtartunk egy fejlesztői példányt, ahol ez enge- Shift délyezve van, különben mi sem tudunk köz- Enter vetlenül a táblákhoz nyúlni többet!
GUI tervezés: Példa: Terhesség űrlap: Tesztelés valós adatokkal tt Ka 10. LÉPÉS: Az alkalmazás tesztelése: 50 -100 db, a várható adatokat jól reprezentáló minta. O. Dzsenifer Talán a Pista 2010. 11. 15 rekord rögzítésével letesztelhet 1986. 04. 25 1991. 06 2011. 06. 25 jük a rendszert. Megfigyelhetjük: Szűcs doki 2005. 11. 30 Hogy az űrlapok adatforráslekérdezései, hogyan működnek O. Brian 5 Preterm 2 irányú adatkapcsolatként (↔) az űrlapok és a táblák közt, akár új rekordokat( ) létrehozva ben. Katt nük automatikusan számozott Fathers 1. leges kulcs mezőkkel (ez Women Fathe Woma Father Birth Date. Of First azért van mert Auto. Number r n Name Date Birth Menses ID típusúra állítottuk őket) ID 1961. 02. 1978. 03. 1 1 John Howard Hogyan generálódnak 1 Jane Howard 1966. 02. 12 01 1 automatikusan az idegen 1966. 04. 1985. 12. 3 2 Robert Pickford 2 Rose. Pickford 1971. 05. 25 01 1 kulcsok, amelyek az új Angelo 1973. 04. Pregnacies 2005. 11. 3 3 rekordokat összekapcsolják 3 O. Dzsenifer 1991. 06. 21 Pregnac Fath 06 0 Woma D'Agostiono 1986. 04. Hogy hozza föl a mezők tárolt y Last Date. Of Obsn 4 Talán er a Pista 25 Menses Lay tetrist ID ID ID értékeit az űrlapra, és viszi 1983. 05. 1984. 02. Dr. vissza a rögzített adatokat 1 01 02 Schultz 1 1 1989. 07. 14 1991. 11. Babies 3 15 1993. 12. Baby 4 Name 30 ID 2010. 11. 5 15 1 Ben Howard 1990. 04. Dr. 16 Schultz 1992. 06. 25 Dr. Ward 1994. 08. Dr. Statu Pregna cy s 10 Schultz ID 2011. 06. Szűcs Norm 25 doki 1 al 2 Alice Howard Norm 2 al Wilfred Preter 2 1 1 2 2 2 3 3 4
10. Házi Feladat: Űrlapok létrehozása Accessben Hozzon létre saját alkalmazásában olyan űrlap rendszert, amely: Legalább egy főűrlapból és egy segédűrlapból áll, Mind a kettőnek az adatforrása több tábla összecsatolt lekérdezése, Az összes idegen kulcsmező legördülővel, kinézegető táblából kitölthető legyen, Az űrlap neve, illetve minden rajta lévő feliratcímke az EHA kódja első 3 karakterével kezdődjön, Print. Screen-nel mentse le az űrlaprendszer képét működés közben, és posztolja ki a tárgy Facebook-oldalára ! (5 pont) Mintamegoldás:
Szakirodalom MS Access Forms tutorialok: http: //www. youtube. com/watch? v=R 3 WHo 7 DAOg 0 http: //www. mstipsandtricks. com/tips-and-tricks/ms-office-tipsand-tricks/ms-access/forms. html http: //office. tizag. com/access. Tutorial/accessforms. php http: //fisher. osu. edu/~muhanna_1/837/MSAccess/tutorials/for m_adv. pdf
- Slides: 14