You are on page 1of 46

M

U
N
K
A
A
N
Y
A
G
M
U
N
K
A
A
N
Y
A
G
M
U
N
K
A
A
N
Y
A
G
A kvetelmnymodul megnevezse:
Informatikai ismeretek

Szab Mria

Programozs - Programtervezs









































A kvetelmnymodul szma: 1155-06 A tartalomelem azonost szma s clcsoportja: SzT-017-50
M
U
N
K
A
A
N
Y
A
G
M
U
N
K
A
A
N
Y
A
G
M
U
N
K
A
A
N
Y
A
G
PROGRAMOZS - PROGRAMTERVEZS

1
PROGRAMOZS - PROGRAMTERVEZS
ESETFELVETS - MUNKAHELYZET
A munkahelyn megbzst kap egy program elksztsre. Ksztse el a feladat
rendszertervt, hatrozza meg a fejlesztfelletet. Ksztse el az alkalmazand
algoritmusokat, optimalizlja azokat.
SZAKMAI INFORMCITARTALOM
A FELADAT MEGHATROZSA
1. elemzs
Cl: a feladat helyes megolds, ehhez az alkalmazand rendszerterv felvzolsa,
algoritmusok, adatstruktrk meghatrozsa, a megfelel programnyelv, fejleszti fellet
megvlasztsa.
A feladat pontos megfogalmazsa: Az alkalmazand mdszer a fellrl lefel val tervezs.
A top-down mdszer lnyege: lpsrl lpsre finomtjuk programunkat. Ehhez pontosan
meg kell ismerni a megoldand feladatot. . A top-down technika sorn teht elszr
megfogalmazzuk, mit kell megoldani, majd a feladatot rszfeladatokra osztjuk, gy a
finomts lpsei sorn eljutunk addig, hogy kialakuljon, hogyan kell a problmt
megoldani.
Az alkalmazand mdszerek:
- konzultci a program megrendeljvel, felhasznlival
- rlapok kitltetse
- Az esetlegesen meglv informcis rendszer megismerse
- az input adatok felmrse, azok kapcsolatnak, beviteli formtumaik pontos
meghatrozsa
- az output adatok elemzse: milyen adatok ezek, hogyan lltjuk el, melyeket
rizzk meg ezekbl, hogyan tudjuk ezeket ellltani.
Miutn megismertk a feladat egszt elkezdhetjk a rszek kidolgozst, az algoritmusok
elksztst.
M
U
N
K
A
A
N
Y
A
G
M
U
N
K
A
A
N
Y
A
G
M
U
N
K
A
A
N
Y
A
G
PROGRAMOZS - PROGRAMTERVEZS

2
2. Tervezs
A programtervezs feladata: az analzis sorn sszegyjttt informcikat s adatokat alapul
vve logikailag vglegesen kialaktsa az adatstruktrkat s az adatokon manipull
algoritmusokat. A program tervezse komoly, kreatv tevkenysg, mely nagy szakrtelmet
ignyel. Hogy milyen tervezsi mdszert vlaszt az ember, az a kvetkez dolgoktl
fgghet: Milyen szmtgpre kszl a program? Mekkora a megoldand feladat? Milyen
mdszerek llnak rendelkezsre? Mik a tervez lehetsgei szoftverekben, felkszltsgben.
Nem kell egy feladat megoldsa sorn szksgszeren merben j megoldsokat kitallni,
tmaszkodhatunk mr kidolgozott feladatokra. Felhasznlhatunk mr megoldott, hasonl
feladatokat, meghatrozva az azonossgokat s termszetesen a klnbzsgeket. Ezzel a
megoldsi mddal jelentsen lecskkenthetjk:
- a feladat megoldsra fordtott idt
- elkerlhetnk klasszikusnak szmt hibkat.
PROGRAMOZSI TTELEK
A programozsi feladatok rszei gyakran olyan problmk, melyeket gyakran alkalmazunk.
gy fontos lehet a gyakori s viszonylagosan egyszer algoritmusok ismerete. Ebben a
fejezetben teht a nyolc legfontosabb programozsi ttellel ismerkednk meg, melyek kzs
tulajdonsga, hogy tulajdonkppen valamennyi az egsz szmok egy rszhalmazn
rtelmezett fggvny. Ezek a ttelek tulajdonkppen nem konkrt feladatok, hanem egy
megoldand problmt fogalmaznak meg, gy tulajdonkppen igen sok feladat rszei
lehetnek. A programozsi tteleket ltalban tmbkkel foglalkoznak, a kvetkezkben az
algoritmusok N elem, tmb tmbkre vonatkoznak.
A tervezsben alkalmazzuk a klnfle algoritmusmegadsi mdszereket. A legfontosabbak
ezek kzl a kvetkezk:
- Pszeudokd
A pszeudokdok (szveges lers) az algoritmusok s ltalban az eljrsok lersra
hasznlt olyan mestersges formlis nyelvek, melyek vltozkbl s nhny
konstansbl illetve a folyamatok lersbl llnak.
- Grafikus brzolsi mdok:
Folyamatbra
Elemei a kvetkezk:
M
U
N
K
A
A
N
Y
A
G
M
U
N
K
A
A
N
Y
A
G
M
U
N
K
A
A
N
Y
A
G
PROGRAMOZS - PROGRAMTERVEZS

3

1. bra.
Struktogram
A struktogram szintn az algoritmusok grafikus brzolsra val.
Kevsb szemlletes, mint a folyamatbra, azonban segtsgvel
knnyebb lekdolni az algoritmust. Elemei egymshoz csatlakoz
tglalapok.
M
U
N
K
A
A
N
Y
A
G
M
U
N
K
A
A
N
Y
A
G
M
U
N
K
A
A
N
Y
A
G
PROGRAMOZS - PROGRAMTERVEZS

4

2. bra.
1. sszegzs
Feladat: Hatrzzuk meg egy N elem tmb elemeinek sszegt!
szum=0
Ciklus i=1-tl N-ig ismtel
szum=szum+tmb[i]
Ciklus vge
Ki:szum
2. Szmlls
Feladat:Hatrozza meg, hogy a tmb tmbnek hny darab adott tulajdonsg eleme van!
M
U
N
K
A
A
N
Y
A
G
M
U
N
K
A
A
N
Y
A
G
M
U
N
K
A
A
N
Y
A
G
PROGRAMOZS - PROGRAMTERVEZS

5
szum=0
Ciklus i=1-tl N-ig ismtel
Ha tmb[i] adott tulajdonsg
akkor szum=szum+1
Ciklus vge
Ki: szum
3. Maximum (minimum) kivlaszts
Feladat: A tmb tmb legnagyobb elemnek a kivlasztsa.
Maximum=1
Ciklus i=2-tl N-ig ismtel
Ha tmb[i]>tmb[Maximum] akkor Maximum=i
Ciklus vge
Ki: Maximum, tmb[Maximum]
4. Eldnts
Feladat: Az algoritmus eldnti, hogy van-e a tmbben adott tulajdonsg elem. Amint tall
egyet, a ciklus lell. Ha a ciklus azrt llt le, mert tllptnk a tmb utols elemn is, akkor
nem volt benne keresett elem.
i=1
Ciklus amg i<=N s tmb[i]<>keresett elem
i:=i+1
Ciklus vge
Ha i<=N akkor
ki:"volt a tmbben a keresett elem"
Klnben
ki:"nem volt a tmbben a keresett elem"
M
U
N
K
A
A
N
Y
A
G
M
U
N
K
A
A
N
Y
A
G
M
U
N
K
A
A
N
Y
A
G
PROGRAMOZS - PROGRAMTERVEZS

