Professional Documents
Culture Documents
DB Segitseg
DB Segitseg
DB Segitseg
4. Relációs algebra
Az alábbi kifejezések melyike igaz egy R(A1, ..., An) relációs séma feletti T táblára?
T ⊆ dom(A1) × ... × dom(An)
Az adatok relációkkal adhatók meg. Az R(A1, . . . , An) séma feletti T reláció egy T ⊆
dom(A1) × · · · × dom(An) halmazt jelent. Azaz egy reláció nem más, mint az
attribútumok értéktartományainak direkt szorzatából képzett halmaz egy
részhalmaza.
Halmaz metszet, unió, különbségét csak akkor lehet venni ha kompatibilisek a táblák,
vagyis megegegyezik az oszlopok száma és azok értéktartománya
A theta-összekapcsolásnál a két tábla azon sorait kapcsoljuk össze, amelyek a
kapcsolómezőkön megegyeznek: Hamis(A Descartes-szorzat azon rekordjait tartja
meg, melyek egy
adott logikai feltételnek megfelelnek.)
Tekintsük az alábbi relációs adatbázissémákat!
Hallgató(ehakód, név, születési dátum, beíratkozás éve)
Kurzus(kurzuskód, kurzusnév, kredit)
Felvette(kurzuskód, ehakód, félév, jegy)
Különbség: Azon hallgatók ehakódjainak listázása, akik egyáltalán nem vettek fel még
kurzust.
Szelekció: Az idei évben beíratkozott hallgatók listázása.
Természetes összekapcsolás: A hallgatói-, kurzus- és teljesítési adatok listázása.
5. Funkcionális függőség
Függőségek:
1. R(A1,…An) relációséma, P,Q részhalmaza {A1…An}
P-től funkcionálisan függ Q, ha bármely R feletti T tábla esetén valahányszor két sor
megegyezik P-n, akkor megegyezik Q-n is. Jele P -> Q.
Teljesen nemtriviális: {felhasználónév, email} → {név}, mivel a név nem szerepel a bal
oldali attribútumok között, P ∩Q = ∅
Nemtriviális függés: {felhasználónév, email} → {email, név}, de az {email, név} nem
részhalmaza a {felhasználónév, email}-nek
Triviális függés: {felhasználónév, email} → {email}, mivel az {email} részhalmaza a
{felhasználónév, email}-nek, Q ⊆ P
P →Q triviális , ha Q ⊆ P.
P →Q teljesen nemtriviális, ha Q ∩ P = ∅.
Tekintsünk egy R(A,F) relációs adatbázissémát! K (⊆A) akkor és csak akkor
szuperkulcs, ha K →A
Egyszerű szabályok amik mentén lehet kezelni a funkcionális függőségeket:
Szétvágási szabály: Ha X → {B1, ..., Bk}, akkor X → B1, ..., X → Bk(X-től külön függ a
B1, a B2, a Bk, tehát ha az X-en egyezés van akkor egyezés van B1-en, B2-őn, Bk-n)
Egyesítési szabály: ha X->B1, …, X->Bk, akkor X->{B1…Bk}
DE attól hogy {B1…Bk} -> X, abból nem következik hogy B1->X,…Bk->X, tehát csak a jobb
oldali attribútumokat lehet szétvágni
Armstrong-axiómák:
Reflexivitás: Ha Y ⊆ X, akkor X → Y.
Bővítés: Ha X → Y, akkor X ∪ Z → Y ∪ Z.
Tranzitivitás: Ha X → Y és Y → Z, akkor X → Z.
Kulcsok meghatározása: K akkor és csak akkor szuperkulcs, ha K -> A(a teljes
attribútumhalmaz függ K-tól) -> attribútumhalmaz lezártját kell vizsgálni
Algoritmus X+ számítására: keresünk olyan F-beli(függőségek beli) P->Q függőséget, ami
esetén P benne van az eddigi X halmazban, de a Q nem része az X halmaznak(nyilván nem
kerület bele kétszer a jobboldal a halmazba)
Kulcs meghatározása: a szuperkulcstól az összes attribútum függ, vagyis a K lezártja megadja
a teljes attribútumhalmazt
legyen először K a teljes attribútumhalmaz és ebből sorra hagyjunk el attribútumokat
úgy, hogy még mindig K+ a teljes attribútumhalmaz legyen
Felbontás
R(A) relációséma, előfeltétel: X, Y része A-nak és az attribútumokat összerakva kiadják az
egész attribútumhalmazt
Akkor hűséges a felbontás ha az eredeti táblát visszakapjuk ha vesszük a szétvágott táblák
természetes összekapcsoltját.
Hűséges felbontáshoz: Heath tétele
R relációséma R(B, C, D) B,C,D attribútumhalmazokkal
Ha C->D, akkor R1(B, C) és R2(C, D) felbontás hűséges.
Normalizálás
1NF: Attribútumok értéktartománya csak egyszerű(atomi) adatokból áll
R(A, F) relációséma - F: függőségek és X, Y részhalmaza A-nak és X->Y(funkcionálisan
függ)
X-től teljesen függ Y, ha X-ből bármely attribútumot elhagyva a függőség már nem teljesül,
vagyis ha pl. K kulcs, akkor K-tól teljesen függ A(az összes attribútum).
Egy attribútumot elsődleges attribútumnak nevezünk, ha szerepel a relációséma
valamely
kulcsában, ellenkező esetben másodlagos attribútumnak nevezzük.
2NF: Ha minden másodlagos attribútum teljesen függ bármely kulcstól. A 2NF
definíciójából adódik, hogy ha a sémában nincs másodlagos attribútum vagy ha a
sémában minden kulcs egyszerű(egy attribútumból áll), akkor a séma 2NF-ben is van.
(Minden másodlagos attribútum a teljes elsődleges kulcstól függ, vagyis ha elhagyok
belőle attribútumot akkor nem találhatok függést a táblában.)
2NF-re hozás: a normálformát sértő függőség mentén felbontjuk a sémát a Heath
tétele szerint
X, Z részhalmaza A-nak és X->Z
X-től tranzitívan függ Z, ha van olyan Y, amelyre X->Y és Y->Z, de Y-tól nem függ X és az Y->Z
függés teljesen nemtriviális vagyis Y és Z metszete üreshalmaz. Ellenkező esetben X-től
közvetlenül függ Z.
3 NF: Ha minden másodlagos attribútum közvetlenül függ bármely kulcstól. Ha a
sémában nincs másodlagos attribútum akkor már 3NF-ben van.(Minden másodlagos
attribútum a teljes elsődleges kulcstól függ és semmi más attribútumtól nem)
3NF-re hozás: a normálformát sértő függőség mentén felbontjuk a sémát a Heath
tétele szerint, vagyis Y->Z mentén
BCNF: ha bármely nemtriviális L -> Z függés esetén L szuperkulcs, tehát a sémában
csak kulcstól való függés van és az L szuperkulcs. Tehát akkor nincs BCNF-ben ha van
olyan nemtriviális függés aminek a bal oldalon nem szuperkulcs van. (Minden
attribútum a teljes elsődleges kulcstól függ és semmi más attribútumtól nem)
BCNF-re hozás: a normálformát sértő függőség mentén felbontjuk a sémát a Heath
tétele szerint
K, L az A attribútumhalmaz részhalmazai és M a maradék attribútumok halmaza
K-tól többértékűen függ L (K->->L), ha bármely R feletti T tábla esetén ha két sor megegyezik
K-n, akkor a kombinációjuk is szerepel a táblában. Ha K->->L, akkor K->->M.
Fagin tétele(többértékű függések megoldása):
R relációséma R(B, C, D) B,C,D attribútumhalmazokkal
R felbontása az R1(B unio C) és R2(C unio D) sémákra akkor és csak akkor hűséges, ha
C->->D fennáll(C, től többértékűen függ D)
4NF: ha minden nemtriviális K->->L függés esetén K szuperkulcs
4NF-re hozás: a normálformát sértő függőség mentén felbontjuk a sémát a Fagin
tétele szerint R1(K unio L) és R2(K unio M) sémákra.
4NF esetén hűséges felbontással redundancia nem szűntethető meg