13.gyak.
Relációs
adatbázisséma tervezés
Ezek a feladatok nem szerepelnek a gyakorlaton a ZH-ban,
csak a vizsgára való
felkészülést, a
tervezéssel kapcsolatos
alapfogalmak és algoritmusok mélyebb
megértését
segítik.
Feladat_típusok a
gyakorlatra
Adott X-attr.hz, F-ff.hz. Attr.hz.lezártjának
kiszámítása.
Adott R-rel.séma, F-ff.hz. Kulcsok
meghatározása.
Adott R-rel.séma, F-ff.hz. BCNF-e?
(definíció alapján)
Adott R-rel.séma, F-ff.hz. 3NF-e?
(definíció alapján)
-->> a fentieket lásd
1.) gyakorló feladatok
Adott R, F és d-dekomp. Chase alg.VM
eldöntésére.
Adott R, F és d-dekomp. FŐ
eldöntésére algoritmus.
-->> a fentieket lásd
2.) gyakorló feladatok
Adott R-rel.séma, F-ff.hz. VM BCNF dekomp.alg.
-->> a fentieket lásd
3.) gyakorló feladatok
Adott R-rel.séma, F-ff.hz. Minimális bázis
keresése.
Adott R-rel.séma, F-ff.hz. VM FŐ 3NF dekomp.alg.
-->> a fentieket lásd
4.) gyakorló feladatok
Gyakorló feladatok
1.) Adott R relációs séma
és F funkcionális függőségek
halmaza.
Attribútum halmaz
lezártjának
kiszámolására tanult algoritmus
felhasználásával
határozza
meg az adott séma kulcsait, és azt,
hogy BCNF-ben vagy 3NF-ben van-e?
a.) Cím(Város, Utcahsz,
Irányítószám)
röviden R(V, U, I), és
a séma feletti
funkcionális függőségek F = {I
→ V, VU → I}.
b.) Tankönyv 3.5.2. feladata: Órarend adatbázis
Jelölje röviden:
K - Kurzus
O - Oktató
I - Időpont
T - Terem
D - Diák (hallgató)
J - Jegy
Feltételek (funkcionális függőséggel
megadva)
K → O vagyis egy kurzust csak egy
oktató tarthat
IT → K nincs
óraütközés, egy helyen egy időben egy kurzus
lehet
IO → T az oktatónak nincs
óraütközése
ID → T a diákoknak sincs
óraütközése
KD → J egy diák egy kurzust egy
végső jeggyel zár
R=KOITDJ és F= {K
→ O, IT → K, IO
→ T, ID → T, KD
→ J}
c.) Adott
SzallításiInformáció(SzallAzon,
SzallNev, SzallCim,
AruKod, TermekNev,
MeEgys, Ar) reláció
séma,
amit így is
rövidithetünk R(S, N, C, K, T, M, A),
és
a séma feletti
funkcionális
függőségek:
SzallAzon→{SzallNev,
SzallCim},
AruKod→{TermekNev, MeEgys},
{SzallAzon,
AruKod}→ Ar,
vagyis
a röviden F = {S → NC, K → TM,
SK → A}.
d.) Tekintsük egy befektetési
cég adatbázisát, melynek
attribútumai
B (bróker), I (a
bróker
irodája), U (befektető ügyfél), R
(részvény),
M (a befektető tulajdonában
levő részvény mennyisége),
O (a részvény
osztaléka).
Érvényes funkcionális
függőségek:
F = {B → I,
U → B,
UR → M, R → O}.
2.) Adott R, F és d dekompozíció.
Chase algoritmussal döntsük el,
hogy veszteségmentes-e
illetve függőségőrző-e a
dekompozíció.
a.) Az 1a. feladat R sémáját
szétvágjuk IU, VU sémákra.
b.) Az 1b. feladat R sémáját
szétvágjuk KOIT, IDT, KDJ sémákra.
c.) Az 1c. feladat R sémáját
szétvágjuk SNC, KTMA
sémákra.
d.) Az 1d. feladat R sémáját
szétvágjuk a BI, BU, URM és
RO
sémákra.
3.) Az 1.feladatban adott R, F esetén adjuk meg a BCNF-ra
való felbontás
algoritmusával az R
egy veszteségmentes BCNF sémákra való
felbontását.
4.) Az 1.feladatban adott R, F esetén számoljuk ki az F
függőségi rendszer
egy minimális fedőjét
(minimális bázisát) és a
minimális fedőt felhasználva
a 3NF szintetizáló algoritmussal
adjuk meg R-nek egy függőségőrző és
veszteségmentesen 3NF sémákra
való felbontását.