6
5. Kivlaszts
Feladat:Hatrozza meg, hogy a tmb egy elme (amely biztosan benne van a tmbben) hol,
azaz hnyadik helyen van a tmbben!
i:=1
Ciklus amg tmb[i]<>keresett elem
i=i+1
Ciklus vge
ki: i
6. Keress
(a) Feladat: megadja, hogy van-e olyan elem amelyet keresnk a rendezetlen tmbben, s
ha igen, hnyadik. A keresst szoksos lineris keressnek is nevezni.

i=1
Ciklus amg i<=N s tmb[i]<>keresett elem
i=i+1
Ciklus vge
Ha i<=N akkor
ki: i
klnben
ki: A tmbben nincs a keresett elem
(b) Feladat: megadja, hogy van-e olyan elem amelyet keresnk az N elem tmb rendezett
tmbben. A keresst szoksos logaritmusos keressnek is nevezni.
A=1
F=N
Ciklus
K:=INT((A+F)/2)
Ha tmb(K)<keresett_elem akkor A=K+1
Ha tmb(K)>X akkor F:=K-1
M
U
N
K
A
A
N
Y
A
G
M
U
N
K
A
A
N
Y
A
G
M
U
N
K
A
A
N
Y
A
G
PROGRAMOZS - PROGRAMTERVEZS

7
Amg A<=F s tmb(K)<>keresett_elem
Ciklus vge
VAN=A<=F
Ha VAN akkor SORSZ=K
7. Kivlogats
Feladat: Ez az algoritmus egy tmb bizonyos tulajdonsg elemeit teszi egy msik tmbbe.
j=0
Ciklus i=1-tl N-ig ismtel
Ha tmb[i] rendelkezik az adott tulajdonsggal akkor
j=j+1
tmbuj[j]:=tmb[i]
Ha vge
Ciklus vge
8. Sztvlogats
Feladat:Adott tulajdonsggal rendelkez elemeket a tmb1 tmbbe gyjtsk ki, a tbbi
elemet pedig a tmb2 tmbbe!
j=0
k=0
Ciklus i=1-tl N-ig ismtel
Ha tmb[i] adott tulajdonsg akkor
j=j+1, tmb1[j]=tmb[i]
klnben
k=k+1, tmb2[k]=tmb[i]
ha vge
Ciklus vge
M
U
N
K
A
A
N
Y
A
G
M
U
N
K
A
A
N
Y
A
G
M
U
N
K
A
A
N
Y
A
G
PROGRAMOZS - PROGRAMTERVEZS

8
9. Metszet
Feladat: Adott kt tmb (tmb1[1..N] s tmb2[1..M]). Vlogassuk ki a kzs elemeket a tmb
tmbbe!
k=0
Ciklus i=1-tl N-ig ismtel
j=1
Ciklus amg j<=M s tmb2[j]<>tmb1[i]
j=j+1
Ciklus vge
Ha j<=M akkor k=k+1, tmb[k]=tmb1[i]
Ciklus vge
10. Uni
Feladat:Adottak a tmb1[1N] s tmb2[1M] tmbk. Ksztsk el elemeikbl a tmb tmbt
gyelve arra, hogy az azonos elemeket csak egyszer hasznljuk fel.
Ciklus i=1-tl N-ig ismtel
tmb[i]:=tmb1[i]
Ciklus vge
k=N
Ciklus j=1-tl M-ig ismtel
i=1
Ciklus amg i<=N s tmb2[j]<>tmb1[i]
i:=i+1
Ciklus vge
Ha i>N akkor
k=k+1
tmb[k]=tmb2[j]
M
U
N
K
A
A
N
Y
A
G
M
U
N
K
A
A
N
Y
A
G
M
U
N
K
A
A
N
Y
A
G
PROGRAMOZS - PROGRAMTERVEZS

9
Ha vge
Ciklus vge
11. Rendezsi algoritmusok
Rendezs maximum kivlasztssal
Ciklus i=N-tl 2-ig ismtel
max_index=i
Ciklus j:=1-tl i-ig ismtel
Ha tmb[j]>T[max_index] akkor max_index=j
Ciklus vge
Ha i<>max_index
Csere(i,maxindex)
Ha vge
Ciklus vge
Buborkos rendezs
Ciklus i=N-tl 2-ig ismtel
Ciklus j=1-tl (i-1)-ig ismtel
Ha tmb[j]>tmb[j+1] akkor Csere(j,j+1)
Ciklus vge
Ciklus vge
M
U
N
K
A
A
N
Y
A
G
M
U
N
K
A
A
N
Y
A
G
M
U
N
K
A
A
N
Y
A
G
PROGRAMOZS - PROGRAMTERVEZS

10
ADATBZISTERVEZS
1. Az adatbzis fogalma
Adatbzison az adatok valamely clszeren elrendezett, valamilyen szisztma szerinti
trolst rtjk. Nem az adatok nagy szmn van elssorban a hangsly, hanem azok
clszer rendezettsgen. Az iskolba naponta igen sok levl rkezik, mgsem tekintjk ezek
halmazt adatbzisnak, hiszen hinyzik ezek valamely szempont szerinti rendezettsge. Az
adathalmaz csak akkor vlik adatbziss, ha az valamilyen rend szerint pl fel, mely
lehetv teszi az adatok kezelst. Termszetesen ugyanazon adathalmazbl tbbfle
rendszerezs alapjn alakthatunk ki adatbzist. Az adatok trolsba bevitt rendszernek
alkalmasnak kell lennie a leggyakrabban elfordul ignyek hatkony kielgtsre. Az
adatbzisok mell egy adatbzis kezel rendszer (DBMS) is jrul, mely az adatbzis vagy
adatbzisok zemeltetst biztostja.
Adatbzis-kezel rendszer az a programrendszer, amelynek feladata az adatbzishoz val
hozzfrsek biztostsa s az adatbzis bels karbantartsi funkciinak vgrehajtsa. (Az
adatbzis-kezel rendszer az adatbzishoz trtn mindennem hozzfrs kezelsre
szolgl.(Codd ltal megadott rtelmezs)).
Az adatbzis kezel rendszer fbb funkcii:
- adatbzisok ltrehozsa
- adatbzisok tartalmnak definilsa
- adatok trolsa,
- adatok lekrdezse,
- adatok vdelme, biztonsga
- adatok titkostsa,
- hozzfrsi jogok kezelse,
- hozzfrsek szinkronizcija
- fizikai adatszerkezet szervezse.
Az adatbzis kezelk hrom alapvet feladat elvgzsre alapozdnak, melyek mindegyike a
szmtgpes hardvertl s krnyezettl val fggetlensggel kapcsolatos. Az ltalnos cl
az, hogy inkbb az emberi gondolkodshoz, munkastlushoz hozza kzelebb az informcis
rendszer kidolgozst, minthogy az embereket knyszertse a szmtgp stlus
gondolkozsra.
Fggetlensg az aktulis hardver konfigurcitl
Az adatbzis kezel rendszer rejtse el a felhasznl s a fejleszt ell is a szmtgpek s
azok perifrii kztt jelentkez klnbsgeket. Az egyes megjelent eszkzkn
(kperny, nyomtat), azok tpustl fggetlenl, az alkalmazs ugyangy hasznlhat
legyen s azonos eredmnyt szolgltasson. Ily mdon az egyik gptpusra kifejlesztett
alkalmazs brmelyik, az adatbzis kezel ltal tmogatott hardver illetve szoftver
krnyezetben mdosts nlkl hasznlhat.
M
U
N
K
A
A
N
Y
A
G
M
U
N
K
A
A
N
Y
A
G
M
U
N
K
A
A
N
Y
A
G
PROGRAMOZS - PROGRAMTERVEZS

