II. év
Adatbázisok és számítógépek programozása
A programozási ismeretek alapfogalmai a) algoritmus b) kódolás c) program
a) algoritmus: elemi lépések sorozata, amely a következı tulajdonságokkal rendelkezik: véges egyértelmő determinisztikus teljes - az algoritmusok tervezésére, szemléltetésére a következı eszközöket használhatjuk: folyamatábra leíró nyelv struktúr program b) kódolás, amely a feladatot megoldó gépi utasítások vagy programozási nyelv utasítások segítségével történı leírása egy adott számítógépen c) program: az algoritmus alapján határozza meg a számítógép által elvégzendı feladatokat - 3 fajta programozási módot ismerünk: moduláris strukturált programozás obiektum orientált - a programok fordítása, értelmezése a magas szintő programozási nyelveken írt programok, csak fordítás vagy értelmezés után hajthatók végre a számítógépen - a fordító program vagy compiler a forrásprogramot fordítja le a számítógép számára érthetı formában, ugyanezt teszi az értelmezı program, a különbség Robi © 2011
-1-
köztük az, hogy a fordítóprogram megáll az elsı hibánál, míg az értelmezı program végigmegy és egy hibalistán jelzi az elvégezhetetlen feladatokat
Adattípusok, adatszerkezetek -
2 féle: elemi, illetve összetett adattípusok • elemi: egész adattípus, valós számok, logikai adattípus, karakter típus, dátum típus, mutató típus • összetett: tömb, szöveg, verem, sor, lista, rekord
Feladatmegoldás lépései • • • • • • • •
a feladat megfogalmazása a szoftvertechnológiai célkitőzések algoritmus készítése kódolás a program optimalizálása tesztelés, hibakeresés és javítás dokumentálás minıségvizsgálat
Adatbázis fogalmak -
-
adatbázison köznapi értelemben valamilyen rendezett, valamilyen szisztema szerint járó adatokat értünk, melyeket a számítógépen dolgozunk fel az adatok kezelésére adabáziskezelı rendszereket alkalmazunk az adatbáziskezelı rendszernek 2 alapvetı feladata van: 1. az adatbázisok létrehozása, a struktúrák kialakítása, illetve ezeknek adatokkal való feltöltése 2. az adatok lekérdezése a modern adatbáziskezelı rendszerek más funkciókkal is rendelkeznek: • adatvédelem, adatbiztonság • integritási feltételek • szinkronizáció • naplózási feladatok elvégzése (DBMS) • mentés visszaállítási funkció
Robi © 2011
-2-
Adatmodellek -
-
az adatmodell egy olyan fogalom, vagy olyan fogalmak halmaza, amelyek az adatbázisok struktúrájának leírására szolgálnak az adatmodell elemek a következık: • egyed • tulajdonság • kapcsolat egyednek nevezünk minden olyan obiektumot, amely minden más egyedtıl megkülönböztethetı és amirıl adatokat tárolhatunk a tulajdonság vagy attribútum az egyed jellemzıje, amely meghatározza az egyed egy részletét amennyiben egy tulajdonság egyértelmően képes meghatározni az egyedet, akkor azt a tulajdonságot kulcsnak nevezzük a kapcsolat az egyedek közti viszonyt kifejezı érték, kapcsolat két vagy több tábla között jöhet létre 3 fajta kapcsolatot ismerünk: • 1:1-hez kapcsolat, amikor minden egyedhalmaz minden egyede pontosan a másik tábla egyetlen egyedéhez kapcsolódik • 1:N-hez (többhöz) kapcsolat, amikor egy tábla egyik eleme a másik tábla több eleméhez köthetı • N:M-hez (több a többhöz) kapcsolat, amikor az egyik tábla eleme a másik tábla akár több eleméhez is kapcsolódhat és fordítva
Relációs adatbázismodell -
-
-
a relációs adatbázismodell az alábbi 3 komponens együttesét jelenti: • adatstruktúra • mőveletek • integritási feltételek a reláció nem más mint egy táblázat, amelynek az oszlopait mezıknek, a sorokat rekordoknak nevezzük, és a sorok adatokat tartalmaznak a táblázat oszlopait, vagyis a mezıket tulajdonságoknak is szokás nevezni, innen következik, hogy a táblázat sorai az egyed értékei, vagyis a tulajdonságok konkrét értékek a táblák közti relációt kulcsoszlopokkal, kulcs mezıkkel tudjuk biztosítani, megkülönböztetünk elsıdleges, illetve reguláris kulcsokat
Robi © 2011
-3-
A relációs modell integritási feltételei -
az elsı integritási feltétel az ún. egyed integritási szabály, amely szerint a kulcsmezı nem lehet üres, illetve null érték
A redundancia fogalma -
-
az adatbázisszervezés egyik fı célja a redundanciák megszőntetése redundanciáról akkor beszélünk, ha valamely tény vagy a többi adatból következtethetı mennyiséget ismételten tároljuk az adatbázisban a redundancia inkonszisztenciához vezethet(egy adatbázis akkor inkonszisztens, ha egymásnak ellentmondó tényeket tartalmaz) a redundanciát megkell különböztetni a duplikált vagy többszörös tárolástól, amely helyenként szükséges az adatbázisok feldolgozásánál a redundancia megszüntetése céljából az ún. normál formákat alkalmazzuk, a szakirodalom 6 normál formát különböztet meg, ezek egymásra épülnek, olyan értelemben, hogy pl. a 2. normál formában levı reláció az 1. normál formában is van a tervezés során a legnagyobb normál forma elérése a cél, az elsı 3 normál forma a funkcionális függıségekben található redundanciák, míg a 4. és az 5. a többértékő függıségekbıl adódó redundanciák megszőntetésére koncentrál
Az 1. normál forma -
azt mondjuk, hogy egy reláció az 1. normál formában van, ha minden attribútuma(mezıje) egyszerő, nem összetett adat
A 2. normál forma -
egy reláció a 2. normál formában van, ha eleget tesz a feltételeknek: • a reláció az 1. normál formában van • a reláció minden nem elsıdleges attribútuma teljes funkcionális függıségben van az összes relációkulccsal
Robi © 2011
-4-
Fizikai tervezés -
a relációs adatbázisok esetén a logikai tervezés során a relációk már elényerték a végleges alakjukat, fizikai tervezés során inkább arra koncentrálunk, hogy a logikai szerkezet mennyire felel meg a hatékony végrehajtás feltételeinek, illetve milyen indexeket rendeljünk az egyes relációkhoz
Bevezetés a Visual FoxPro-ba
-
-
egy obiektív orientált relációs adatbáziskezelı rendszer, ami lehetıvé teszi az asztali és webes alkalmazások fejlesztését a programfejlesztést az ún. Designerek vagy Builderek vagy Tervezık vagy Generátorok segítik, ezek a tervezık a következık: • Table Designer: lekérdezéseket tervez az adattáblákból • Form Designer: őrlapokat tervez az adattáblák aktualizálása érdekében • Raport Designer: az adatok megjelenítésére és nyomtatására alkalmas • Database Designer • Connection Designer: biztosítja a távoli adatbázisokhoz való csatlakozást a program indítása: Start menü – Programok –Microsoft Visual FoxPro parancsikonra kattintva, vagy a Desktopon levı parancsikonra
A Visual FoxPro ablak felépítése -
-
címsor menüsor/menubar: a legfontosabb menü/almenü parancsokat tartalmazza eszköztár: a legfontosabb eszközöket tartalmazza command ablak: lehetıvé teszi a parancsok közvetlen beírását, rendelkezik gördításávokkal, illetve bezárási gombokkal, elıhívható a Windows menüpontból állapotsor
Alkalmazásfejlesztés menete Visual FoxPro-ban 1. Projekt (prozsekt :D) létrehozása (File - New) 2. Database (adatbázis) létrehozása (Project Manager) Robi © 2011
-5-
3. Adattáblák létrehozása (Project Manager), integritási feltételek beállítása, táblák feltöltése 4. Adattáblák közötti kapcsolatok létesítése (Database Manager) 5. Formok (reportok) megrajzolása, kódok megírása (Project Manager), tesztelés 6. Menürendszer létrehozása, legenerálása (Project Manager) 7. Ini programok megírása (prg) (Project Manager) 8. Futtatható exe állomány generálása 9. Programtesztelés, hibajavítás
A Visual FoxPro projekt elemei • • • • • -
adatok: adatbázisok, táblák, nézetek, kapcsolatok dokumentumok oldala: őrlapok, jelentések, címkék menürendszernek megfelelı oldal: menü, szöveg, kép osztályok programkód: a forrásprogram összessége egy projekt létrehozása után megjelenik az ún. Project Manager ablak, amely tartalmazza a következı oldalakat: ALL ablak: minden egyes obiektumot tartalmaz DATA ablak: tartalmazza az adatbázisokat a benne levı szabad táblákat és a lekérdezéseket DOCUMENTS ablak: tartalmazza az őrlapokat és a reportokat CLASSES ablak: osztálykönyvtárak CODE ablak: forrásprogramok OTHER ablak: menürendszer létrehozásának megfelelı obiektumokat tartalmaz
Adatbázisgenerátor -
A Visual FoxProban több lehetıség van adatbázisok tervezésére: • a File menüben az adatbázisgenerátor (Database Designer) segítségével • a Project Manager ablakban • a Create paranccsal
Robi © 2011
-6-
Adatbáziskészítés a Database Designer segítségével -
-
a File menüben kijelöljük az új opciót és megjelenik az azonos nevő ablak, amelyben kiválasztjuk a Database rádiógombot, ennek hatására megjelenik a Create ablak, ahol megváltoztathatjuk a felajánlott adatbázisnevet a mentés után megjelenik a tervezı ablak, amelyet benépesíthetünk táblákkal, alkalmazhatjuk a kontextuális menürendszert, ahol új táblát hozhatunk létre, illetve szabad táblákat építhetünk be az adatbázisba
Adatbáziskészítés a Project Manager ablakban -
kiválasztjuk a Data oldalt, majd a Database opciót, amelynek hatására aktiválódnak a létrehozandó, illetve hozzáadandó gombok kiválasztjuk az új gombot, ezt követıen megjelenik a Create ablak és a többi hasonlóan zajlik le mint az elıbb
Adatbáziskészítés parancsok segítségével -
alkalmazzuk a Create parancsot, ennek a parancsnak a hatására megjelenik a Create ablak és a dolgok ismétlıdnek
Táblák az adatbázisban -
2 féle tábláról beszélünk: • adatbázis részeként megjelenı tábla • szabad táblák
Relációk az adatbázis táblái között -
a relációt a kulcsmezıkön keresztül létesítjük, 2 fajta relációról beszélünk: • permanens kapcsolat, amely az adatbázis táblái között jön létre, és érvényes mindaddig, amíg az adatbáziskészítı meg nem változtatja • temporális kapcsolat, amely a Set relation parancs segítségével jön létre, és amelyet minden alkalommal újból létre kell hozni a táblák alkalmazásánál
Robi © 2011
-7-
Az adatok integritásának biztosítása -
-
2 fajta integritási szabály van: • egyedi integritás(null szabály: a kulcsmezı még részlegesen sem lehet null értékő) • referenciális(hivatkozási) integritási szabály, amely a táblára vonatkozó mőveletéknél biztosítja az integritást ezeket az integritási szabályokat egy hasonló nevő ablakban állíthatjuk be, amely a Database Designer ablakban dupla kattintás hatására jelenik meg
A táblák adatokkal való feltöltése -
-
adatokat a táblába 2 módon vihetünk be: • a Browse vagy Edit ablakok segítségével • az Insert vagy Append parancsok segítségével a Browse és az Edit ablakok között a különbség az, hogy az elsı vízszintesen jeleníti meg a tábla adatait, a másik meg függılegesen az Insert parancs segítségével egy- vagy több sort szúrhatunk be a megadott helyre a táblába az Append parancs hozzáad egy új sort, amelyet a tábla végére helyez el a Replace parancs hatására a megadott mezık tartalma átveszi a közölt értékeket a megfelelı feltétel szerint
Törlés egy táblából -
-
-
a tábla adatainak törlése 2 lépésben történik: • logikai törlés, amikor a törlendı sorokat kijelöljük törlésre, megváltoztatva ezzel a törlési mutató tartalmát logikai törlésre a Delete parancsot, utasítást használjuk, úgy a Command ablakban, mint a saját ablakja által • fizikai törlés, amikor a kijelölt sorok kitörlıdnek a táblából, 2 parancs létezik a fizikai törlésre: PACK és ZAP parancs a Pack parancs kitörli a logikailag törlésre jelölt rekordokat, a Zap parancs kiüríti a táblát függetlenül attól, hogy kivolt jelölve vagy sem
Robi © 2011
-8-
Keresés a táblában -
-
-
-
2 fajta keresést ismerünk: • szekvenciális keresés, amely esetben végig keresi a táblát elejétıl, amíg meg nem találja a feltételnek eleget tevı rekordokat 2 szekvenciális parancs: • Locate • Continue a Continue parancsot akkor alkalmazzuk, ha a Locate már megkapta a feltételnek eleget tevı rekordokat és ezzel meg is áll a Continue paranccsal folytathatjuk a keresést a tábla végéig • direkt keresés, ez csak indexelt állományok esetén lehetséges, amikor a Pointer ráugrik arra a reportra, amelynek az indexkulcsa megegyezik a megadott karakterlánccal 2 parancs létezik a direkt keresésre: • Find • Seek
Keresési függvények -
-
azok a függvények, amelyek a keresés sikerét, vagy sikertelenségét tesztelik, ha a függvény TRUE értéket fordít vissza, akkor a keresés sikeres volt, ellenkezı esetben sikertelen 2 ilyen függvény létezik: • Found • Seek
Őrlapok készítése -
az őrlapok az adatbázis kezelésére alkalmas ablakok, amelyeket vezérlıelemekkel látunk el, minden vezérlıelemnek van osztálya, tulajdonsága és metódusa
Őrlap létrehozása -
Project Manager ablakban, ahol kijelöljük a Documents oldalt, majd a Forms ikont, amelynek hatására megjelenik az őrlapkészítı ablak, itt 2 lehetıségünk van: vagy egyénileg, vagy a Wizard segítségével készíthetjük az őrlapot
Robi © 2011
-9-
-
a File menüben kiválasztjuk az Új opciót, amelynek hatására megjelenik az őrlapkészítı ablak a Create parancs segítségével, amelyet vagy a parancs ablakban(Command), vagy a programon keresztül közölünk a számítógéppel mindhárom esetben a képernyın megjelenik a Form Designer ablak, vagyis az őrlap tervezı ablak, generátor az így létrejött őrlapra ráhelyezhetünk új elemeket, pl. gombok, címkék, szövegdobozok, listák, stb. ezeknek a tulajdonságait(név, szín, méret, események) a Properties ablakban lehet megállapítani a megfelelı elemek kiválasztására alkalmazzuk a Form Controls, Layout, Color palett ablakokat
-
Őrlapok készítése a Wizard segítségével -
a Wizard alkalmazás egy párbeszéd, amely segítségével obiektumokat hozhatunk létre akár pár másodperc alatt a Wizard elindításakor megjelenik a Wizard Selection ablak, amelyben 2 opció közül választhatunk: • egyetlen tábla alapján létrehozható egyszerő őrlap • az 1:N-hez típusú őrlap, amely 2 tábla alapján jön létre
Egyszerő őrlap készítése -
-
az őrlapot 4 lépésben tudjuk elkészíteni: • 1. lépés: kiválasztjuk/megkeressük az adatbázist és a táblát, amelynek készítjük az őrlapot, a megjelent mezık közül áthelyezzük azokat a mezıket, amelyeket szeretnénk az őrlapon megjeleníteni • 2. lépés: beállíthatjuk a gombok stílusát a felajánlott lista alapján • 3. lépés: adatok sorrendbe való rendezése, kiválaszthatjuk azt a mezıt, amely szerint a kívánt sorrendbe helyezi az adatainkat • 4. lépés: megadjuk az őrlap címét és a mentési módját, ugyanebben az ablakban a Preview gomb segítségével megtekinthetjük az őrlapunkat minden lépés ablakja megengedi a visszatérést az elızı lépéshez
1:N-hez típusú őrlap készítése -
ez az őrlap 2 tábla mezıibıl készül, ahol az egyik a fı, a másik a melléktábla(szülı- és gyerek tábla)
Robi © 2011
- 10 -
-
-
az őrlapot 6 lépésben készíthetjük el: • kiválasztjuk az adatbázist és a fı táblát(szülı táblát), illetve átvisszük ennek az őrlapon kívánt megjelentett mezıit • kiválasztjuk a mellék(gyerek) táblát és a megfelelı mezıket • összekötjük a 2 táblát egy-egy mezı segítségével • a többi lépések megegyeznek az elıbbivel az őrlap kutatását a Project Manager - Run gomb segítségével futtathatjuk, illetve a Do Form név típusú utasítással a parancs ablakban vagy a programon keresztül
A Visual FoxPro menüszerkesztıje -
általában 2 típusú menürıl beszélhetünk: • vízszintes menü, amelyben az opciók vízszintesen vannak elhelyezve, ezek elindíthatnak egy alkalmazást, vagy tartalmazhatnak függılegesen elhelyezett almenüpontokat • függıleges menü, amelyben az opciók függılegesen vannak elhelyezve
A menürendszer létrehozása -
-
3 fontos lehetıség van a menürendszer létrehozására: a. Project Manager ablakban, kiválasztjuk az Other oldalt, majd a Menu opciót, amelynek hatására aktívvá válnak a létrehozási, hozzáadási gombok -létrehozás esetén lehetıségünk van a Menu, illetve Shortcut között választani, illetve a vízszintes és függıleges menü között b. a File menü segítségével c. a Create parancs segítségével, amelyet a vezérlı ablakban, vagy a programon keresztül közölünk a géppel mindhárom esetben megjelenik a Menu Designer tervezı ablak, amely 3 fontos oszlopot tartalmaz: • Prompt: amelybe beírjuk a menü nevét • Result: gördülılistát tartalmaz a következı elemekkel: o Command, amely parancsok definiálására alkalmas, amely alkalmazást indíthat el; o Padtlame, amely kész menüelemeket enged beépíteni a menürendszerünkbe; o Submenu, amely almenü definiálására alkalmas;
Robi © 2011
- 11 -
-
o Procedure, amely készprogramokat, alprogramokat tartalmaz jobb oldalon Option gomb, amelynek hatására megjelenik a Prompt Option, melynek hatására az obiektummal kapcsolatos opciókat állíthatjuk be a menü obiektum létrehozásakor aktiválódik a Visual FoxPro menürendszerének a menüpontja, amelyben a következı lehetıségek vannak • Quick Menu: létrehoz egy kész menürendszert, a Visual FoxPro menürendszerét, amely nyilvánvalóan módosítható tetszés szerint • a menürendszer generálása(Generate), amely segítségével a program egy .mpx kiterjesztéső fájlt hoz létre, amely futtathatóvá válik
A Visual FoxPro jelentés szerkesztıje -
-
-
a Visual FoxProban a jelentés egy report típusú obiektum a jelentés létrehozásának több módszere van, a fontosabbak a következık: • Project Manager ablakban kiválasztjuk a Documents oldalt, majd a Report obiektumot, amelynek hatására aktiválódik jobb oldalon a létrehozási gomb, erre ráklikkelve megjelenik az Új report nevő ablak, ahol tetszés szerint választhatunk, hogy saját magunk készítjük vagy a Wizard tervezıvel készítettjük el • a File menüben új obiektumot hozunk létre és kiválasztjuk a Report nevő obiektumot • a Create parancs segítségével a vezérlı vagy command ablakban vagy programon keresztül függetlenül melyik módszert választjuk, megjelenik a jelentés tervezı ablak, amely alapbeállításban 3 sávot tartalmaz, amelyek a következık: 1. fejléc, amely rendszerint a jelentés címét, dátumát, lapszámozást, illetve magát a fejlécet tartalmazhatja 2. lap törzse, amelyben részletes adatok jelennek meg 3. a lap alsó sávja, amely összefoglaló információkat tartalmazhat a lap törzsében megjelent részletes adatokra vonatkozóan bıvíthetjük a jelentésünket más adatokkal is, amelyet a Report menüben választhatunk ki, 3 lehetıségünk van: 1. címsáv, amely a jelentés címlapját képezi 2. csoportosító sáv, amely csoport lezáró/összegzı terület 3. a jelentés végösszege, amely végösszesítıket tud generálni
Robi © 2011
- 12 -
A jelentés adatkörnyezete -
a jelentés egy vagy több táblából vesz át adatokat, ezeket a táblákat a létrehozásnál közölni kell, amelyet a jelentés adatkörnyezetének hívunk, ezt a View menüben az Adatkörnyezet opcióban mentjük meg
Obiektumok hozzáadása a jelentéshez -
obiektumokat az eszköztárak segítségével adhatunk hozzá a jelentéshez, ezért alkalmazhatjuk a Report control eszköztárat, amely segítségével benépesíthetjük egyes sávokat, hasonlóan alkalmazhatjuk a Field controlt, Picture controlt és más eszköztárakat
Jelentés készítés a Wizard segítségével -
6 lépésben készíthetjük el a jelentést: 1. kijelöljük az adatbázist és a benne levı táblákat, illetve a megjelenítendı mezıket 2. csoportosíthatjuk az adatokat mezı vagy mezıkombinációk szerint 3. beállíthatjuk a megjelenési stílust, konkrétan kiválasztjuk a megadott lehetıségéket 4. a jelentés oszlopainak a számát, a mezık elhelyezését, oldalnézet beállítási lehetıségek közül választhatunk 5. egy bizonyos sorrendbe rakhatjuk a megjelenítendı adatokat 6. a jelentés felajánlott címét megváltoztathatjuk, választhatunk a mentési lehetıségek közül, illetve a Preview gomb segítségével megtekinthetjük a jelentésünket, végén a Finish gombbal lezárjuk a jelentésünket
A jelentés futtatása - 2 lehetıség: • •
Robi © 2011
a Report menüben a Run opciót alkalmazzuk, amelynek hatására megjelenik a listázási ablak, ahol a jelentés listázási feltételeit állíthatjuk be a Report form parancs vagy utasítás segítségével, amelyet a parancs ablakban vagy a programban alkalmazhatunk
- 13 -