hu
Adatmodellezs alapfogalmai:
informci: aminek van hrrtke, pl: sivatagban esik; alapegysge: bit pl: pnzfeldobs: fej
vagy rs? ez 1 biten eltrolhat ehhez kthet binris szmrendszer, a gpek nyelve
(feszltsg meglte vagy nemlte). 1 bit 1 inf, 2 bit 4 inf 8 bit 256
adat: informci lert, rgztett vltozata, szgpen: trolt infk (vals vilg modellezse)
adatmodell: olyan koncepcik gyjtemnye, amelyek egy adatbzis szerkezett egyrtelmen
lerjk. Szerkezeten az adatbzis tpust, adatok kapcsolatt, adatok bevitelt, mdostst,
trlst, lekrdezst rtjk.
adatbzis: egy megvalstott adatmodell, amely tartalmazza az adatok tpust, kapcsolatokat
ler, n. metaadatokat. Ehhez van szksg:
DDL-re (Data Definition Language): adatszerkezet ler nyelvre
SDL-re (Storage Descriptions Language): fizikai szerkezetet ler nyelvre
DML-re (Data Manipulation Language): trolt adatok visszakeresst tmogat
nyelvre
Egy adott szakterlet jellemz adatait trolja az adatbzis valamifle rendezelv szerint
(visszakeress miatt). Adattrols sorn 1re tbben tblzatos formban gondolkodnak. Pl:
ALKALMAZOTT
azonost
nv
cm
fkd
foglalkozs
17211
Hapci B.
Erd fasor 3
bm
bnyamrnk
17012
Kuka K.
Bnya kz 11
va
vjr
16780
Vidor B.
Komls tr 1
va
vjr
27407
Hfehr T.
Boszorka dl 2 bm
bnyamrnk
Flsleges ismtlds: redundancia flsleges (redundns) trolshoz vezet. Emellett
bvtsi, mdostsi s trlsi anomlit is okozhat. PL:
bvtsi anomlia:
azonost
nv
cm
fkd
foglalkozs
17211
Hapci B.
Erd fasor 3
bm
bnyamrnk
17012
Kuka K.
Bnya kz 11
va
vjr
16780
Vidor B.
Komls tr 1
va
vjr
?
?
?
ke
kellenrz
27407
Hfehr T.
Boszorka dl 2 bm
bnyamrnk
Mez mindaddig res marad, amg ilyen foglalkozs dolgozt fel nem vesznek.
Trlsi anomlia: Ha Kuka K. s Vidor B. kilp, megsznnek vjr foglalkozsra vonatkoz
adatok.
Mdostsi anomlia: ha a vjrt vjrfnkre mdostom, akkor foglalkozs oszlopban tbb
helyen is meg kne vltoztatni rtket.
Megolds: sztbonts 2 tblzatra, gy a redundancia cskken, mivel foglalkozsneveket csak
1 szer kell trolni, s a kt tbla kapcsolatban marad FKD oszloppal. (RAJZ) Emellett
bvtsi, trlsi s mdostsi anomlik is megsznnek. Feldolgozskor azonban a
tblzatokat ssze kell rakni!
Adatmodellezs szintjei:
kls szint: lerja, hogyan ltjk az egyes felhasznlk az adatbzist
kzps vagy koncepcionlis szint: teljes adatbzis szerkezett lerja (kapcsolatokat
is)
bels vagy fizikai szint: lerja az adatok fizikai elhelyezst s elrsi mdjait
Forrs: http://www.doksi.hu
Adatbzis-tervezs fzisai:
1. fzis:
ignyek sszegyjtse
s elemzse
2. fzis:
koncepcionlis
terv elksztse
(ab.kezel rsz fggetlen)
(=DBMS)
Adatignyek
Mveletignyek
Koncepcionlis sma
Tranzakcik lersa
(pszeudokd)
3. fzis:
DBMS tpusnak
kivlasztsa
4. fzis:
lekpezs
(DBMS fgg)
logikai sma
(alacsony szint modell)
5. fzis:
fizikai tervezs
bels sma
(fizikai szerkezetek, hozzfrsi mdok)
6. fzis:
megvalsts
Tranzakcik kdja
2.: adatokat ignyek szt csoportostjuk, egyes csop-ok kztt feltrjuk sszefggseket
kialaktjuk ab. magas szint modelljt
5: ignyek + konkrt ab-kezel szoftver ismeretben megtervezzk adattrolsi szerkezeteket
s hozzfrsi mdokat (faszerk, indexelt) + elre tervezhet ab-kezel mveletek
(lekrdezs, tranzakci) smit
6: ltrehoz, felhasznlbartt tesz, feltlt adatokkal
Az adatmodellezs elemei:
magas szint modell: ER-modell (Entity-Relationship Model), EER-modell (Enchanced ER)
koncepcionlis modell fonots szerep abtervezsben
koncepcionlis smk magukban foglaljk: az egyes adattpusokat, azok jellemzit, kztk
fennll kapcsolatokat s korltozsokat; szemlletes formban, brkkal mutatjk be a
ltrehozand adatbzis logikai felptst gy, hogy nlklzik a konkrt megvalsts sorn
felhasznland specilis eszkzket.
ER-modell: egyszer, szemlletes brval mutatja be a valsg azon kis darabjt, amit
modellezni akarunk. Mieltt rszletesebben megnznnk milyen elemekbl pl fel ERmodell, nzznk egy pldt:
Forrs: http://www.doksi.hu
anyagkd
anyagnv
ALAPANYAG
M
1 fre
mennyisg
-BL
KSZL
AZ
telnv
telkd
2 fre
fehrje
energia
sszid
TEL
sznhidrt
zsr
ksztsi rszid
lps
KELL
HOZZ
lpsszm
eszkzkd
N
eszkznv
ESZKZ
Forrs: http://www.doksi.hu
Forrs: http://www.doksi.hu
kapcsolat azonostsa: nvvel, lt. 1 szbl (ige) llnak, kapcs. kialaktsnak alapjra utalnak
(S-SZ KI_TMOGATJA, S-VSZ MIBEN, S-H-I VERSENYEZ)
Fontos jellemzje: kapcsolat fokszma pozitv egsz szm, amely megadja, hogy a
kapcsolatban hny egyedtpus vesz rszt (KI_TMOGATJA, MIBEN = 2 biner,
VERSENYEZ=3 terner) 2nl magasabb fokszm kapcsolatot N-g kapcsolatnak hvjuk.
szemlltets: n. tojsdiagranmmokkal, 1 kapcs=1 klnll diagram
brzolshoz ellipszist hasznlnak, amelyek szma a kapcs. fokszmnl eggyel tbb. Ez
azrt van, mert egyedtpus s kapcsolat is ellipszissel van jellve! Egyedtpushoz tartoz
egyedeket teljessg ignye nlkl a megfelel ellipszisbe rjuk a kapcsolatot vonallal jelljk,
amely thalad a kapcsolatot jelkpez ellipszisen. Ellipszis fl kapcsolat ill. egyedtpus nevt
rjuk. PL: (emberek hzhoz val viszonya)
HZ
LAKIK
EMBER
h1
h2
h3
l1
l2
l3
l4
l5
l6
e1
e2
e3
e4
e5
e6
Forrs: http://www.doksi.hu
TANR
nv, szsz, szl, cm
TANTRGY
nv, tanterem
ISKOLA
Faszerkezet:
TANR
nv, szsz, szl, cm
TANTRGY
nv, tanterem
A hierarchikus modell lnyegben egy faszerkezet, csak itt rekordtpusrl s PCR tpusrl
beszlnk, csompontokrl s gak helyett. Klnbsg: gak nem kapcsoldnak ssze.
Elfordulsi diagramm: Minden hierarchia-diagramm n. hierarchikus elfordulsbl ll,
amelyet elfordulsi fval brzolnak. Minden csompont megfeleltethet egy rekord
elfordulsnak, s minden g egy PCR kapcsolatot jelkpez.
Az elfordulsi fa ll: egy gykrbl, annak gyerekeibl, valamint a gyerekek gyerekeibl.
(Trolsi struktra: rekordok lineris elrendezse a fa preorder bejrsa szerint.)
Hierarchikus modell tulajdonsgai:
Kizrlag 1:1 s 1:N kapcsolat megvalstst engedlyezi ez a modell. Tovbb: a gykr
nem vehet rszt gyerekknt PCR tpusban, minden rekordtpus kivve gykr gyerekknt
pontosan 1 PCR tpusban vehet rszt, brmely rekordtpus szlknt tetszleges szm
tpusban vehet rszt, ha 1 rekordtpus szlknt tbb PCR tpusban vesz rszt, akkor a
gyerekei balrl jobbra rendezettek.
6
Forrs: http://www.doksi.hu
Fekete
Kovcsn
Kovcsn
Torma
ha 1 gyerek rekordnak 2 vagy tbb ugyanolyan tpus szl rekordja van, akkor
gyerekrekordot meg kell kettzni, h. minden szlhz kln tartozzon
ha 1 gyerek rekordnak 2 vagy tbb ugyanolyan tpus szl rekordja van, akkor ezek
kzl legfeljebb 1 lehet igazi szl, a tbbi virtulis szlknt szerepelhet
2.
Hls adatmodell:
Rekord: egymssal szoros kapcsolatban lv adatok. Bizonyos szempont szerint
sszerakhat rekordok 1 rekordtpusba tartoznak. Minden rekordtpusnak van neve, s
adatelemeit nevkkel s tpusukkal azonostjuk:
HZILLAT
rekordtpus
NV
Vezetknv
neve
Keresztnv
Nem
adatelemek
csoport elemei
Az sszetett attribtumoknak a hls modellben a csoport felel meg. Ez a modell tbbrtk
attribtumot is megenged.
Forrs: http://www.doksi.hu
TANR
tantrgynv
tag (member)
trgyak SET
TANTRGY
A hls modell halmazainak specilis tpusa:
rendszertulajdonos halmaz: a tulaj ismeretlen
rekurzv halmaz: a tulajdonosrekord s a tagrekord ugyanabbl a rekordtpusbl szrmazik
3.
relcis adatmodell: npszer, mert tblzatok (relcik) rendszerbl ll. A
tblzatosan trolt adatokbl n. relcis mveletek segtsgvel kereshetjk vissza a kvnt
adatokat (lekrdezs).
Alapfogalmak: rekord: tblzat 1-1 sora, az els sor kitntetett (fejlc), amely az oszlopok
nevt tartalmazza.
Az oszlopnevek az egyedtulajdonsgokra utal azonostk. Ms nven attribtumoknak vagy
mezknek nevezzk. Az oszlopokban lv adatok az egyedek tulajdonsgait hordozzk.
Az oszlopok szmt a tblzat fokszmnak nevezik, a sorok szmt pedig kardinalitsnak. A
tblzatnak olyan nevet kell adni, ami megklnbzteti a tbbi tblzattl.
LLAT
a tblzat neve
Nv
lakcm
hobbi
ftel
kutya
kutyal
macskakergets
csont
macska
lbtrl
futs
egr
attribtumok
rekordok
A relcis adatmodell egyik fontos fogalma a kulcs, pontosabban az elsdleges kulcs s az
idegen kulcs. Az elsdleges kulcs a tblzat sorainak egyrtelm azonostsra val. lt.
relci vmely attribtuma. Elfordul6, h. kt vagy tbb oszlop kombincijra van szksg az
egyrtelm azonostshoz. Ez az sszetett elsdleges kulcs. Ha tbb oszlop is szba jhet,
akkor szabadon kivlaszthatjuk, hogy melyik legyen elsdleges kulcs. A tbbi lehetsges
kombincit alternl kulcsnak nevezzk.
8
Forrs: http://www.doksi.hu
Elsdleges kulcs kivlasztsakor gyelni kell arra, hogy a kulcsban szerepl oszlopok szma
minimlis legyen. Vagyis, ha elhagyunk egy oszlopot, akkor maradk nem hatrozna meg
egyrtelmen rekordot. Alhzssal klnbztetjk meg.
Idegen kulcs: ezzel tudunk hivatkozni egy msik, a hivatkoz tblzattal logikai kapcsolatban
lv tblzatra. Az idegen kulcsnak megfelel rtk abban a tblzatban, smelyiknek a
rekordjra mutat, elsdleges kulcs. Pl:
LLAT
Nv
lakcm
hobbikd
ftel
kutya
kutyal
mk
csont
macska
lbtrl
fu
egr
egr
lyuk
fu
sajt
HOBBI
hobbikd
mk
fu
hobbinv
HOBBI(hobbikd, hobbinv)
HOBBI(hobbikd, hobbinv)
fggsg, funkcionlis fggsg: minden relciban van olyan attribtum, amitl a tbbi
attribtum rtke fgg (kulcs). Az elsdleges kulcstl funkcionlisan fgg a tbbi attribtum
rtke.
nv
lakcm
hobbikd
ftel
A funkcionli fggs felismerse fontos a tblzatsztbont eljrsban!
Forrs: http://www.doksi.hu
Normalizls:
Adatbzis-tervezs: felmrjk, milyen adatokra van szksgnk (kosz), majd ezen adatokbl
meghatrozott lpsekkel jl ttekinthet csoportokat ksztnk (pl: relcis modell).
Erre 1 mdszer a normalizls, amikor az eredmnyt ltalban 3 (max. 4) lpsben kapjuk. A
normalizls lnyegben tblzatsztbont relcis mveletek sorozata.
Haszna:
adatok trolsi ignye cskken (redundancia cskken)
logikailag ttekinthetbb lesz az adatbzis
megsznnek a trlsi, beszrsi, mdostsi anomlik
Fggsg: brmely relciban az egyes attribtumok rtkei fggenek ms attribtum(ok)
rtkeitl. Pl: elsdleges kulcstl (K) fgg a tbbi mez (A,B,C) rtke, azaz ebben a
relciban A,B s C funkcionlisan fgg K-tl:
(K)(A,B,C) vagy R.KR.A,R.B,R.C
Egy tblzat (relci) adatai els norml formban (1NF) vannak, ha teljeslnek r, hogy:
minden sor klnbzik
az attribtumok sorrendje minden sorban ugyanaz
nincsenek ismtld mezk
minden oszlop egy s csak egy attribtumot jelent
minden sorhoz tartozik legalbb 1 egyedi kulcs, amelytl az sszes tbbi attrib.
funkcionlisan fgg
Minden adatbzis-kezel rendszer elrja az 1NF kritriumot. A normalizls els lpse 1NF
tblzat(ok) ltrehozsa. PL:
OSZT
p01
p01
p01
p01
u01
b01
b01
b01
OSZTNEV
pnzgy
pnzgy
pnzgy
pnzgy
rgy
bonyolt
bonyolt
bonyolt
VNEV
Zp
Tojs
Mohcsi
Basa
Lg
Kavics
Szerb
Vigcz
KNEV
Bla
Tbis
Anna
Tas
dn
Virg
Kata
Jen
TKOD
b1, o2
u2
b1, e1
t2
be
t2
e1
u2, be
b01
bonyolt
Vigcz
Jen
u2, be
TEMA
br, oktats
utazs
br, ellenrzs
tervezs
beszerzs
tervezs
ellenrzs
utazs,
beszerzs
utazs,
beszerzs
MUNKA
40
100
30
100
100
100
100
20
SZEV
1939
1937
1978
1937
1966
1971
1966
1970
FONOK
91526
91526
91526
91526
99998
69690
69690
69690
20
1970
69690
Ez nincs norml formban, mert: vannak tbb attribtum mezk (b1, e1); vannak azonos
sorok; nincs egyedi kulcs.
ALKALMAZOTTAK els norml formban:
OSZT
p01
p01
p01
p01
p01
p01
u01
b01
b01
b01
b01
OSZTNEV
pnzgy
pnzgy
pnzgy
pnzgy
pnzgy
pnzgy
rgy
bonyolt
bonyolt
bonyolt
bonyolt
SZIGSZAM
11111
11111
11211
12110
12110
91526
99998
01526
69690
01492
01492
VNEV
Zp
Zp
Tojs
Mohcsi
Mohcsi
Basa
Lg
Kavics
Szerb
Vigcz
Vigcz
KNEV
Bla
Bla
Tbis
Anna
Anna
Tas
dn
Virg
Kata
Jen
Jen
Elsdleges kulcs:
SZIGSZAM+TKOD
10
TKOD
b1
o2
u2
b1
e1
t2
be
t2
e1
u2
be
TEMA
br
oktats
utazs
br
ellenrzs
tervezs
beszerzs
tervezs
ellenrzs
utazs
beszerzs
MUNKA
40
60
100
30
70
100
100
100
100
20
80
SZEV
1939
1939
1937
1978
1978
1937
1966
1971
1966
1970
1970
FONOK
91526
91526
91526
91526
91526
91526
99998
69690
69690
69690
69690
Forrs: http://www.doksi.hu
Az elbbi tblzat sok redundancit tartalmaz, ami mdostsi, trlsi ill. bvtsi
anomlihoz vezet.
A msodik normalizlsi lpshez vizsgljuk meg, hogy melyek azok az attribtumok,
amelyek az egyes sszetevktl egyrtelmen fggenek s melyek azok, amelyeket az
sszetett kulcs hatroz meg. Ezutn hozzunk ltre olyan tblzatokat, amelyekben az sszes
nem kulcs attribtum teljesen fgg az elsdleges kulcstl. A teljesen azt jelenti, hogy az
sszetevk szma nem cskkenthet, vagyis a kulcs minimlis (ha kulcs egyszer, akkor
teljes fggs=funkcionlis fggs):
TMA
TKD
OSZT
OSZTNV
sszetett elsdleges kulcs
VNV
SZIGSZAM
FNK
KNV
M
SZV
OSZTNEV
pnzgy
pnzgy
pnzgy
pnzgy
pnzgy
pnzgy
rgy
bonyolt
bonyolt
bonyolt
bonyolt
SZIGSZAM
11111
11111
11211
12110
12110
91526
99998
01526
69690
01492
01492
VNEV
Zp
Zp
Tojs
Mohcsi
Mohcsi
Basa
Lg
Kavics
Szerb
Vigcz
Vigcz
KNEV
Bla
Bla
Tbis
Anna
Anna
Tas
dn
Virg
Kata
Jen
Jen
SZEV
1939
1939
1937
1978
1978
1937
1966
1971
1966
1970
1970
TEMAK(TKOD,TEMA)
TKOD
b1
o2
u2
b1
e1
t2
be
t2
e1
u2
be
TEMA
br
oktats
utazs
br
ellenrzs
tervezs
beszerzs
tervezs
ellenrzs
utazs
beszerzs
Elsdleges kulcs:
TKOD
11
FONOK
91526
91526
91526
91526
91526
91526
99998
69690
69690
69690
69690
Elsdleges kulcs:
SZIGSZAM
Forrs: http://www.doksi.hu
MITCSINAL(SZIGSZAM,TKOD,MUNKA)
SZIGSZAM
11111
11111
11211
12110
12110
91526
99998
01526
69690
01492
01492
TKOD
b1
o2
u2
b1
e1
t2
be
t2
e1
u2
be
MUNKA
40
60
100
30
70
100
100
100
100
20
80
Elsdleges kulcsok:
SZIGSZAM+TKOD
Idegen kulcsok:
SZIGSZAM, hivatkozik ALKALMAZOTT
tblra
TKOD, hivatkozik TEMAK tablara
OSZTNEV
VNEV
KNEV
SZEV
Megllaptsok:
A VNEV,KNEV,SZEV csak az elsdleges kulcstl fggenek; az OSZT,OSZTNEV s
FONOK (egyik sem elsdleges kulcs) kztt funkcionlis fggsek fedezhetk fel:
OSZT
OSZTNEV
FONOK
Megolds:
OSZTALYOK(OSZT,OSZTNEV,FONOK) relci ltrehozsa!!!
Eredmny: ALKALMAZ(OSZT,SZIGSZAM,VNEV,KNEV,SZEV) 3NF
OSZT
p01
p01
p01
p01
p01
p01
u01
b01
b01
b01
b01
SZIGSZAM
11111
11111
11211
12110
12110
91526
99998
01526
69690
01492
01492
VNEV
Zp
Zp
Tojs
Mohcsi
Mohcsi
Basa
Lg
Kavics
Szerb
Vigcz
Vigcz
KNEV
Bla
Bla
Tbis
Anna
Anna
Tas
dn
Virg
Kata
Jen
Jen
SZEV
1939
1939
1937
1978
1978
1937
1966
1971
1966
1970
1970
Elsdleges kulcs:
SZIGSZAM
Idegen kulcs:
Forrs: http://www.doksi.hu
TEMAK(TKOD,TEMA)3NF
TKOD
b1
o2
u2
e1
t2
be
TEMA
br
oktats
utazs
ellenrzs
tervezs
beszerzs
MITCSINAL(SZIGSZAM,TKOD,MUNKA) 3NF
SZIGSZAM
11111
11111
11211
12110
12110
91526
99998
01526
69690
01492
01492
TKOD
b1
o2
u2
b1
e1
t2
be
t2
e1
u2
be
MUNKA
40
60
100
30
70
100
100
100
100
20
80
Elsdleges kulcsok:
SZIGSZAM+TKOD
Idegen kulcsok:
SZIGSZAM, hivatkozik ALKALMAZ-ra
TKOD, hivatkozik TEMAK-ra
OSZTALYOK(OSZT,OSZTNEV,FONOK) 3NF
OSZT
p01
u01
b01
OSZTNEV
pnzgy
rgy
bonyolt
FONOK
91526
99998
69690
13
Forrs: http://www.doksi.hu
A tblzatok kapcsolatai:
ALKALMAZOTT
1
OSZT SZIGSZAM
11111
p01
p01
11111
p01
11211
p01
12110
p01
12110
p01
91526
u01
99998
b01
01526
VNEV
Zp
KNEV
Bla
SZEV
1939
Zp
Tojs
Mohcsi
Mohcsi
Basa
Lg
Kavics
Bla
Tbis
Anna
Anna
Tas
dn
Virg
1939
1937
1978
1978
1937
1966
1971
b01
b01
b01
Szerb
Vigcz
Vigcz
Kata
Jen
Jen
1966
1970
1970
69690
01492
01492
OSZTALYOK
OSZT
p01
u01
b01
OSZTNEV
pnzgy
rgy
bonyolt
FONOK
91526
99998
69690
MITCSINAL
N
SZIGSZAM
11111
11111
11211
TKOD
b1
o2
u2
MUNKA
40
60
100
12110
12110
91526
99998
01526
69690
01492
01492
b1
e1
t2
be
t2
e1
u2
be
30
70
100
100
100
100
20
80
TEMAK
TKOD
b1
o2
u2
e1
t2
be
EGYEDEK KAPCSOLATA
tpus
plda
1:1
1:N
M:N
TEMA
br
oktats
utazs
ellenrzs
tervezs
beszerzs
Megvalsts
(ltalban)
1 kzs tblzat
(OSZTALYOK)
OSZTALY:ALKALMAZOTT 1 idegen kulcs (OSZT)
1 kapcsol tblzat 2 idegen
ALKALMAZOTT:TMA
kulccsal (MITCSINAL)
FONOK:OSZTALY
14
Forrs: http://www.doksi.hu
1NF
1. felttel
2NF
3NF
1NF
2. felttel
3. felttel
2NF
1NF
Alapkvetelmny:
Minden relcis adatbzis-kezel rendszer (DBMS) megkveteli, hogy az adatok legalbb
1NF normalizlsi szinten legyenek.
A trolsi redundancia s ezzel a trlsi, beszrsi, mdostsi anomlik cskkentse
rdekben magasabb fok (2NF, 3NF) elrse kvnatos.
NORMALIZLS: elmletileg is megalapozott dekompozcis eljrs, amely a funkcionlis
fggsek figyelembe vtelvel 2NF 3NF (4NF) norml formj, egymssal kapcsolatban lv
relcikra bontja az 1NF relcikat.
Ha a 3NF kevs, akkor 4NF-t kell kialaktani, pl:
TANR-OKTAT-KNYV (TOK)
TANTRGY
OKTAT
Szmtstechnika
Kovcs Mikls
Tth Pter
Fizika
Molnr Lajos
Algebra
Tmr Vince
Kovcs Mikls
Pintr Bertalan
15
KNYV
Mit kell tudni a PC-rl?
WORD feladatok kezdknek
Fizika alapok
Elektron a rengetegben
Atomfizika a javbl
Matematikrl diszkrten
Lineris algebra
Mire j a matematika
Forrs: http://www.doksi.hu
TOK 1NF-ban:
TANTRGY
Szmtstechnika
Szmtstechnika
Szmtstechnika
Szmtstechnika
Fizika
Fizika
Fizika
Algebra
Algebra
Algebra
Algebra
Algebra
Algebra
Algebra
Algebra
Algebra
OKTAT
Kovcs Mikls
Kovcs Mikls
Tth Pter
Tth Pter
Molnr Lajos
Molnr Lajos
Molnr Lajos
Tmr Vince
Tmr Vince
Tmr Vince
Kovcs Mikls
Kovcs Mikls
Kovcs Mikls
Pintr Bertalan
Pintr Bertalan
Pintr Bertalan
KNYV
Mit kell tudni a PC-rl?
WORD feladatok kezdknek
Mit kell tudni a PC-rl?
WORD feladatok kezdknek
Fizika alapok
Elektron a rengetegben
Atomfizika a javbl
Matematikrl diszkrten
Lineris algebra
Mire j a matematika
Matematikrl diszkrten
Lineris algebra
Mire j a matematika
Matematikrl diszkrten
Lineris algebra
Mire j a matematika
Forrs: http://www.doksi.hu
Relcis mveletek:
Ahhoz, hogy a normalizcival sztszedett, sok tblbl ll relcis adatbzisunkban keresni
tudjunk (vagyis adatbzist lekrdezni), szksgnk van megfelel mveletekre. Ezeket
nevezzk relcis mveleteknek. Kt fajtja van: relcis kalkulus s relcis algebra. A
relcis kalkulus csak a mvelet deklarlst vrja el (mit akarunk), a relcis algebrban a
hogyan-t is ismernnk kell, vagyis a mveletek sorrendje a fontos. Az itt bemutatott relcis
mveletek a relcis algebrhoz llnak kzel:
OSZTNEV
pnzgy
rgy
bonyolt
FONOK
91526
99998
69690
PROJECT (vetlet): Tegyk fel, hogy a TEMAK relcibl csak a tma nevre van
szksgnk, kdjra nem. Ekkor j tblzatot kell ltrehoznunk, amibl kihagyjuk TKOD-ot,
vagyis az eredeti tbla azon vetlett vesszk, mely csak a tmk nevt tartalmazza:
CsakTemaNev=Temak PROJECT (temanev)
Eredmny:
CSAKTEMANEV
TEMA
br
oktats
utazs
ellenrzs
tervezs
beszerzs
LNY
LNEV
Kati
Anita
Klri
FNEV
FHAJSZIN
Laci
szke
Sanyi
barna
Balzs
barna
Prok=Fi TIMES Lny
17
LHAJSZIN
szke
vrs
szke
Forrs: http://www.doksi.hu
Eredmny:
PROK
FNEV FHAJSZIN
Laci
szke
Laci
szke
Laci
szke
Sanyi
barna
Sanyi
barna
Sanyi
barna
Balzs
barna
Balzs
barna
Balzs
barna
LNEV LHAJSZIN
Kati
szke
Anita
vrs
Klri
szke
Kati
szke
Anita
vrs
Klri
szke
Kati
szke
Anita
vrs
Klri
szke
18
Forrs: http://www.doksi.hu
VNEV
Zp
Lg
Kavics
KNEV
Bla
dn
Virg
SZEV
1939
1966
1971
OSZT
p01
u01
b01
OSZT
p01
u01
b01
OSZTNEV
pnzgy
rgy
bonyolt
FONOK
91526
99998
69690
Zp
Lg
Kavics
Bla
dn
Virg
1939
1966
1971
p01
u01
b01
pnzgy
rgy
bonyolt
91526
99998
69690
telepls
cm
utca
sztndj
HALLGAT
HALLGAT
Forrs: http://www.doksi.hu
nv
szletsi
id
CSALDF
keresztnv
CSALDF
CSALDF
szletsi id
GYEREK
GYEREK
id, keresztnv, szletsi v
cm
szerz
KNYV
KNYV
kiad
KNYV
SZERZ
cm, szerz
cm, kiad
20
Forrs: http://www.doksi.hu
nv
HZAS FRFI
azon
1
TRSA
elz nv
HZAS N
j nv
HZAS FRFI S N
Az elz feladat mdostva: Egy kzssgen belli csaldi adatokat kell nyilvntartani. A
CSALDF s a HZASTRS egyedtpusok 1:1 kapcsolatban vannak egymssal, a
CSALDF parcilis s a HZASTRS totlis rszvtelvel a TRSA kapcsolatban. Azaz:
minden hzastrshoz tartozik egy csaldf, de van olyan csaldf, akinek nincs frje vagy
felesge.
21
Forrs: http://www.doksi.hu
azon
nv
CSALDF
azon
TRSA
elz nv
HZASTRS
CSALDF
j nv
HZASTRS
azon, nv
Lekpezsi szably: 1:1 kapcsolattpus s az egyik oldal parcilis rszvtele esetn clszer a
totlis rszvtel oldal egyedtpusnak megfelel relci attribtumait kiegszteni a parcilis
oldalon lv relci elsdleges kulcsval, mint idegen kulccsal = totlisban idegen kulcs.
mindkt oldal parcilis rszvtele
A feladat hasonl az eddigiekhez, csak most egyetemi hallgatk (fik s lnyok) egyms
kztti hzassgi adatainak nyilvntartst oldjuk meg, a hzassgra nem lpk szemlyi
adatait is nyilvntartva. A fik s lnyok kztt tbben lesznek, akik egyetemi veik alatt nem
hzasodnak, vagy nem egyms kztt akarnak hzasodni.
azon1
idpont
nv
FI
TRSA
azon2
nv
LNY
1
j nv
FI
LNY
azon1, nv
azon2, elz nv
PR
Lekpezsi szably: 1:1 kapcsolattpus s mindkt oldal parcilis rszvtele esetn clszer a
kapcsolattpusbl j relcit ltrehozni. Az j relci kulcsa vmelyik rsztvev egyedrelci
elsdleges kulcsa, ami egyben idegen kulcs is. A msik egyedrelci kulcsval, mint idegen
kulccsal is ki kell egszteni az j relcit. A kapcsolattpus attribtumai az j relci
attribtumaiv vlnak. = j relci
22
Forrs: http://www.doksi.hu
totlis N-oldal
nv
tkd
OKTAT
DOLGOZIK
tanszk neve
TANSZK
fejre es hallgatszm
OKTAT
TANSZK
parcilis N-oldal
Az elz pldt mdostjuk gy, hogy az oktatk helyett az intzmny sszes dolgozjt
figyelembe vesszk. gy lesznek olyan (nem oktat) dolgozk, akik nem tartoznak egyik
tanszkhez sem, a DOLGOZ rszvtele teht parcilis.
id
fejre es hallgatszm
nv
DOLGOZ
OKTAT
DOLGOZ
tkd
tanszk neve
TANSZK
TANSZK
id, nv
23
Forrs: http://www.doksi.hu
hny_rt_kap
nv
HALLGAT
fejre es oktatszm
RT_KAP
tkd
tanszk neve
TANSZK
sszkredit
HALLGAT
TANSZK
RT KAP
24
Forrs: http://www.doksi.hu
id
heti raszm
nv
HALLGAT
tkd
FELVESZ
fejre es oktatszm
TANTRGY
sszkredit
L
OKTAT
okd
tantrgy neve
nv
TANTRGY
HALLGAT
FELVESZ
okd, nv
nv
ALKALMAZOTT
IRNYT
vezetett
vezet
ALKALMAZOTT
25
Forrs: http://www.doksi.hu
Erre a kapcsolatra plda lehet a kmiarn vgzett ksrlet, ahol az anyagok klcsnhatsba
lpnek egymssal. A klcsnhats paramterei a kapcsolattpushoz rendelhetk. Mindegyik
anyag elfordulhat els s msodik szerepben. A rszvtel legtbbszr mindegyik oldalon
parcilis.
azon
nv
M
1. paramter
els
ANYAG
2. paramter
KLCSN
HATS
msodik
ANYAG
azon, nv
KLCSNHATS
Lekpezsi szably: rekurzv M:N kapcsolat esetn j relcit hozunk ltre a kapcsolatban
rsztvev relci elsdleges kulcsaibl sszerakott elsdleges kulccsal. A kulcs sszetevi
ms nven idegen kulcsok lesznek. A kapcsolattpus attribtumai az j relci mezit
alkotjk = j relci.
A lekpezsi szablyokat kvetkezetesen s megfelel sorrendben alkalmazva ltalban kevs
trolsi redundancit s anomlit tartalmaz relcis smhoz jutunk. A 3NF ltalban
minden relcira biztostott. A funkcionlis fggsek vizsglatval, s tovbbi
normalizlssal finomthatjuk a kapott relcis modellt. A szmtgpes tervez szoftverek
(CASE TOOL) az ER-modell automatikus fellltsn s ezt kvet lekpezsn alapulnak.
A lekpezsi szablyok tblzatos formban sszefoglalva:
Az ER-modellben
A relcis modellben
egyedtpus
egyedelforduls
attribtum
sszetett attribtum
kulcsattribtum
kapcsolattpus
(egyed)relci
rekord (sor)
mez (oszlop)
minden komponensbl kln mez
elsdleges kulcs
relci kiegsztse idegen kulccsal
VAGY kapcsolatrelci
kapcsolattpus attribtuma egyedrelci mezje
VAGY kapcsolatrelci mezje
26
Forrs: http://www.doksi.hu
Az ER-modellben
A relcis modellben
1:1 kapcsolattpus
relcik egyestse
VAGY relci kiegsztse idegen kulccsal
VAGY kapcsolatrelci
relci kiegsztse idegen kulccsal
VAGY kapcsolatrelci
kapcsolatrelci a rsztvevk elsdleges kulcsbl kpzett
sszetett kulccsal
kapcsolatrelci sszetett kulccsal s kapcsolatmezvel (ha van)
relci, az azonost relci elsdleges kulcsbl s a gyenge
egyed parcilis kulcsbl (ha van) kpzett sszetett kulccsal
j relci a tbbrtk attribtumbl s az azt tartalmaz
(egyed)relci elsdleges kulcsbl kpzett sszetett kulccsal; az
eredeti relciban megsznik a tbbrtk mez
1:N kapcsolattpus
M:N kapcsolattpus
N-g kapcsolattpus
gyenge egyedtpus
tbbrtk attribtum
Feladat: Egy krhzi adatbzis ltrehozsa, melyben troljuk a beteg adatait: nevt, szletsi
adatai, anyja nevt, lakcmt. Emellett nyilvntartjuk a betegsgek nevt s f tnett,
valamint, hogy melyik osztlyon kezelik az adott betegsget, melyik osztlyhoz hny szoba
tartozik s ki az adott osztlyon a forvos, s melyik betegnek milyen betegsgre milyen
gygyszert adnak, s azt hogyan adagoljk.
Megolds:
azon
nv
dtum
szletsi adatok
betegsgnv
hely
ftnet
KI_MIRE
BETEG
BETEGSG
N
lakcm
anyja neve
GYGYSZER
gynv
KEZELIK
adag
1
oazon
onv
OSZTLY
szobaszm
forvos
27
Forrs: http://www.doksi.hu
Lekpezs eredmnye:
BETEG
OSZTLY
BETEGSG
28
Forrs: http://www.doksi.hu
Bels szint
Az adatbzis adatait fizikailag alkalmasan vlasztott adathordozkon troljuk. Az
adathordozk kzl a mgneslemez az egyik legelterjedtebb. A mgneslemezen trolt adatok
struktrjval s a legfontosabb hozzfrsi mdokkal foglalkozunk. Az adatbzis-tervezs
bels szintjhez ktd fogalmak (pl: indexels) ismerete a konkrt adatbzis-kezel rendszer
kivlasztsa utn vlik igazn fontoss.
Adatszerkezet s elrsi md
A mgneslemezen trolt adatok file-ok rekordjait alkotjk. Az egyes rekordok egy-egy egyed
jellemz adatait tartalmazzk. A rekordoknak gy kell elhelyezkednik a lemezen, hogy
knnyen s gyorsan elrhtek legyenek. Egy adatbzis-kezel rendszer rendszerint tbbfle
lehetsget knl az adatok trolsi szerkezetre. Az adatok mgneslemezen val fizikai
elhelyezsre hasznlt, legfontosabb szervezsi technikk:
rendezett file, amelyben a rekordok vmely rendezsi mez nvekv vagy cskken
rtke szerint kvetik egymst
A rendezett file ltalban fizikai rendezettsget is jelent, ami kevs fejmozgssal jr, gyors
hozzfrst tesz lehetv. Ha a mgneslemezes trolegysg felptst figyelembe vesszk,
akkor lthatv vlik, hogy azok az adatok rhetek el gyorsabban, amelyek azonos
cilinderen vannak. Egy lemezegysg tbb lemezbl ll. Az egyes lemezeken az adatokat
keskeny koncentrikus krk mentn helyezik el. Egy ilyen krt svnak (track) neveznk. A
lemezegysg ugyanolyan sugar svjai egy-egy cilindert alkotnak.
Mgneslemezes trol
r/olvas fejek
lemezek
Mozgat
egysg
r/olvas fejek
lemezek
cilinder
29
Forrs: http://www.doksi.hu
Az 1. s 3. lps a leghosszabb idej mvelet. Amennyiben vmely mez szerint nvekv vagy
cskken sorrendben kvetkez rekordok fizikailag klnbz cilinderen vannak, vagy
ugyanazon cilinderen bell ms-ms blokkban, vagy ugyanazon cilinderen bell ms-ms, de
nem egyms utn kvetkez blokkban helyezkednek el, a hozzfrs ideje jelentsen
megnhet. Az adatbzis-kezel rendszerek ltalban lehetv teszik a rekordok fizikai
rendezettsgt is. Technikailag gyakori megolds az, hogy a svon bell res helyek
maradnak a blokkokban a ksbb beszrand rekordok szmra azrt, hogy a fizikai
rendezettsg ksbb is megmaradjon.
A rendezetlen file egyik tipikus esete a mgnesszalagos adattrols. ltalban adatbzisok
mentsre hasznljk. Ebben az esetben a rekordok sorrendje nem meghatroz.
Az adatszervezs meghatrozza a hozzfrsi mdot. A rendezetlen file-ok rekordjaihoz csak
szekvencilisan lehet hozzfrni, azaz a keresett rekord elrshez be kell olvasni az sszes
eltte lv rekordot. Mivel a file rendezetlen, a keressi mdszer is csak lineris lehet. A
rendezett, mgneslemezes file-ok a szekvencilis elrs (a lemez felptsbl addan)
mellett kzvetlen elrst is lehetv tesznek a blokk fizikai cmnek ismeretben. Ha a fizikai
cm nem ismert, akkor binris keresst alkalmazhatunk a blokkokra: a szba jhet blokkok
vizsglata utn felezi a blokkok szmt. A keress lehetsges kimenetei:
van olyan blokk, amelyben a keresett rekord elfordulhat; szekvencilisan, rekordrlrekordra vgig kell nzni a blokkban lv rekordokat, az sszehasonlts eredmnye:
megvan vagy nincs meg
30
Forrs: http://www.doksi.hu
Nv
(elsdleges kulcs)
Szak
Hajszn
Hobbi
Aida
Amlka
Arnold
Opera
Fizika
manager
Lila
Srga
kopasz
knyv
Tanuls
telefon
gnes
ron
Szmtech
katona
Szke
Barna
Angol
Rzgy
Vazul
Vilmos
Vuk
nek
Lvszet
vadsz
Zsanett
Zsfia
Zsuzsa
Balett
Nyelv
knyvtr
.
.
.
1. BLOKK
2. BLOKK
res hely
ksbbi
bvtsre
Fekete
Fekete
Vrs
lmozs
Sport
Tyk
Barna
Szke
Barna
Nincs
Futs
Kert
(n-1). BLOKK
n. BLOKK
INDEXELS:
A keress mg gyorsabb, ha az elsdleges file helyett a rvidebb rekordokbl ll index-fileban keresnk binris mdszerrel. Az indexels lnyegben kln file-knt trolt hozzfrsi
szerkezet, amely jelentsen meggyorstja a rekordok elrst az elsdleges file-on. Rendezett
file-ok esetn a rendezs alapjt kpz mezrtkbl (indexing field) s a hozztartoz blokk
cmbl pl fel egy rekord az index file-ban. Amennyiben a rendezsi kulcs egyben
egyrtelm (uniqe) elsdleges kulcs is, akkor elsdleges indexrl (primary key) beszlnk. A
file-ok sematikus szerkezett s az index-szekvencilis hozzfrst szemllteti a kvetkez
sematikus rajz:
31
Forrs: http://www.doksi.hu
INDEX FILE
Elsdleges
kulcs (K)
gnes
Barbara
.
.
.
.
.
Vilmos
.
.
ELSDLEGES FILE
Blokk
cm (P)
Nv
(elsdleges kulcs)
Foglal
kozs
gnes
ron
Gondnok
Virgos
Barbara
Bodri
rmester
hzrzs
Vilmos
Veronika
Lvsz
nekes
Az indexrekord szerkezete:
<K(1)=(gnes), P(1)=1. blokk cme>
<K(2)=(Barbara), P(1)=2. blokk cme>
<K(n)=(Vilmos), P(n)=n. blokk cme>
Msodlagos index (secondary index) is ltrehozhat olyan mezt tekintve kulcsmeznek,
amely szerint az elsdleges file rekordjai nincsenek rendezve. Ebben az esetben az
indexrekord tartalma az elsdleges file vmelyik, a rendez meztl eltr mezje
(msodlagos kulcs) s a megfelel blokkra vagy rekordra mutat cm. Egy elsdleges file-hoz
tbb msodlagos index file is tartozhat. Ha a msodlagos kulcs is egyedi, akkor elegend, ha a
mutat a rekordot tartalmaz blokkra mutat:
32
Forrs: http://www.doksi.hu
INDEX FILE
Msodlagos
kulcs
Fodrsz
jsz
Orvos
Primadonna
Tanul
Vadsz
Zsonglr
.
.
.
.
.
ELSDLEGES FILE
Blokk
cm
Nv
(elsdleges kulcs)
Foglalkozs
(msodlagos
kulcs)
gnes
tanul
Barbara
Bla
Fodrsz
jsz
Vilmos
Veronika
Vuk
.
.
.
Zsonglr
Orvos
Vadsz
.
.
.
Zsanett
primadonna
.
.
.
Ha a msodlagos kulcs nem egyedi, vagyis tbb azonos kulcsrtk is elfordulhat (ez a
gyakoribb eset), akkor tbbfle technikai megolds knlkozik a msodlagos indexelsre:
ugyanarra a kulcsrtkre annyi indexrekordot hozunk ltre, ahnyszor elfordul az
rtk
vltoz hosszsg indexrekordokkal dolgozunk (kulcs s vltoz szm mutat)
fix hosszsg indexrekordok mellett a rekordra mutat cmeket kln szinten
hozzuk ltre
A legutbbi megolds a legelterjedtebb. Az elz pldt mdostsuk gy, hogy tbb
szemlynek is legyen ugyanolyan foglalkozsa.
33
Forrs: http://www.doksi.hu
INDEX FILE
Msodlagos kulcs
(nem egyedi)
ELSDLEGES FILE
rekord
mutatk
Nv
elsdleges kulcs
Foglalkozs
gnes
Tanul
Barbara
Bla
Bulcsu
Fodrsz
Tanul
fodrsz
Fodrsz
jsz
.
Primadonna
.
Vilmos
jsz
Tanul
Veronika
Tanul
Vadsz
Vuk
jsz
.
.
Ha egy file rekordjai olyan mez szerint vannak fizikailag rendezve, amely nem egyedi kulcs,
akkor n. csoportos-indexelst valsthatunk meg. Az index file a csoport azonost mezn
kvl annak a blokknak a cmt tartalmazza, amelyben az azonos csoportrtk rekordok
helyezkednek el (1:N kapcsolatban lev relcik esetn alkalmazhat hasonl szerkezet).
INDEX FILE
Msodlagos
kulcs
Fodrsz
jsz
Orvos
Primadonna
Tanul
Vadsz
Zsonglr
.
.
.
.
.
ELSDLEGES FILE
Blokk
cm
Nv
gnes
Bla
Fodrsz
Fodrsz
Vilmos
Vuk
jsz
jsz
Amlia
Dnes
Veronika
.
.
.
.
.
.
Zsanett
34
Foglalkozs
csop. azon. mez
.
.
.
Orvos
Orvos
Orvos
primadonna
Forrs: http://www.doksi.hu
Dnes
Lilla
Hug
Fa index szerkezet
Jzsi
Lilla
Szekvencilis indexek
Aml
Bla
Dnes
Bla
tanr
Erika
Hug
Istvn
Jzsi
Kata
Laca
Lilla
VE
Erika
hallgat
adatrekordok
VE
Laca
krtys
VE
35
Forrs: http://www.doksi.hu
36
Forrs: http://www.doksi.hu
1.
szint
2.
szint
levelek
H=100
H=101
blokkok
Hug
Zsolt
Bla
Istvn
Benedek
Lszl
37
Forrs: http://www.doksi.hu
ALKALMAZOTT
fizets
munkakr
nv
N
dolgozik
magassg
osztkd
1
vezet
osztnv
OSZTLY
vezetskezdet
ALKALMAZOTT
Forrs: http://www.doksi.hu
Forrs: http://www.doksi.hu
osztnev
Laura-Nyugija Kft
Posta-Bank Csoport
OTP Csoport
Szabadid-vadszat
3. plda: oszlopot meg szeretnnk jelentetni, akkor lehetsgnk van a projekci elhagysra:
SELECT * FROM alkalmazott WHERE mag<162
Eredmny:
szemszam nev
mkor mag fizetes osztkod
44444
Laura nagyfnk 160 100000
15
5.
plda: sszetett korltozs hasznlata: az ALKALMAZOTT tblbl rassuk ki azokat
az alkalmazottakat nevt, magassgt s fizetst, akiknek a fizetse meghaladja az 50000Ftot s ugyanakkor a magassguk 180 s 190 cm kz esik!
Megolds: SELECT nv, mag, fizetes FROM alkalmazott WHERE (fizetes>50000) AND
(mag>180 AND mag<190)
(ACCESS: SELECT nev, mag, fizetes FROM Alkalmazott WHERE (mag>= 180 And
mag<=190) AND (fizetes>50000);
nev
Csaba
Mrta
Melinda
Norbert
mag
180
181
185
185
fizetes
51000
92000
77000
60000
6. plda: az 5. plda azzal a vltoztatssal, hogy fizets szerint nvekv sorrendben legyenek
ugyanezek az adatok. (+cskken)
Megolds: SELECT nv, mag, fizetes FROM alkalmazott WHERE (fizetes>50000) AND
(mag>180 AND mag<190) ORDER BY fizetes (DESC)
7. plda: rjuk ki minden olyan alkalmazott nevt s fizetst, akinek a neve M betvel
kezddik.
Megolds: SELECT nev, fizetes FROM Alkalmazott WHERE nev LIKE 'M*';
40
Forrs: http://www.doksi.hu
fizetes
51000
92000
77000
60000
osztnev
Posta-Bank Csoport
Laura-Nyugija Kft
Laura-Nyugija Kft
Szabadid-vadszat
9. plda: Mivel a kt relci kztt mg egy vezetsre vonatkoz 1:1 kapcsolat is ltezik,
megtudhatjuk az osztlyvezetk nevt is.
Megolds:
SELECT
osztnev,
nev
FROM
Osztaly,
Alkalmazott
WHERE
(Osztaly.vszam=Alkalmazott.szemszam);
Tblaazonostk itt elvileg elhagyhatak lennnek, mivel a kt mez neve nem egyforma.
10. feladat: Adjunk kpzeletben fizetsemelst azoknak a dolgozknak, akiknek a neve M
betvel kezddik. Az elkpzelt j fizets mellett rassuk ki a dolgozk nevt, s osztlyuk
nevt, a fizets szerint cskken sorremdben.
Megolds: SELECT nev, fizetes+3000, osztnev FROM Alkalmazott, Osztaly WHERE
(Alkalmazott.osztkod=Osztaly.okod) And (nev Like 'M*') ORDER BY fizetes DESC;
Eredmny:
nev Expr1001
osztnev
Mrta
95000 Laura-Nyugija Kft
Melinda
80000 Laura-Nyugija Kft
10. plda: Szeretnnk megtudni a nagyfnk vagy a fvadsz munkakrt betlt vezetk
nevt s az ltaluk vezetett osztly nevt.
Megolds:
SELECT
osztnev,
nev
FROM
Osztaly,
Alkalmazott
WHERE
(Osztaly.okod=Alkalmazott.osztkod) AND (mkor='nagyfnk' OR mkor='fvadsz');
Nzetek: ltrehozsa a CREATE VIEW paranccsal s a SELECT parancs segtsgvel
trtnik: CREATE VIEW csak_magassg (nev, mag) AS SELECT nev, mag FROM
Alkalmazott (ACCESSben nem kivitelezhet)
Indexels is lszthet: (adatdefinil lekrdezs)
CREATE INDEX nevindex ON Alkalmazott(nev);
Az SQL nyelv szmos magasszint programnyelvbe bepthet. PL: COBOL, PASCAL, C,
dBase)
Egy szoftver adatbzis-kezel rendszernek minsthet, ha
biztostja az adatoknak programtl val fizikai s logikai fggetlensgt
rendelkezik felhasznlbart szolgltatsokkal (rlap, lekrdezs, jelentsgenertor)
41
Forrs: http://www.doksi.hu
ltrehoz
mdost
trl
kivlaszt
-bl, -bl
ahol
ASC
DESC
ORDER BY
LIKE
INDEX
nvekv
cskken
rendezze
hasonl
indexels
VIEW
nzet
42
Forrs: http://www.doksi.hu
Forrs: http://www.doksi.hu
akkor elfordulhat a kvetkez eset: A T1-ben megnzzk van-e hely s lefoglalunk egyet,
majd T2-ben is ugyanezt tesszk. Ebben az esetben, a T2-ben is ugyanannyi hely lesz
kezdetben, mint T1-ben, mivel T1 mdostst mg nem vglegestettk. gy a T1 rendels
elveszik. Hogyan lehet ezt megoldani? Egy lehetsges megolds, hogy elbb be kell teljesen
fejezni vmelyik tranzakcit. Ez az n. soros temezs. Elkpzelhet azonban ms, nem soros
temezs is.
Egy konkrt plda a COMMIT s ROLLBACK hasznlatra pszeudo-kddal
(mondatszerkezeti lerssal), magyarzat [ ] zrjelben, dlt betvel. A plda egy automatbl
trtn pnzkivtelt modellez:
Begin transaction kivons(forrsszmla, mennyisg) [kivons a tranzakci neve, a kt
paramtert pedig a tranzakci elejn megadjuk, vagyis a szmlaszmot=forrsszmlaszm, s
azt, hogy mennyit akarunk kivenni=mennyisg]
ON ERROR GOTO CRASH [ugrs a CRASH cmkj programrszre, ha valami hiba baj a
rendszerrel, szoftver vagy hardver hiba esetn]
SELECT ennyi_van_most
FROM szmla
WHERE szmlaszm=forrsszmlaszm [lekrdezzk, mennyi pnz van a szmlnkon]
IF <hiba> THEN [logikai hiba, nem volt sikeres a lekrdezs: nem tallta a szmlt]
zenet: nincs ilyen szmla
ROLLBACK [rgi llapot visszalltsa]
End IF [IF - End IF egy elgazs, ha nincs szmla csinlja azt, ami az IF s End IF kztt
tallhat, ha nincs hiba hagyja ezt a rszt ki s lpjen az end if utni els sorra]
UPDATE szmla
SET ennyi_van_most=ennyi_van_most-mennyisg
WHERE szmlaszm=forrsszmlaszm [Mdostjuk a szmlnkat: kivonjuk a szmln lv
sszegbl azt a mennyisget, amit ki akarunk venni]
IF ennyi_van_most<0 then [logikai hiba, ha nincs annyi pnz a szmlnkon, amennyit ki
akarunk venni]
zenet: nincs elg pnz a szmln
ROLLBACK [visszalltja a rgi llapotot lekrdezs elttit]
End IF
zenet: mennyisg levonva
COMMIT [ha semmilyen szoftver, vagy hardver hiba nem volt, megtallta a rendszer a
szmlnkat s le is tudott rla venni annyit, amennyit szerettnk volna, akkor a mvelet
hibtlan volt, a mdostsok vglegesthetek]
CRASH: ROLLBACK [ez a CRASH cmkj programrsz, ha az elejrl ide ugrunk, akkor a
rgi llapot lesz visszalltva a ROLLBACK paranccsal]
Adatvdelem
Az adatbzisok hasznlata kzben gondolni kell az adatok biztonsgra is. Hiszen ha
illetktelenek frnek hozz adatbzisokhoz, annak slyos kvetkezmnyei lehetnek, nem
beszlve arrl, ha illetktelen szemlyek mdostjk az adatbzist. Ennek megakadlyozsra
az egyik leggyakoribb mdszer a jelszavazs. Jelszt llthatunk be az ACCESS-ben is az
adatbzisunkra. Ezt az Eszkzk men Adatvdelem pontjnak Adatbzisjelsz
belltsa alpontjban tehetjk meg. Ez csak akkor mkdik, ha az adatbzist
megnyitskor kizrlagos mdban nyitottuk meg (File men Megnyits menpont, majd a
megnyits gomb melletti nylra kattintva kivlasztjuk a Kizrlagos megnyitst). Ha ezek
utn szeretnnk megnyitni az adatbzist, akkor a megnyits eltt megkrdezi a jelszt. Ha
44
Forrs: http://www.doksi.hu
meg akarjuk vltoztatni a jelszt, akkor elbb a rgit trlnnk kell! (Trls is csak
kizrlagos mdban!!)
Ennl finomabb mdszer az adatok felhasznl szint vdelme. Ekkor a felhasznlnak mr
az Access-be val belpskor azonostania kell magt, s a ksbbiekben a belltott
jogosultsg alapjn frhet hozz az adatbzishoz. Ezt akkor rdemes hasznlni, ha tbb
felhasznl egyenrang hlzati kapcsolatban ll egymssal, nhnyan kzlk adatbevitellel,
nhnyan csak lekrdezssel stb. foglalkoznak. Ezt az Eszkzk men Adatvdelem
pontjnak Felhasznlk s csoportok fikjai (vagy Munkacsoport-adminisztrtor) alpontjval
kivitelezhet. Itt lehet j nevet felvinni a Felhasznlk flnl abba a csoportba, ami ppen ki
van jellve, valamint a szemlyi kdjt is meg kell adni az illetnek. A jelsz mdostsa
flre kattintva adhatjuk meg/mdosthatjuk az egyes felhasznlk jelszavt. A csoportok
flben lehet j csoportot ltrehozni s a Jelsz flben pedig a jelszt mdostani. A
Felhasznli s csoportengedlyek alpontban llthatjuk be az egyes felhasznlk/csoportok
jogait az egyes objektumtpusokra (tbla, lekrdezs, rlap, adatbzis, jelents, makr), illetve
megvltoztathatjuk az adatbzis tulajdonost (ami alapbl a rendszergazda, akinek mindenhez
joga van).
Ha belltottuk az j felhasznlkat/csoportokat, adtunk nekik jelszt s jogokat, akkor az
Access indtsakor a belltott munkacsoporthoz csak a bejelentkezsi prbeszdablak
kitltsvel lehet kapcsoldni. Ezutn tudjuk belltani a felhasznlkat s csoportokat,
amelyben a Felhasznlszint adatvdelmi varzsl alpont segthet.
Dokumentci
Ha elksztnk egy adatbzist gondos tervezs utn, akkor azt az adatbzist dokumentlnunk
is kell. A dokumentcit rdemes a feladat elksztsnek krlmnyeivel kezdeni (megbzs
esetn milyen megbzs stb.), de ez el is maradhat. A feladat specifikcijnak azonban
mindenkppen szerepelnie kell, azaz az sszegyjttt adatok alapjn milyen adatokat fogunk
trolni az adatbzisunkban, s azok milyen kapcsolatban vannak egymssal. Pl: jsgokat s
azokat forgalmaz cg adatainak trolsnl mr itt eldnteni, s a dokumentciba lerni,
hogy egy jsgot tbb cg is foraglmazhat-e, stb.
A koncepcinlis (magas szint, ER-modell) modell is jelenjen meg a dokumentciban. gy
meg tudjuk jelenteni az egyes adattpusokat s az azok kztti kapcsolat fajtit (1:1, 1:N,
M:N, teljes vagy rszleges). rdemes egy Fogalomsztrt kszteni az ER-modellhez, az els
ltsra megfejthetetlen attribtumrvidtsek felfedshez.
Meg kell emlteni, hogy az ER-modellt milyen tpus adatbzis-kezel rendszerrel fogjuk
megvalstani (ez ltalban vmilyen relcis adatbzis).
A dokumentci mindenkppen tartalmazza a magas szint modell lekpezst, azaz relcis
adatmodell esetn a relcikat, mezket, elsdleges s idegen kulcsokat s a relcik kztti
kapcsolatokat (adott relci idegen kulcsa melyik relci melyik mezjre mutat). rdemes az
idegen s elsdleges kulcsok jellsnek mdjt kln lerni. (Pl: az elsdleges kulcsokat
folytonos vonallal hztam al, az idegen kulcsokat pedig szaggatott vonallal.)
s vgl a fizikai tervezs dokumentlsa: Az egyes relcik egyes mezit hogyan valstom
meg: milyen tpus mez (szveg, dtum stb.), hny karakter lehet maximum, ktelez
kitlts vagy nem, indexelt-e vagy sem (ha egy mez ltalban elsdleges kulcs szerint
indexelnk, akkor annak a meznek ktelez kitltsnek kell lennie), elsdleges kulcs-e,
vagy idegen kulcs (sszetett kulcsot kln le kell rni, melyik mezkbl kpeztk), illetve ha
hasznlunk beviteli maszkot, az mibl ll. Pl: beviteli maszk telefonszmnl olyan, hogy a
telefonszm mindig a krzetszmmal kezddik, majd perjel s a tbbi szm: 96/654321.
45
Forrs: http://www.doksi.hu
Vannak olyan adatbzis-kezel rendszerek (pl. ORACLE 9), amelyek kpesek jelentst
kszteni adatbzisaikrl, azaz a tblkrl s kapcsolataikrl, valamint a trolsrl, ez
felfoghat egy kezdetleges dokumentcinak, segtsgnek, amit kiegsztve kszthetnk egy
rszletes dokumentcit.
Jl megvizsglva a dokumentcit arra a kvetkeztetsre juthatunk, hogy gyakorlatilag az
adatbzis-tervezs lpsein vgighaladva rtuk le, dokumentltuk, hogy mit csinltunk, azaz,
hogy hogyan jutottunk el a konkrt adatbzisunkig.
46