11
Fggetlensg az adatelrs mdjtl
Az egyes opercis rendszerek a fjlokra tbbfajta adatelrsi mdot (szekvencilis,
indexelt, vletlen) knlnak az alkalmazsok ksztinek. Ez azonban maga utn vonja, hogy
a fejlesztnek ezt figyelembe kell vennie s az egyes adatllomnyokat trolsi mdjuknak
megfelelen kell kezelni. Az adatbzis kezeltl viszont elvrjuk, hogy az adatok trolsrl
s elrsi mdjrl maga rendelkezzk. A felhasznl vagy a fejleszt szmra csak a
krds megfogalmazsa s nem az eredmny ellltsi mdja legyen a feladat. Egy pldval
ezt gy szemlltethetnnk, hogy a fnk is csak azt mondja a titkrnjnek, hogy kri a
mlt havi jelentseket a raktrkszletrl, de nem ad tmutatst az adatok elrsi mdjrl,
mivel azt a titkrn ismeri. Az adatbzis kezeltl nem csak azt vrjuk el, hogy nllan
gondoskodjk az adatok elrsrl, hanem azt is hogy ha tbb alternatva is ltezik azok
kzl az optimlist vlassza ki.
Fggetlensg az adatstruktrktl
Az adatbzisok szerkezetben bell vltozsok minl kevesebb mdostst okozzanak az
alkalmazsokban. Pldul, ha az adatbzisokat j adatokkal kell bvteni, akkor azokat a
rgebben elksztett alkalmazsokat, melyek ezeket az adatokat nem hasznljk, vltoztats
nlkl tovbb hasznlhassuk.
A korszer adatbzis-kezel rendszerek az adatok mellett az adatokra vonatkoz
konzisztencia szablyokat (Egy adatbzis konzisztensnek neveznk, ha
ellentmondsmentes, kvetkezetes, azaz eleget tesz meghatrozott szablyok halmaznak.
Ezeket a szablyokat nevezzk integritsi szablyoknak.) illetve az egyes felhasznlk
jogosultsgait is troljk. Az adatok elrse csak az adatbzis-kezel rendszeren keresztl,
szabvnyos nyelvet hasznlva (SQL), a konzisztencia s jogosultsgi szablyok
figyelembevtelvel trtnhet meg. Biztostjk a felhasznlknak az adatok konkurens
elrst s az ebbl add konfliktusok kezelst.
2. Alapfogalmak
Redundancia
A redundancia flsleges adatismtlst jelent. Ilyen mdon hibzunk ha pldul a hallgatk
nevt, cmt s telefonszmt egyarnt troljuk a TAN_ER (a tanul tanulmnyi eredmnyeit
tartalmazza) s az OSZTONDIJ (a tanul sztndjait tartalmazza) tblkban is. Ez
tbbszrsen foglalja a trolterletet, nehzkess vlik az adatbzis kezelse, lassabb lesz
az adatelrs, s nehezebb a visszakeress. A legnagyobb problma azonban az adatok
frisstsekor jelentkezik. Ha valamely adat - mondjuk egy hallgat cme - megvltozik, akkor
azt mindenhol kvetkezetesen ki kell javtani, ami nem csak sok felesleges munkt jelent,
hanem hibalehetsgeket is rejt magban, s gy veszlyezteti az adatintegritst.
Elkpzelhet pldul, hogy a vltozst rgztjk az OSZTONDIJ tblban, de mr a TAN_ER
tblban nem. Kpzeljk el milyen problmkat okozhat ez a tanul levlben val
kirtestse esetn.
M
U
N
K
A
A
N
Y
A
G
M
U
N
K
A
A
N
Y
A
G
M
U
N
K
A
A
N
Y
A
G
PROGRAMOZS - PROGRAMTERVEZS

12
Az egyetlen megolds, ha minden adatot csak egy helyen trolunk pontosan ott, ahov
tartozik. Ezt megfelel adatmodell fellltsval lehet elrni. Ha harmadik normlformra
hozott, kulcsmezkkel elltott adattblkat hozunk ltre, akkor ms tblkban elg az adat
egyedi azonostjra hivatkozni ahelyett, hogy jra letrolnnk azt. A vltozsokat gy csak a
sajt tbljban kell vgrehajtani.
Adatintegrits
Az adatintegrits az adatok rvnyessgt, helyessgt jelenti. Ez magban foglalja az
adatok hitelessgt, megbzhatsgt, pontossgt, idszersgt s ellentmonds
mentessgt. Ha hibs adat kerl az adatbzisba, vagyis megsrtjk az adatintegritst
(pldul kt azonos kulcsot alkalmazunk, elrunk rtkeket, szm helyett szveg tpust
alkalmazunk stb.) bels inkonzisztencit okozunk. Ez tves informcit eredmnyezhet.
Az adatintegrits ellenrztt adatbevitellel, a hivatkozsi integrits megrzsnek
automatikus figyelsvel (ez azt jelenti, hogy csak ltez kulcsra hivatkozunk), s a javtsok
konzekvens vgig vitelvel biztosthat.
Adatfggetlensg
A logikai s fizikai adatfggetlensg esetn a logikai vagy fizikai adatszerkezet
megvltoztatsa nincs hatssal a felhasznli programokra s megfordtva. Egy j adatmez
felvtele miatt pldul nem kell megvltoztatni a programokat, de egy program mdostsa
sem vonja maga utn az adatok megvltoztatst.
3. Adatbzis modellek
Az adatbzis kezelk fejldse sorn tbbfajta logikai modell alakult ki, melyek az adatok
kztti kapcsolatok trolsban trtek el egymstl.
Ezek a kvetkezk:
- hierarchikus
- hls
- relcis
- objektum relcis s az
- objektum orientlt modell.
Ezek kzl manapsg dnten a relcis modellre pl adatbzis kezelket hasznlnak.
Hierarchikus adatbzis modell
Ez a modell az 1960-as vek vge fel jelent meg. Egy a sokhoz jelleg kapcsolatok
kifejezsre szolglt. Egy az egyhez jelleg kapcsolatokkal nem foglalkozott. Egy adatnak
egy szlje s tbb leszrmazottja lehet.
M
U
N
K
A
A
N
Y
A
G
M
U
N
K
A
A
N
Y
A
G
M
U
N
K
A
A
N
Y
A
G
PROGRAMOZS - PROGRAMTERVEZS

13
Egy a sokhoz jelleg kapcsolatban kt rekord-tpust kapcsolhatunk ssze. Az els
rekordtpus (amelyikhez a msik rekordtpus tbb elfordulsa tartozhat) a kapcsolat
szlje, mg a msik rekordtpus a kapcsolat gyermeke lesz.
Korltozs: mr sz esett arrl a tnyrl, hogy adat sem lehet tbb szlnek gyermeke. Sok
a sokhoz jelleg kapcsolatok kifejtse igen problms, a feladat megoldsa jelents
redundancival jr.
Hls adatmodell
1960-as vek vge fel jelenik meg. Egy a sokhoz jelleg kapcsolatok kzvetlen
megjelentsre alkalmas. Egy egy-a-sokhoz jelleg kapcsolatban az els rekordtpus a
kapcsolat frekordja, mg a msik rekordtpus a kapcsolat alrekordja lesz. A
frekordtpusnak egyedi azonostknt hasznlhat adatelemeket kell tartalmaznia. Ez a
rekordtpus kulcsa, amelyet az alrekordokban is meg kell jelenteni. A frekordtpustl egy
alrekord tpusig lncolssal jutunk el. Ez a lncolsi tvonal. Teht egy alrekordnak tbb
szlje s tbb leszrmazottja is lehet.
Korltozs: egy lncolsi tvonalon tallhat rekordtpus sem lehet ennek az tvonalnak a
frekordja.

Sok a sokhoz jelleg kapcsolatok esetn nem tudunk elkerlni a kevs redundancit, de ez
ltalban nem okoz problmt az adatbzis hasznlatban.
M
U
N
K
A
A
N
Y
A
G
M
U
N
K
A
A
N
Y
A
G
M
U
N
K
A
A
N
Y
A
G
PROGRAMOZS - PROGRAMTERVEZS

14

3. bra. Plda hls adatmodellre
Relcis adatmodell
A relcis az egyik legttekinthetbb s egyben a 80-as vektl kezdve a legelterjedtebb
adatmodell is. Kidolgozsa E. F. Codd (1923-2003) nevhez fzdik. 1970-ben jelent meg
alapvet mve a "A Relational Model Data Large Shared Data Banks". A relcis modellben az
adatokat tblzatok soraiba kpezzk le. A legfontosabb eltrs az elzekben bemutatott
kt modellhez kpest az, hogy itt nincsenek elre definilt kapcsolatok az egyes
adategysgek kztt, hanem a kapcsolatok ltrehozshoz szksges adatokat troljuk
tbbszrsen. Ezzel egy sokkal rugalmasabb s ltalnosabb szerkezetet kapunk.
A modell alapja a matematikai (relcik). Egy rekordtpus elfordulsai tblzatokban jelenik
meg. Az adatkezels ezeken a tblzatokon vgzett mveletekknt hajthat vgre.
M
U
N
K
A
A
N
Y
A
G
M
U
N
K
A
A
N
Y
A
G
M
U
N
K
A
A
N
Y
A
G
PROGRAMOZS - PROGRAMTERVEZS

15

4. bra. Plda relcis adatmodellre
Objektum-relcis adatbzis modell
Az objektum relcis adatmodell a relcis adatmodell bvtsvel llt el. Egyrszt az
objektum orientlt megkzeltsben hasznlt osztly, objektum, rklds fogalmakat
alkalmazza a relcis adatbzis tblkra s a lekrdez nyelvet is ez irnyba bvti. Msrszt
pedig tmogatja az adatmodell bvtst sajt adattpusokkal s azokat kezel beptett
fggvnyekkel.
4. A relcis adatbzissal kapcsolatos alapfogalmak
Adatok kztti funkcionlis kapcsolat
Adatok kztt akkor ll fenn funkcionlis kapcsolat, ha egy vagy tbb adat konkrt rtkbl
ms adatok egyrtelmen kvetkeznek. Pldul a szemlyi szm s a nv kztt funkcionlis
kapcsolat ll fenn, mivel minden embernek klnbz szemlyi szma van. Ha ismernk egy
szemlyi szmot, gy egyrtelmen a szemlyt is azonostani tudjuk. Teht a szemlyi szm
s a szemly kztt funkcionlis fggs van.
Az adatok kztti funkcionlis fggsgek az adatok termszetbl kvetkeznek, neknk
csak fel kell ismerni ezeket a trvnyszersgeket. A tervezs sorn nagyon fontos, hogy
ezeket pontosan felismerjk s figyelembe vegyk.
M
U
N
K
A
A
N
Y
A
G
M
U
N
K
A
A
N
Y
A
G
M
U
N
K
A
A
N
Y
A
G
PROGRAMOZS - PROGRAMTERVEZS

16

5. bra. Plda funkcionlis fggsre
Tranzitv fggs
Ha az "A" attribtum funkcionlisan meghatrozza "B" attribtumot, "B" pedig meghatrozza
"C"-t, tovbb "A" funkcionlisan meghatrozza "C"-t, akkor azt mondjuk, hogy az
attribtumok kztt tranzitv fggs van.

6. bra. Plda tranzitv fggsre
M
U
N
K
A
A
N
Y
A
G
M
U
N
K
A
A
N
Y
A
G
M
U
N
K
A
A
N
Y
A
G
PROGRAMOZS - PROGRAMTERVEZS

17
Relci kulcs fogalma
A relci kulcs a relci egy rekordjt (a tblzat egy sort) azonostja egyrtelmen. A
relci nem tartalmazhat kt azonos sort, ezrt minden relciban ltezni kell kulcsnak.
A kulcs teht attribtumok azon legszkebb rszhalmaza, mely a relci rekordjait
egyrtelmen s egyedileg azonostja.
Kulcsok fajti:
Egyszer kulcs: ez a tpus kulcs egyetlen attribtumbl ll.
sszetett kulcs: ez a kulcs tpus legalbb kt attribtumbl ll. Elfordulhat az is, hogy az
sszes oszlop (sszes attribtum) szerepel a kulcsban.
Minimlis kulcs: egy kulcsot minimlisnak neveznk, ha az azt alkot attribtumok kzl
brmelyiket elhagyva, az attribtumok kapott halmaza mr nem rendelkezik a kulcs
tulajdonsgval. Az egyszer kulcs egyben minimlis is.
Kulcsjelltek: mindazok a kulcsok, melyek megfelelnek a minimlis kulcs defincijnak.
Elsdleges kulcs (primary key): az a kulcs, melyet a kulcsjelltek kzl vlasztunk ki, s
kulcsknt hasznljuk. A ki nem vlasztott kulcsjellteket alternatv kulcsnak nevezzk. Az
elsdleges kulcsnak nem lehet NULL az rtke. Az sszetett kulcs egyben minimlis kulcs is.
Idegen kulcs: olyan attribtum kombinci egy relciban, mely egy msik relciban
elsdleges kulcsknt szerepel. Az idegen kulcsot tartalmaz relcit hivatkoz relcinak, a
msikat, melyben ez a kulcs elsdleges, hivatkozott relcinak nevezzk.
Kls kulcs: a relciban kls kulcsot vagy kulcsokat is megklnbztetnk. Ezek az
attribtumok nem az adott relciban, hanem az adatbzis msik relcijban alkotnak
kulcsot.
Hivatkozsi integrits: a hivatkozsi integrits azt jelenti, hogy csak olyan kulcsra
hivatkozunk, ami ltezik a msik tblban.????????????????????????
Hivatkozsi integrits megrzse: kt tbla sszekapcsolsakor bekapcsolhatjuk a
hivatkozsi integrits megrzse opcit, aminek hatsra automatikusan figyelni fogja a
rendszer, hogy ne vihessnk be rossz hivatkozst, vagy ne mdosthassunk illetve
trlhessnk ki olyan kulcsot, amire egy msik tblban hivatkozunk. Amennyiben olyan
mveletet kezdemnyeznk, ami megsrten a hivatkozsi integritst, a rendszer
figyelmeztetst ad errl, s nem hagyja elvgezni azt. Tovbbi lehetsg a hivatkozsi
integrits biztostsra, ha egy kulcs mdostsnak vagy trlsnek kvetkezmnyeit
konzekvensen kijavtjuk a tbbi tblban is, ahol hivatkoztak r.
Kaszkdolt frissts: ha megvltoztatunk egy kulcsot, akkor mindenhol javtja azt, ahol
hivatkozunk r.
M
U
N
K
A
A
N
Y
A
G
M
U
N
K
A
A
N
Y
A
G
M
U
N
K
A
A
N
Y
A
G
PROGRAMOZS - PROGRAMTERVEZS

18
Kaszkdolt trls: ha kitrlnk egy kulcsot, akkor minden olyan rekordot trl, ami
hivatkozik r.
5. Kapcsolatok tpusai
Egy az egyhez (One To One) kapcsolat: ez klcsnsen egyrtelm megfeleltets, ami azt
jelenti, hogy az egyik tbla egy rekordjhoz a msik tblbl csak egy rekord tartozhat, vagy
esetleg egy sem. Ez megfordtva ugyangy igaz.
Pldul mondjuk egy dolgoz legfeljebb egy egysgnek lehet a fnke, s egy egysgnek is
csak egy fnke lehet. Persze van olyan alkalmazott, aki egyik egysgnek sem fnke.
Egy a tbbhz (One To Many) kapcsolat: csak az egyik irnyban egyrtelm a hozzrendels,
azaz a msik oldalrl nzve egy rekordhoz tbb rekord is tartozhat a msik tblbl.
Pldul egy munks egyrtelm, hogy melyik egysgnl dolgozik, egy egysgnl viszont
tbben is dolgoznak.
Tbb a tbbhz (Many To Many) kapcsolat: egyik irnyban sem egyrtelm a hozzrendels,
teht egy rekordhoz tbb rekord is tartozhat a msik tblbl, ugyanakkor a msik tbla egy
rekordja tartozhat tbbhz is. Pldul egy filmnek tbb szereplje van, egy sznsz pedig
ltalban tbb filmben is jtszik.
6. Normlformk:
1. normlforma (1NF): az R relci 1. normlformban van, ha a relciban szerepl minden
rtk elemi, minden attribtum csak egy rtket vesz fel az rtelmezsi tartomnybl.
Teht a tbla minden celljban pontosan egy rtk van, ha esetleg valamelyik celljba nem
kerlne rtk, gy oda automatikusan NULL rtk kerl.
2. normlforma (2NF): az R relci 2. normlforma van akkor s csak akkor, ha 1.
normlformban van s minden olyan attribtuma, mely nem rsze az elsdleges kulcsnak,
funkcionlisan teljesen fgg az elsdleges kulcstl.
Egy msodlagos attribtum teljesen fgg a kulcstl, ha funkcionlisan nem fgg a
kulcsnak semmilyen valdi rszhalmaztl.
3. normlforma (3NF): az R relci 3. normlformban van akkor s csak akkor, ha 2.
normlformban van s minden olyan attribtuma, mely nem rsze az elsdleges kulcsnak
funkcionlisan teljesen fgg az elsdleges kulcstl s csak attl. Ezt az lltst gy is
megfogalmazhatnnk, hogy a relcinak nincs kt olyan msodlagos attribtuma melyek
funkcionlisan meghatroznk egymst.
Pldul az a tbla, amely msodlagos attribtumknt tartalmazza egy vros
irnytszmt s nevt is, nincs 3. normlformban, mert az irnytszm
funkcionlisan meghatrozza a vros nevt.
M
U
N
K
A
A
N
Y
A
G
M
U
N
K
A
A
N
Y
A
G
M
U
N
K
A
A
N
Y
A
G
PROGRAMOZS - PROGRAMTERVEZS

19
A 3. normlforma defincijt meghatrozhatjuk gy is, hogy a relci 3. normlformban
van, ha nem tartalmaz tranzitv fggsgeket.
A normlformk hasznlatval az adatmodellt redundancia mentess tehetjk, valamint
kikszblhetjk az gynevezett anomlikat:
Hozzadsi anomlia: pldul a tblba egy rekordot nem tudunk teljesen feltlteni, mert
mg van olyan adat (oszlop), aminek az rtkt nem ismerjk.
Mdostsi anomlia: tbb helyen is trolhatjuk ugyanazt az adatot. Mdostsnl mindet t
kellene rni, ha valamelyik kimarad, az hibt okozhat.
Trlsi anomlia: Elzhz hasonlan tbb helyen trtn trolsnl pldul az egyik
tblbl kitrlnk egy sort, mert az egyik oszlopban lv adat mr nem szksges, ekkor
olyan informcit is elveszthetnk, ami csak itt volt trolva.
7. Normalizls
Ha a relci 1. normlformban van s a kulcs egyszer , akkor a relci 2. normlformban
is van. sszetett kulcs esetn a kvnt msodik alak elrshez a tblnkat sokszor fel kell
bontanunk tbb kisebb tblra. Ezt a felbontst gy kell elvgezni, hogy az j relcik
kulcsai az eredeti relci elsdleges kulcsa, vagy annak egy rszhalmaza legyen, oszlopai
pedig azok az attribtumok legyenek, melyek az j kulcsoktl funkcionlisan teljesen
fggnek. A 3. normlformra hozsnl a tranzitv fggsget tartalmaz tblt fel kell
bontani tbb tblra gy, hogy a tranzitv fggsgben lv oszlopok klnbz tblkba
kerljenek.
8. Adatbzis letciklusa:
- Elemzs
- Tervezs
- Az adatbzis ltrehozsa
- Az adatbzis feltltse
- Az adatbzis hasznlata s karbantartsa
- Az adatbzis mdostsa
TANULSIRNYT
1. n egy cg informatikai szakembereknt dolgozik, ahol a rendszer egyik programjban,
valahol az egydimenzis tmbben trolt adatok kztti keress sorn problma merlt fel.
Az adatok rendezetlenl vannak, a tmb tartalma nem vltozik srn. Azt a feladatot kapta,
hogy adjon megoldst a keressi algoritmus-problmra. Mutassa be a vzolt lehetsg
elnyeit s htrnyait egyarnt!
M
U
N
K
A
A
N
Y
A
G
M
U
N
K
A
A
N
Y
A
G
M
U
N
K
A
A
N
Y
A
G
PROGRAMOZS - PROGRAMTERVEZS

20
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
2. a) Mit csinl a kvetkez algoritmus?
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
b) rja t a struktogramot pszeudokdokra, majd folyamatbrra!

7. bra.
M
U
N
K
A
A
N
Y
A
G
M
U
N
K
A
A
N
Y
A
G
M
U
N
K
A
A
N
Y
A
G
PROGRAMOZS - PROGRAMTERVEZS

21














3. rjon algoritmust egy N elem tmb elemei szorzatnak meghatrozsra! (hasznlja az
sszegzs ttelt)











M
U
N
K
A
A
N
Y
A
G
M
U
N
K
A
A
N
Y
A
G
M
U
N
K
A
A
N
Y
A
G
PROGRAMOZS - PROGRAMTERVEZS

22
4. Hatrozza meg a logaritmusos keressben szerepl vltozk tpusait!
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
5.feladat
(a) rja meg a minimum kivlaszts algoritmust!















M
U
N
K
A
A
N
Y
A
G
M
U
N
K
A
A
N
Y
A
G
M
U
N
K
A
A
N
Y
A
G
PROGRAMOZS - PROGRAMTERVEZS

23
(b) Mdostsa az algoritmust gy, hogy a tmb 2. legkisebb elemt hatrozza meg!












(c) Mdostsa az algoritmust gy, hogy a tmb adott tulajdonsg (pl. pros) elemei
kzl hatrozza meg a legkisebbet!












M
U
N
K
A
A
N
Y
A
G
M
U
N
K
A
A
N
Y
A
G
M
U
N
K
A
A
N
Y
A
G
PROGRAMOZS - PROGRAMTERVEZS

24
6.Adott egy N elem, egsz szmokat tartalmaz tmb. Vlogassa ki a POZITIV nev tmbbe
az adott tmb pozitv elemeit, a tbbi elem kerljn a NEMPOZITIV tmbbe. Az algoritmus
hatrozza meg mindkt tmb
- maximlis s minimlis elemt, illetve a
- tmbk elemeinek az tlagt (gyeljen arra, hogy a tmb res is lehet)














7. rja t az UNI algoritmust rendezett tmbkre (sszefsls algoritmusa)








M
U
N
K
A
A
N
Y
A
G
M
U
N
K
A
A
N
Y
A
G
M
U
N
K
A
A
N
Y
A
G
PROGRAMOZS - PROGRAMTERVEZS

25
8.rja meg a minimum kivlasztsos rendezs algoritmust!










9.Mit csinl a kvetkez algoritmus?
M
U
N
K
A
A
N
Y
A
G
M
U
N
K
A
A
N
Y
A
G
M
U
N
K
A
A
N
Y
A
G
PROGRAMOZS - PROGRAMTERVEZS

26

8. bra.
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
10. A Fekete Macska Kft. fleg kereskedelemmel foglalkozik. Ennek megfelelen rendelsek
futnak be hozz vsrlktl, amelyeket a szlltk rvn teljest. Egy termket csak egy
szllt szllt, s egy szllt csak egy termket szllt. Nyilvntartjuk a vsrlk pillanatnyi
egyenlegt. Egy rendelsen tbb ttel is szerepelhet, a ttel tartalma a termk megnevezse
s a mennyisg. A szlltk, termkek s vrosok neve egyedi, de a vsrlk neve csak egy
vroson bell egyedi. Feltehetjk, hogy minden vrosnak csak egy irnytszma van.
M
U
N
K
A
A
N
Y
A
G
M
U
N
K
A
A
N
Y
A
G
M
U
N
K
A
A
N
Y
A
G
PROGRAMOZS - PROGRAMTERVEZS

27
Ksztse el az interj tervt, krdveket stb., amely segtsgvel pontosan feltrja, hogy
milyen kvetelmnyeket tmaszt a felhasznl az elksztett adatbzissal szemben.
Ennek alapjn ksztsen szerzdstervezetet.
Tanrval pontostsa az elksztett szerzds mintt!
Segtsg a feladat megoldshoz:
A troland adatok:
- SzlltIrnytSzm,
- VsrlIrnytSzm
- SzlltNv, RendelsSzma
- Mennyisg
- RendelsDtuma
- VsrlVrosnv
- EgyenlegEgysgr
- Termknv
- SzlltVrosnv
- Vsrlnv
- Termknv.
Feladatok:
Ksztsk el a Fekete Macska Kft. adatbzis-modelljt (a 3NF alakig)!
Valstsuk meg az adatmodellt az Access segtsgvel, s nhny tesztadatot rjunk be az
adatbzis tbliba!
Valstsuk meg a kvetkez lekrdezseket:
- Az "XXX" nev termket szllt szllt vrosnak az irnytszma
- 2010 vi vsrlink neve
- YYY vros vsrlink egyenlege
- a legnagyobb egyenleg vsrl neve s vrosa
- a leghsgesebb vsrlnk melyik szllttl vsrolt a legtbbszr?
Amennyiben problmja van az adatbzis tervnek elksztsvel, tanulmnyozza t az
NELLENRZS feladatsor 12. feladatt, s az ott tallhat megoldsi javaslatot!
M
U
N
K
A
A
N
Y
A
G
M
U
N
K
A
A
N
Y
A
G
M
U
N
K
A
A
N
Y
A
G
PROGRAMOZS - PROGRAMTERVEZS

28



























M
U
N
K
A
A
N
Y
A
G
M
U
N
K
A
A
N
Y
A
G
M
U
N
K
A
A
N
Y
A
G
PROGRAMOZS - PROGRAMTERVEZS

29
NELLENRZ FELADATOK
1. feladat
Egsztse ki az brt a programtervezs sorn megvalstott elemzs s tervezs lpseivel!

9. bra.
2. feladat
Keresse meg pldul az internet lehetsgeit felhasznlva, mi a fellrl lefele tervezs
fordtott mvelete. Fejtse ki a mdszer lnyegt! Mikor alkalmazzuk ezt a tervezsi
technikt?
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
3. feladat
Mit rdemes lerni a felhasznlval kttt szerzdsben?
M
U
N
K
A
A
N
Y
A
G
M
U
N
K
A
A
N
Y
A
G
M
U
N
K
A
A
N
Y
A
G
PROGRAMOZS - PROGRAMTERVEZS

30
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
4. feladat
Hatrozza meg az algoritmus fogalmt! rja le a tengerparti vizesrok pts algoritmust!
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
5. feladat
rja t a lineris keress algoritmust rendezett tmbre! Hasznlja a mr megismert lineris
rendezsi algoritmust! Miben tr el a mdszer rendezett tmbk esetn?
Ha a megolds nem egyrtelm, gondoljon vgig egy konkrt pldt!
Legyen adott a kvetkez rendezett halmaz: 5 12 18 20 23 25
Keresett elem: 15
Meddig rdemes vizsglni a tmb elemeit? Ha a tmb eleme nagyobb mint a keresett elem,
esetnkben a 15, mi trtnjen?
Mi a helyzet, ha a keresett elem 3 (kisebb, mint a tmb els eleme)?
M
U
N
K
A
A
N
Y
A
G
M
U
N
K
A
A
N
Y
A
G
M
U
N
K
A
A
N
Y
A
G
PROGRAMOZS - PROGRAMTERVEZS

31
Mi a helyzet, ha a keresett elem 30 (nagyobb, mint a tmb utols eleme)?
A fenti kt problmt vgig gondolva, hogyan optimalizln az n ltal elksztett
algoritmust?
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
6. feladat
lltsa sorrendbe a programozs lpseit!
- Dokumentls
- Tervezs
- A problma meghatrozsa, felmrse (specifikci)
- Tesztels
- Kdols
- A megvalsts (implementci)
M
U
N
K
A
A
N
Y
A
G
M
U
N
K
A
A
N
Y
A
G
M
U
N
K
A
A
N
Y
A
G
PROGRAMOZS - PROGRAMTERVEZS

32
1. ________________________________________________________________________________________
2. ________________________________________________________________________________________
3. ________________________________________________________________________________________
4. ________________________________________________________________________________________
5. ________________________________________________________________________________________
6 ________________________________________________________________________________________
7. feladat
rja meg az "a" s "b" elemek cserjnek az algoritmust!
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
8. feladat
Melyik megismert algoritmus struktogramjt ltja?

10. bra.
M
U
N
K
A
A
N
Y
A
G
M
U
N
K
A
A
N
Y
A
G
M
U
N
K
A
A
N
Y
A
G
PROGRAMOZS - PROGRAMTERVEZS

33
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
9. feladat
Mirt fontosak szmunkra az adatbzisok?
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
10. feladat
Sorolja fel az adatbzis-kezelkkel szembeni kvetelmnyeket!
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
11. feladat
Sorolja fel az adatbzis kezelk elnyeit!
M
U
N
K
A
A
N
Y
A
G
M
U
N
K
A
A
N
Y
A
G
M
U
N
K
A
A
N
Y
A
G
PROGRAMOZS - PROGRAMTERVEZS

34
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
12. feladat
Egy vide klcsnztl azt a feladatot kapja, hogy ksztse el egyszeren hasznlhat
mdon adatbzisuk modelljt. Ehhez a feladathoz a kvetkez adatok llnak rendelkezsre:
- Kazetta szma
- Kazetta tpusa
- Film cme
- Film szma
- Rendels szma
- Rendels dtuma
- Klcsnzs szma
- Tag sorszma
- Tag neve
- Tag cme
- Klcsnzs dtuma
- Visszahozs dtuma
- Film fszereplje
- Film rendezje
A filmeknek egyedi azonost szma van, a cm tbb klnbz filmhez is tartozhat (ezrt
nem lehet kulcsnak vlasztani). Egy film tbb kazettn is szerepelhet, a klcsnz ltal
ksztett msolatokban. A kazettknak szintn egyedi azonostjuk van, valamint a tpust is
nyilvntartjk. A klcsnzbl kizrlag tagok klcsnzhetnek.
Gondolja vgig, hogy elegend ismerete van-e a feladatrl, ha nemmilyen problma
megoldsa miatt nem elegend az ismeretanyaga
- mit krdezne
- kitl krdezn s milyen formban
M
U
N
K
A
A
N
Y
A
G
M
U
N
K
A
A
N
Y
A
G
M
U
N
K
A
A
N
Y
A
G
PROGRAMOZS - PROGRAMTERVEZS

35
- milyen mdon dokumentln az j ismereteit
Hatrozza meg a kvetkez fogalmakat! Ahol az aktulis tananyagban nem tallja a
megfelel vlaszt, ott pldul hasznlja az internet nyjtotta segtsget, vagy lapozzon fel
egy aktulis tmval foglalkoz knyvet.
- egyedtpus, -elforduls, -halmaz
- az egyed tulajdonsgai, tulajdonsgtpus, -elforduls, -rtkkszlet
- az egyedtpus azonostja
- az adatbzis (adatmodell) fogalmi, logikai s fizikai szintjei
- az elsdleges kulcs, kzs kulcs s a kls kulcs, egy-sok s sok-sok kapcsolatok
brzolsa
- redudancia
- funkcionlis fggs
- 1. normlforma
- 2. normlforma
- 3. normlforma
- adatintegrits
- adatfggetlensg
- relcis adatszerkezetek jellemzi
Fogalmazza meg, milyen problmkat vetne fel, ha valamennyi adatot egy tblban troln!
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
_________________________________________________________________________________________
Lekrdezsek ksztse az adatbzishoz formhoz
M
U
N
K
A
A
N
Y
A
G
M
U
N
K
A
A
N
Y
A
G
M
U
N
K
A
A
N
Y
A
G
PROGRAMOZS - PROGRAMTERVEZS

36
- Tudjuk meg azoknak a tagoknak az adatait, akik br be vannak iratkozva, de mg
nem klcsnztek egyetlen filmet sem (lekrdezs neve: Nem_kolcsonzott)!
- A word krlevl kszt funkcijt felhasznlva ksztsen reklmanyagot a
lekrdezsben megjelen tagok szmra!
- Tudjuk meg az sszes rendelkezsre ll filmnk fszerepljt (lekrdezs neve:
Foszereplok)!
- llaptsuk meg az sszes rendelkezsre ll film cmt s rendezjt a film cme
szerint nvekv rendben (lekrdezs neve: Filmek)!
- Vizsgljuk meg, hogy van-e esetleg kt azonos nev, klnbz lakcm tagunk.
(lekrdezs neve:Azonos_nevek)!
- Jelentsk meg azon filmek s kazettk szmt s a film cmt, amelyeket mg soha
nem klcsnztek ki (lekrdezs neve: Nem_nezettek)!
M
U
N
K
A
A
N
Y
A
G
M
U
N
K
A
A
N
Y
A
G
M
U
N
K
A
A
N
Y
A
G
PROGRAMOZS - PROGRAMTERVEZS

37
MEGOLDSOK
1. FELADAT

11. bra.
2. feladat
A krdses mdszer a Bottom-up technika. Ha egy adott blokkban vilgos a feladat, teht
sztbontssal nem jutunk mr sehov, viszont a feladat megvalstsnak mdjt nem ltjuk
t, akkor elemi rszekbl rakjuk sszerakni a blokkot. Az elemi rszek lehetnek utastsok
(ciklus, feltteles elgazs stb.), fggvnyek, objektumok, ms ltal fejlesztett blokkok. A
bottomup tervezs nem is mindig vlik el a kdolstl, hiszen a kdols sorn ltalban
ugyanazok az alapegysgek, mint a bottomup tervezsnl.
3. feladat
Szerzdsben kell rgzti:
- a megrendel s a programoz adatait
M
U
N
K
A
A
N
Y
A
G
M
U
N
K
A
A
N
Y
A
G
M
U
N
K
A
A
N
Y
A
G
PROGRAMOZS - PROGRAMTERVEZS

38
- a program ltal megoldand feladatot
- a megrendel rszre jr egyb termkeket s szolgltatsokat (dokumentci,
felhasznli kziknyv, betants, tancsads, karbantarts, stb.)
- a megrendelnek a program forgalmazsra val jogt,
- a vllalsi hatridt
- mindezek rt, stb.
4. feladat
Valamely problma megoldsra bevezetett, vges szm lpssorozat, amelyet vges
szm alkalommal, mechanikusan megismtelve a problma megoldst kapjuk.
A problma megoldsnak egy lehetsges algoritmusa:
Vedd a kezedbe a kisvdrt
Ismteld az albbiakat mindaddig, amg tele nem lesz a vizesrok:
Mertsd tele a vdrt tengervzzel.
Tltsd a vizesrokba.
Tedd le a kisvdrt.
5. feladat
i=1
Ha keresett_elem<tmb[1] akkor
kir: "Nincs az elem a tmbben"
Klnben
Ciklus amg i<=N s tmb[i]<keresett_elem
i=i+1
Ciklus vge
Ha tmb[i]=keresett_elem akkor
kir:"A keresett elem az i-dik"
Klnben
kir: "A tmbben nincs a keresett elem"
Ha vge
M
U
N
K
A
A
N
Y
A
G
M
U
N
K
A
A
N
Y
A
G
M
U
N
K
A
A
N
Y
A
G
PROGRAMOZS - PROGRAMTERVEZS

39
6. feladat
1. A problma meghatrozsa, felmrse (specifikci)
2. A megvalsts (implementci)
3. Tervezs
4. Kdols
5. Tesztels
6. Dokumentls
7. feladat
csere = b
b = a
a = csere
8. feladat
Bubork rendezs
9. feladat
- Az adatok szles krt adatbzisokban troljuk
- Pontosan el kell tudni magyarzni az adatbzist tervez, programoz
szakembereknek, hogy a szmunkra szksges adatbzis krnyezet hogyan lljon
el
- Tudjk, mit vrhatnak el egy adatbzis-kezel rendszertl
10. feladat
- Fggetlensg az aktulis hardver konfigurcitl
- Fggetlensg az adatelrs mdjtl
- Fggetlensg az adatstruktrktl
11. feladat
- Elfedi az adatok fizikai trolsi szerkezett, a felhasznlknak, programoknak csak a
logikai adatszerkezetet kell ismernie
- Hatkony adatelrst biztostanak
- Adat integrits ellenrzse, jogosultsgok kezelse
- Konkurens adatelrs s adatveszts elleni vdelem (hardver hiba esetn is)
M
U
N
K
A
A
N
Y
A
G
M
U
N
K
A
A
N
Y
A
G
M
U
N
K
A
A
N
Y
A
G
PROGRAMOZS - PROGRAMTERVEZS

40
- Lervidti a programfejleszts idejt
12. feladat
Tblk kialaktsa, els normlformra hozs (1NF)
Kazetta
- Kazetta szma
- Kazetta tpusa
- Film cme
- Film szma
- Rendels szma
- Rendels dtuma
- Film fszereplje
- Film rendezje
Klcsnzs
- Klcsnzs szma
- Kazetta szma
- Tag sorszma
- Tag neve
- Tag cme
- Klcsnzs dtuma
- Visszahozs dtuma
A kazetta szma mindkt adatlapon egyszer-egyszer szerepel, mivel minden kazettnak
egyedi azonostja van, de egy kazettt tbben is kiklcsnzhetnek, ezrt a klcsnzs
szma s a tag adatai ismtldnek egy adatlapon.
Msodik norml forma kialaktsa (2NF)
Kivlasztjuk az elsdleges attribtumokat (kulcs).
Meghatrozzuk azokat az attribtumokat, amelyek nem a teljes kulcstl fggenek azoktl,
illetve melyek teljes fggsgben vannak a teljes kulccsal. Mivel egyik kulcsunk sem
sszetett kulcs (egyszer kulcs), ezrt mindkt relci vltozatlan marad.
Termszetesen, ha lenne olyan msodlagos attribtum, melynek fggse a kulcstl nem lenne
teljes (van olyan msodlagos attribtum funkcionlisan fgg a kulcs egy rsztl), az aktulis
tblt rszekre bontannk.
A feladat tkrben vlaszolja meg, mirt treksznk adattblinkban az egyszer kulcs
hasznlatra!
Kazetta
- Kazetta szma
M
U
N
K
A
A
N
Y
A
G
M
U
N
K
A
A
N
Y
A
G
M
U
N
K
A
A
N
Y
A
G
PROGRAMOZS - PROGRAMTERVEZS

41
- Kazetta tpusa
- Film cme
- Film szma
- Rendels szma
- Rendels dtuma
- Film fszereplje
- Film rendezje
Klcsnzs
- Klcsnzs szma
- Kazetta szma
- Tag sorszma
- Tag neve
- Tag cme
- Klcsnzs dtuma
- Visszahozs dtuma
Harmadik norml forma kialaktsa (3NF)
Elklntjk azokat az attribtumokat, melyek a relci kulcstl csak kzvetetten fggnek.
Pl. a film rendezje nem fgg kzvetlenl a kazetta szmtl, stb.
Kazetta tbla --> kivlik a film szmtl fgg hrom mez (Film tbla), s a rendels
szmtl fgg egy mez (Rendels tbla).
Klcsnzs tbla --> kivlik a tag sorszmtl fgg kt mez.
- Film
- Film szma
- Rendels szma (kls kulcs)
- Film cme
- Film rendezje
- Film fszereplje
Kazetta
- Kazetta szma
- Film szma (kls kulcs)
- Kazetta tpusa
Rendels
- Rendels szma
- Rendels dtuma
Klcsnzs
M
U
N
K
A
A
N
Y
A
G
M
U
N
K
A
A
N
Y
A
G
M
U
N
K
A
A
N
Y
A
G
PROGRAMOZS - PROGRAMTERVEZS

42
- Klcsnzs szma
- Kazetta szma (kls kulcs)
- Tag sorszma (kls kulcs)
- Klcsnzs dtuma
- Visszahozs dtuma
Tag
- Tag sorszma
- Tag neve
- Tag cme
Ez az adatszerkezet mr megfelel arra, hogy adatbzis kezel programmal dolgozzuk fel.
Kapcsolatok a tblk kztt

12. bra. Tblk kapcsolata, kapcsolatok tpusai
Ksztsk el az adatbzist, majd tltsk fel adatokkal!
M
U
N
K
A
A
N
Y
A
G
M
U
N
K
A
A
N
Y
A
G
M
U
N
K
A
A
N
Y
A
G
PROGRAMOZS - PROGRAMTERVEZS

43
IRODALOMJEGYZK
FELHASZNLT IRODALOM
B. W. Kernighan -D.M. Ritchie: A C programozsi nyelv; Mszaki Knyvkiad, Budapest, 1988
Peter Norton - John Socha: Az IBM PC assembly nyelv programozsa; Novotrade Kiad -
Prentice- Hall, 1991
Molnr Blint: Bevezets a rendszerelemzsbe A rendszerszervezs alapjai; Mszaki
Knyvkiad 2004
M
U
N
K
A
A
N
Y
A
G
M
U
N
K
A
A
N
Y
A
G
M
U
N
K
A
A
N
Y
A
G
A(z) 1155-06 modul 017-es szakmai tanknyvi tartalomeleme
felhasznlhat az albbi szakkpestsekhez:

A szakkpests OKJ azonost szma: A szakkpests megnevezse
54 481 01 1000 00 00 CAD-CAM informatikus
54 481 04 0010 54 01 Gazdasgi informatikus
54 481 04 0010 54 02 Infostruktra menedzser
54 481 04 0010 54 03 Ipari informatikai technikus
54 481 04 0010 54 04 Mszaki informatikus
54 481 04 0010 54 05 Tvkzlsi informatikus
54 481 04 0010 54 06 Telekommunikcis informatikus
54 481 04 0010 54 07 Trinformatikus

A szakmai tanknyvi tartalomelem feldolgozshoz ajnlott raszm:
20 ra




























M
U
N
K
A
A
N
Y
A
G
M
U
N
K
A
A
N
Y
A
G
M
U
N
K
A
A
N
Y
A
G




























A kiadvny az j Magyarorszg Fejlesztsi Terv
TMOP 2.2.1 08/1-2008-0002 A kpzs minsgnek s tartalmnak
fejlesztse keretben kszlt.
A projekt az Eurpai Uni tmogatsval, az Eurpai Szocilis Alap
trsfinanszrozsval valsul meg.

Kiadja a Nemzeti Szakkpzsi s Felnttkpzsi Intzet
1085 Budapest, Baross u. 52.
Telefon: (1) 210-1065, Fax: (1) 210-1063

Felels kiad:
Nagy Lszl figazgat

You might also like