You are on page 1of 24

Adatbázis-kezelés

Alapfogalmak
Miért van szükség adatbázisokra?
A nagy mennyiségű adat rendszerezése miatt

Könnyen és gyorsan tudjunk benne keresni

Később is tudjuk kezelni és használni az adatokat – adatfeldolgozás

Biztonságos adattárolás miatt

Ugyanazt az adathalmazt egyszerre többen is használni tudják

Mi az adatbázis?Mi az adatbázis-kezelő rendszer?


adatbázis: logikailag összefüggő adatgyűjtemény, amely nagy mennyiségű adatot
tartalmaz rendszerezve, kapcsolataikkal együtt ábrázolva (nagy mennyiségű információ
strukturált együttese)

adatbázis-kezelő rendszer: az adatbázisokhoz kapcsolódó programrendszer , amellyel


az adatbázishoz való hozzáférés és karbantartás kezelhető

adatbázisok létrehozása, tartalom definiálása

adatok tárolása és lekérdezése

adatok védelme, biztonsága, titkosítása

hozzáférési jogok kezelése

pl. dBase, FoxBase, FoxPro, Clipper, Access,BASE (OpenOffice), Oracle Database,


Visual FoxPro, DB/2 (IBM), FireBird (Borland)

Milyen elvárásaink lehetnek egy adatbázis-kezelő rendszertől?


Új adatbázis létrehozása

Karbantartás (új adat felvitele, módosítás, törlés)


Adatok hatékony lekérdezése

Redundancia-mentesség (redundancia = felesleges adatismétlés)

Biztonságos adattárolás (jogosulatlan felhasználók és meghibásodások elleni védelem)

Több felhasználó egyidejű hozzáférése

Rugalmasság, könnyű kezelhetőség (felhasználóbarát felület)

Megfelelő hibakezelés (helyreállítás)

Alapfogalmak

Információ: alapfogalom

a világ mindegyik fogalmához tartozik jellemző tulajdonság

ez a tulajdonság jelekkel (betűk, számok) leírható

Adat: rögzített információ

Adatrögzítés: az adat tárolása valamilyen adatrögzítő eszközönpl. papír, mágneses


tároló (floppy, winchester, szalag), optikai tároló (CD, DVD, Blu-Ray), memóriakártya,
pendrive

Adatmodellezés

Adatmodell: egyedek, tulajdonságok és kapcsolatok halmaza, amely

absztrakt módon tükrözi a valós objektumoknak, jellemzőinek és viszonyainak elvont


kategóriáit

adatmodell = séma

Az adatbázisokat különféle modell szerint építhetjük fel, így az adatmodell meghatározza


az adatbázis szerkezetét, sémáját

adatmodell-elemek: egyed, tulajdonság, kapcsolat

Egyed, tulajdonság, kapcsolat

Egyed: az a valami, amiről tulajdonságokat tárolunkpl. Lakás, Tanuló, Beteg, Áru, Könyv,
stb.
Tulajdonság: az egyed egy jellemzőjepl. Lakás (területe, tulaj, belmagasság, emelet,
fűtéstípus, stb.)

Kapcsolat: az egyedek közötti viszonypl. Könyv – Kölcsönzés – Olvasópl. Diák – Tantárgy


– Tanár – Jegypl. Vásárló – Vásárlás – Termék – Számla

Adatmodellek típusai

Hierarchikus

Hálós

Relációs

Hierarchikus adatmodell

Időben ez volt az első modell

Szerkezetét gráffal írjuk le, de ez speciális: fa

téglalapok = egyedek

vonalak / nyilak = kapcsolatok


gyöké
relem

levelek
Hálós adatmodell

Ez a hierarchikus modell általánosítása


Szerkezetét gráffal írjuk le:

csomópontok = egyedek

élek = kapcsolatok

az egyedeket tulajdonságaikkal írjuk le

pl. egy szállítási rendszer modellje:

egyedek: VEVŐ, RENDELÉS, TERMÉK, TÉTEL

az egyedek tulajdonságait rajzban adjuk meg

navigációs út: az egyedek bejárási útja


VEVŐ RENDELÉS

TERMÉK TÉTEL
Relációs adatmodell
Teljesen más filozófiára épül, mint az előző kettő: a kapcsolat itt nem játszik szerepet(csak
a lehetőség épül be a modellbe)

A relációs modellnél a tulajdonságok kapják a fő hangsúlyt

tulajdonságokkal definiáljuk az adatmodell szerkezetét

az egyedet táblázattal adjuk meg(egyed = táblázat)

táblázat sorai = az egyed értékei(a tulajdonságok konkrét értékei)

A relációs modellben létrehozott adatbázisok

több táblából (egyedből) állnak

DE: a modell felírásakor a táblák közötti kapcsolatokat nem definiáljuk

Mi fejezi ki a táblák közötti kapcsolatokat?

a két táblának van közös oszlopa

mindkét táblában szerepel ugyanaz a tulajdonság (közös tartalmú mező)


Relációs adatmodell elemei

Miért „relációs adatmodell”? Mi a reláció?

A relációs halmazelméleti (matematikai) fogalom.

Legyen adottak az alábbi halmazok!

Vezetéknév = {Szabó, Kovács, Balogh}

Keresztnév = {Péter, Éva, András, Imre}

Dátum = {1960/1/5, 1958/11/14, 1972/7/2}

Lakhely = {Szeged, Makó, Pécs, Baja, Eger}

Vegyünk mindegyik halmazból egy-egy elemet és írjuk ezeket egymás mellé mindig
ugyanabban a sorrendben – vegyük az összes lehetséges párosítást!Mit kapunk? Hány
elemű lesz ez a halmaz?

Válasz: elem-négyeseket kapunk, összesen 3*4*3*5=180 elemű halmaz alakul ki.

Ez az elem-négyekből álló halmaz a négy halmaz Descartes-szorzata (direkt


szorzat)Jelölés: Vnév X Knév X Dátum X Lakhely

Ha ezekből az elem-négyesekből néhányat kiválasztunk, akkor kapunk egy relációt.Tehát


a reláció a halmazok Descartes-szorzatának egy részhalmaza.

Ha ezeket az elem-négyeseket egymás alá írjuk, akkor egy táblázatot kapunk.reláció =


táblázat
Például ebből lehet egy dolgozói adattábla:

Mikor tekinthető a táblázat relációnak?

a táblázatnak van egyértelmű, kizárólagos neve

minden oszlopának egyedi neve van

az egyes oszlopok csak azonos típusú adatokat tartalmaznak

minden sorban (rekordban) pontosan ugyanannyi oszlop (mező) van

nincs két egyforma sor

a sorok és oszlopok sorrendje tetszőleges

A relációs adatbázis fogalma

Relációs adatbázis: több táblából (relációból) álló objektum, ahol a táblák között
kapcsolat van.A táblákat a tulajdonságok (oszlopnevek) definiálják.
KÖLCSÖNZÉS
olvasójegyszám olvasójegyszám
OLVASÓ raktári_szám raktári_szám
név KÖNYV
anyja_neve szerző
szül_idő könyvcím
szül_hely kategória
lakcím kiadó_neve
munkahely_neve kiadó_címe
munkahely_címe kiadás_éve
foglalkozás oldalszám

Mit jelent az elsődleges kulcs? Mi a szerepe?

Elsődleges kulcs: az egyed egy vagy több tulajdonsága, amely egyértelműen


meghatározza az egyedet.

Az elsődleges kulcs lehet:

egyszerű: amikor egy tulajdonság azonosítja az egyedetPl. OLVASÓ – olvasójegyszám


KÖNYV – raktári szám

összetett: amikor 2 vagy több tulajdonság azonosítjaaz egyedetPl. KÖLCSÖNZÉS –


olvasójegyszám, raktári szám, kölcsönzés dátuma

Mit jelent az alternáló kulcs kifejezés?

Alternáló kulcs: olyan tulajdonság, amely betöltheti az elsődleges kulcs szerepét, de az


adott relációban nem azt választottuk kulcsnak.

PL. DOLGOZO(Dolgozókód, Név, Anyja neve, Születési ideje, Születési helye, Személyi
ig.szám, Adószám, Belépés dátuma, Munkakör, Alapbér)A fenti tulajdonságok közül a
Dolgozókód-ot választottuk elsődleges kulcsnak,alternáló kulcs: Személyi ig.szám illetve
az Adószám,mert ezek alternatív lehetőségek elsődleges kulcsnak.

Mi az idegen kulcs? Mi a szerepe?


Idegen kulcs: olyan tulajdonság, amely egy másik táblában kulcs (a kapcsolat
létrehozásánál van fontos szerepe)
Két táblát csak úgy lehet összekötni:

Ha van két egyforma típusú és tartalmú mező a két táblában,

amelyek közül az egyik elsődleges kulcs.Pl. Az olvasójegyszám az OLVASÓ táblában


elsődleges kulcs, a KÖLCSÖNZÉS táblában idegen kulcsPl. A raktári szám a KÖNYV
táblában elsődleges kulcs, a KÖLCSÖNZÉS táblában idegen kulcs

Táblák közötti kapcsolatok


Kapcsolat: két egyed (tábla) közötti viszonyt jelenti

A kapcsolat típusai:

1:1(egy-egy) kapcsolat

1:N (egy-több) kapcsolat

N:M (több-több) kapcsolat

A kapcsolat mindig az egyik tábla elsődleges kulcs mezője és a másik tábla egy mezője
(idegen kulcs) között jön létre.

Mindkét mezőnek azonos típusúnak és tartalmúnak kell lennie.

1:1(egy-egy) kapcsolat

1:1 kapcsolat: az egyik tábla egyik egyedéheza másik táblából pontosan egy egyed
tartozik, és ez fordítva is igaz (kölcsönösen egyértelmű kapcsolat)

Pl. MEGYE – MEGYESZÉKHELY

Pl. OSZTÁLY – OSZTÁLYFŐNÖK

Pl. ORSZÁG – FŐVÁROS

A kapcsolatok ábrázolására a Bachmann-ábrát alkalmazzuk.

A Bachmann-ábra (diagram) egy áttekintést nyújta relációs adatbázis tábláiról és azok


szerkezetéről,a bennük található kulcsokról és a táblák közötti kapcsolatokról.

Példák 1:1 kapcsolatra Bachmann-ábrán


Ebben az esetben két elsődleges kulcsot kötünk össze.

1:N(egy-több) kapcsolat
1:N kapcsolat: az egyik tábla egyik egyedéheza másik táblából több egyed tartozik, de ez
fordítva nem igaz

Pl. ANYA – GYERMEK

Pl. OSZTÁLY – TANULÓ


Ebben az esetben az egyik tábla elsődleges kulcsát a másik tábla egy azonos tartalmú
mezőjével (idegen kulcs) kötöttük össze.
Az összekapcsolt mezők azonos tartalma azt jelenti, hogy a másodlagos (GYERMEK)
táblába nem vihetünk fel olyan gyermeket, akinek az édesanyja még nem szerepel az
elsődleges (ANYA) táblában.

N:M(több-több) kapcsolat

N:M kapcsolat: az egyik tábla egyik egyedéheza másik táblából több egyed tartozik, és ez
fordítva is igaz

Pl. KÖNYV– OLVASÓ (egy könyvtárban)

Pl. TANULÓ – TANTÁRGY

Pl. FILM - SZÍNÉSZ

Ebben az esetben a két tábla közé egy kapcsolótáblát kell beépíteni.


A kapcsolótáblába mindenképpen fel kell venni a két tábla elsődleges kulcsát. Így tudjuk
az N:M kapcsolatot felbontani két db 1:N kapcsolatra.A kapcsolótáblában így minden
esetben összetett kulcs alakul ki.
Függőségek, normalizálás
5.1. Az első normálforma,
az első normálformára hozás módszerei

Bevezetés
(a normálformák szerepe)
• a normálformák az adatbázisok (az azokat
alkotó relációk) belső szerkezetét jellemzik
2
Az adatbázis egy adott normálformában van, ha az
adatbázis eleget tesz bizonyos feltételeknek.
NORMALIZÁLÁS
ABevezetés
(a normálformák szerepe - folyt)
normalizálás = adott normálformára hozás
optimalizálás = optimális (minimális mértékű)
redundancia kialakítása

I. Az első normálforma (1NF)


definíciója
4

ELSŐ NORMÁLFORMA (1NF)


• azaz az adatbázis attribútumai nem lehetnek
összetettek, ismétlődők
• az adatbázis-kezelők csak 1NF típusú
adatbázist fogadnak el bemenetként

I. Az első normálforma (1NF) definíciója (folyt)


5
Első normálformájú-e az alábbi reláció?
I. Az első normálforma (1NF)
definíciója (folyt)
NEM 1NF, mert van benne ismétlődő attribútum!

II. Az első normálformára hozás


módszerei
Hogyan lehet egy relációt első normálformára
(1NF-re) hozni?
1. sorok ismétlésével: a több attribútumértéket
tartalmazó sor annyi sorra bontjuk, amennyi az
értékek száma

II. Az első normálformára hozás


módszerei (folyt)
2. a reláció szétbontásával: két táblára bontjuk
szét az eredeti relációt
• egyik reláció: kulcs + nem ismétlődő attribútumok
Dkód + Vnév + Knév + Születési dátum
• másik reláció: kulcs + ismétlődő attribútumok
(annyi sorral, ahányszoros az ismétlődés)
Dkód + Szakképzettség
2. a reláció szétbontásával: két táblára bontjuk
szét az eredeti relációt
• egyik reláció: kulcs + nem ismétlődő attribútumok
Dkód + Vnév + Knév + Születési dátum
• másik reláció: kulcs + ismétlődő attribútumok
(annyi sorral, ahányszoros az ismétlődés)
Dkód + Szakképzettség
• a reláció szétbontása után kapott két új reláció
egy közös mezőn tud egymással kapcsolatot
teremteni
NYILV-1 ( Dkód, Vnév, Knév, Szül_dátum )
a Dkód attribútum kulcs szerepű
NYILV-2 ( Dkód, Szakképzettség )
a Dkód attribútum idegen kulcs szerepű
atbázis relációinak megadott feltételek melletti
átalakítása, azaz egy adott normálformára hozása.
5.Függőségek, normalizálás
Függőségek fajtái.
A második normálforma,a 2. normálformára hozás módszerei

FUNKCIONÁLIS FÜGGŐSÉG

Legyen R (A1, A2, …, An) egy reláció éslegyenek P és Q az A attribútumhalmaz


részhalmazai.

P funkcionálisan meghatározza Q-t(jelölésben: P Q), ha a reláció valamely két sora


megegyezik a P halmazon, akkorabból az következik, hogy a két sor értékei megegyeznek
a Q halmazon is.
kétféle fogalmazás:

P funkcionálisan meghatározza Q-t (P Q)

Q funkcionálisan függ P-től (P Q)

a definíció alapkövetkezménye: a kulcstól minden másodlagos attribútum függ

SZAKKÖR (Tanulókód, Szakkörkód, Mióta)


A SZAKKÖR táblában a {Tanulókód, Szakkörkód} kulcs egyértelműen meghatározza,
hogy az illető tanuló Mióta tagja a szakkörnek, tehát a Mióta függ a kulcstól.
kétféle fogalmazás:

P funkcionálisan meghatározza Q-t (P Q)

Q funkcionálisan függ P-től (P Q)

I. A funkcionális függőség (feladat):Keressen funkcionális függőségeket az alábbi


relációkban! (Mindegyik reláció 1NF-jú…)

ÉTELRECEPT (ÉtelKód, ÉtelNév, ÉtelÁr, ÉtelTípus, AnyagKód, AnyagNév, AnyagÁr,


Mértékegység, Szükséges Anyagmennyiség)

SZÁMLA (Számlaszám, Dátum, ÉtelKód, ÉtelNév, Egységár, RendeltMennyiség,


Részérték, Fizetendő)

Keressen funkcionális függőségeket az alábbi relációkban! (Mindegyik reláció 1NF-jú…)

LÉGIJÁRAT (Repülőtársaság, Géptípus, Járatszám, Dátum, Indulás ideje, Érkezés ideje,


Indulási hely, Érkezési hely, Étkezés típusa, Ülőhely sorszáma, Osztály)
(A járatszám egy adott vonalon járó repülőgépet jelöl, amely egy napon többször is
megteheti ugyanazt az útvonalat.)

ÉTELRECEPT (ÉtelKód, ÉtelNév, ÉtelÁr, ÉtelTípus, AnyagKód, AnyagNév, AnyagÁr,


Mértékegység, Anyagmennyiség)

kulcs: {ÉtelKód, AnyagKód}

funkcionális függőségek:

{ÉtelKód, AnyagKód} {AnyagMennyiség}

{ÉtelKód} {ÉtelNév, ÉtelÁr, ÉtelTípus}

{AnyagKód} {AnyagNév, AnyagÁr, Mértékegység}

SZÁMLA (Számlaszám, Dátum, ÉtelKód, ÉtelNév, Egységár, RendeltMennyiség,


Részérték, Fizetendő)

kulcs: {Számlaszám, ÉtelKód}

funkcionális függőségek:

{Számlaszám, ÉtelKód} {RendeltMennyiség}

{Számlaszám} {Dátum, Fizetendő}

{Ételkód} {ÉtelNév, Egységár}

{Egységár, RendeltMennyiség} {Részérték}

LÉGIJÁRAT (Repülőtársaság, Géptípus, Járatszám, Dátum, Indulás ideje, Érkezés ideje,


Indulási hely, Érkezési hely, Ülőhely sorszáma, Osztály, Jegyár, Étkezés)

kulcs: {Járatszám, Dátum, Indulás ideje}

funkcionális függőségek:

{Járatszám} {Repülőtársaság}

{Járatszám, Ülőhely sorszáma} {Osztály, Étkezés,


Jegyár}
K {Géptípus, Indulási hely, Érkezés ideje, Érkezési hely}

I. A funkcionális függőség (kulcs)

az R reláció K kulcsa funkcionálisan meghatározza a kulcson kívüli attribútumokat

következménye: a kulcs fogalma definiálható a funkcionális függőséggel is

KULCS

Az A attribútumhalmaz K részhalmaz kulcsaaz R(A) relációnak, ha K A és nincs K-


nakolyan Y részhalmaza, amelyre Y A teljesülne.

I. A funkcionális függőség (egyebek)

funkcionális függőség = a valós világban meglévő függőségek

a táblázat egy részéből nem lehet biztosan eldönteni, hogy van-e függőség a relációban
a függőségek felhasználása: az adatbázis tárolási hatékonyságának növelésére
a függőségek hátránya: pl. a {Név} {Cím} fennáll, akkor a két címmel rendelkező
személyt nem lehet rögzíteni az adatbázisban
I. A funkcionális függőség (tulajd)

A reláció funkcionális függőségi családja:

egy R relációs adatbázisban nemcsak egyetlen olyan (P, Q) pár van, amelyben a két
attribútumhalmaz funkcionális függőség-ben van egymással,hanem több is

ezen párok halmazaa függőségi család (F)

A funkcionális függőség tulajdonságai:(egy reláció már ismert függőségeiből újabb


függőségek következtethetők)

logikai következtetés (jele: )(ha P Q, Q S}, akkor  P S)

bővíthetőség(ha P Q és S A, akkor P S Q S)

egyesíthetőség (ha P Q és Q S, akkor P Q S)

reflexivitás ( ha Q P A, akkor P Q)

tranzitivitás (ha P Q és Q S, akkor P S)

pszeudotranzitivitási szabály (ha P Q és T Q S, akkor az implikálja a P T S


funkcionális függőséget)
dekompozíciós szabály (ha P Q teljesül és S Q, akkor P S is teljesül)

Ezeket a szabályokat Armstrong-axiómáknakis szokás nevezni.

I. A funkcionális függőség(a relációk szétbontása)


A relációkat gyakran szét kell bontani részrelá-ciókra, mert meg akarjuk szüntetni a
felesleges adatismétlést.( optimális redundancia normalizálás)

Ha R (A1, A2, …, An) egy relációs séma, akkor szétbontása a ρ = R1, R2, …, Rk
halmaz(ahol R1 R2 … Rk = R).

a részrelációk (R1, R2, …, Rk) között lehet átfedés – a részhalmazok nem feltétlenül
diszjunktak:

NYILV-1 ( Dkód, Vnév, Knév, Szül_dátum )


NYILV-2 ( Dkód, Szakképzettség )

Mi történik az R-ben lévő funkcionális függő-ségekkel? Átmennek-e a részrelációkba?


(IGEN)

II. A teljes és részleges függőség


TELJES FÜGGŐSÉG

Legyen R (A1, A2, …, An) egy reláció éslegyenek P és Q az A attribútumhalmaz


részhalmazai úgy, hogy P, Q A és P Q.

Azt mondjuk, hogy Q teljesen függ P-től az R relációban, ha Q a P egyetlen valódi


részhalmazától sem függ.
-azaz bárhogyan is képezünk a P attribútumai-ból attribútum-csoportokat, azok
funkcionáli-san már nem határozzák meg a Q-t

-ellenkező esetben részleges függőségről beszélünk

RÉSZLEGES FÜGGŐSÉG

Legyen R (A1, A2, …, An) egy reláció éslegyenek P és Q az A attribútumhalmaz


részhalmazai úgy, hogy P, Q A és P Q.

Azt mondjuk, hogy Q részlegesen függ P-től az R relációban, ha Q a P valamely valódi


részhalmazától is függ.
II. A teljes és részleges függőség (példa)
Adott az R (A, B, C, D, E, F, G, H, I, J) reláció, amelynek kulcsa K = {A, B}, illetve ismertek
az alábbi függőségek:
{A} {C, E, G} és {B} {D, H}.

Feladatok:

Írja fel a relációban lévő összes függőséget!

Rajzolja fel a függőségi családot!

Állapítsa meg az egyes függőségek típusát!

II. A teljes és részleges függőség (példa megoldása)


1. Írja fel a relációban lévő összes függőséget!
A kulcs tulajdonságából következik, hogy minden másodlagos attribútum függ a
kulcstól, azaz{A, B} {C, D, E, F, G, H, I, J}.

Azok az attribútumok, amelyek nem szerepelnek a részleges függőségekben (F, I


és J) teljesen függnek a kulcstól, tehát {A, B} {F, I, J}, illetve így {A} {C, E, G} és
{B} {D, H} áll fenn.

2. Rajzolja fel a függőségi családot!

A függőségi család elkészítésekor közép-re rajzoljuk a kulcs-mezőket, majd belőlük


nyíllal mutatunk a másodlagos (azaz nem kulcs) attribútu-mokra.

3. Állapítsa meg az egyes függőségek típusát!

{A, B} {F, I, J}teljes függőség(a teljes kulcstól függ a három másodlagos


attribútum, de a kulcs egy részétől már nem)

{A} {C, E, G}részleges függőség{B} {D, H}részleges függőség


(a kulcs egyik mezőjétől függnek a másodlagos attribútumok)

III. A második normálforma (2NF) definíciója


MÁSODIK NORMÁLFORMA (2NF)

Egy R reláció második normálformában van, ha első normálformában van és minden


másodlagos attribútuma teljesen függ a kulcstól.
ha a kulcs egyszerű, azaz egyetlen attribútumból áll a reláció 2NF-jú
ha a relációban nincsenek másodlagos attribútumok (csupakulcs reláció) a reláció 2NF-

III. A második normálforma (2NF) definíciója (példa)
Második normálformájú-e az alábbi reláció?

Második normálformájú-e a reláció?

NEM, mert a relációban vannak részleges függőségek

kulcs: {Tkód, Szkd, Dátum}

részleges függőségek: {Tkód} {Tnév, ÁFA}, {Szkód} {Sznév}

A reláció függőségicsaládjából rögtön láthatóvá válnaka részleges és a teljes


függőségek.

III. A második normálformárahozás módszere

Hogyan lehet egy relációt 2. normálformára (2NF-re) hozni? – a reláció


szétbontásával:a relációt több táblára bontjuk szét a függőségek kiemelésével

részleges függőségek eltávolítása: kulcsrész +a tőle függő másodlagos attribútumok


teljes függőségek kiemelése: teljes kulcs +a tőle függő másodlagos attribútumok
III. A második normálformárahozás módszere (példa megoldása)
a szétbontott reláció:
SZÁLLÍTÁS-1(Tkód, Tnév, ÁFA)

SZÁLLÍTÁS-2(Szkód, Sznév)

SZÁLLÍTÁS-3(Tkód, Szkód, Dátum, Besz. ár, Menny.)


III. A második normálformárahozás módszere (feladat)
Hozza második normálformára az alábbi, első normálformájú ELADÁSnevű relációt!

2NF-júak-e az alábbi relációk?Ha nem, hozza arra!

PROJEKT (Projektszám, Projektnév, Projekt fajtája, Kezdés éve, Befejezés Éve,


Összköltség, Összbevétel, Adóösszeg, Résztvevő neve, Résztvevő beosztása, Résztvevő
feladata, Résztvevőnek kifizetett összeg, Kifizetés dátuma)

---------------------------------------------

ÉTTEREM (Ételkód, Ételnév, Ételtípus, Ételár, Számlaszám, Számla dátuma, Fizetési


mód)

ÉTELEK (Ételkód, Ételnév, Ételtípus, Ételár, Anyagkód, Anyagnév, Anyag mértékegysége,


Anyagmennyiség)

BESZERZÉS (Anyagkód, Anyagnév, Beszerzési dátum, Anyagkód, Anyagnév,


Anyagegységár, Anyag mértékegysége, Beszerzett mennyiség)
5.Függőségek, normalizálás
A harmadik normálforma,
a 3. normálformára hozás módszerei

I. A tranzitív függőség
TRANZITÍV FÜGGŐSÉG

Legyen R (A1, A2, …, An) egy reláció éslegyenek P és S az A attribútumhalmaz


részhalmazai.

S tranzitívan függ P-től, halétezik olyan Q A, hogyteljesül a P Q és Q S függőség(de


nem teljesül az S Q és Q P függőség).
kevésbé formálisan megfogalmazva: két funkcionálisan függő attribútumhalmaz
mellé található egy harmadik a relációban, amely a két halmaz közötti
függőséget átviszi

P S
Q
hasonlít ez a definíció a tranzitivitási tulajdonsághoz, de mégsem ugyanaz,mert itt két
létező halmaz mellé kikötjükegy harmadik létezését így valósulmeg a tranzitivitási
tulajdonság

tranzitivitási tulajdonságnál:

P Q és Q S függőségekből P Sfüggőség következik

I. A tranzitív függőség (feladat)


Keressen tranzitív függőségeket az alábbi relációkban! (Mindegyik reláció 1NF-jú…)

BÉRFIZETÉS (Személykód, Név, Havi bér,Éves bérösszeg, …)

(Feltételezzük, hogy a dolgozó minden hónapban mindig ugyanakkora havi bért kap.)
I. A tranzitív függőség (feladat)
Keressen tranzitív függőségeketaz alábbi,függőségicsaláddalmegadott relációban!

E
A
C
F
B
G

II. A harmadik normálforma(3NF) definíciója


H J
HARMADIK NORMÁLFORMA (3NF) I
Egy R reláció harmadik normálformában van,ha második normálformában van ésegyetlen
másodlagos attribútuma sem függ tranzitíven a kulcstól.

További definíciók:

Egy R reláció harmadik normálformában van, ha második normálformában és

minden másodlagos attribútuma funkcionálisan független egymástól

VAGY

a másodlagos attribútumok között nincsen funkcionális függőség

III. A harmadik normálformárahozás módszere

Hogyan lehet egy relációt 3. normálformára (3NF-re) hozni? – a reláció szétbontásával:a


relációt több táblára bontjuk szét a tranzitív függőségek kiemelésével

kulcs v. kulcsrész + a tőle KÖZVETLENÜL függő másodlagos attribútumok


a két másodlagos attribútum (a kulcstól közvet-lenül és közvetetten függő)

-Az alábbi függőségi család az R (X, Y, A, B, C, D) reláció függőségeit


mutatja(feltételezzük, hogy nincs benne ismétlődő attribútum).
2NF-jú relációk:
R1 (X, A, B) – ebben található
R2 (Y, C) tranzitív függőség
R3 (X, Y, D)
-Az R1 (X, A, B) reláció tartalmaz tranzitív függőséget, mert Xés B attribútumok
eseténlétezik az az A attribútumúgy, hogy teljesül az X Bfüggőséghez az alábbi
kétfüggőség is: X A és A B

-Az X B függőség tranzitív függőség, ezért azt el kell távolítani az R1 relációból:

R11 (X, A) R12 (A, B)

(Vagyis a piros nyíllal jelzetttranzitív függőséget szüntetjük mega másik két függőség
fenntartásával.)

III. A harmadik normálformárahozás módszere (feladat)

3NF-jú-e az alábbi reláció? Ha nem, hozza arra!

DOLGOZÓ (Dolgozókód, Név, Születési idő, Születési hely, Anyja neve, Beosztás,
Munkaviszony ideje, Alapbér, Pótlék)

(Feltételezzük, hogy az alapbért a beosztás és munka-viszony ideje alapján adják, a


pótlékok pedig a beosztásokhoz kötődnek.)

3NF-jú-e az alábbi reláció? Ha nem, hozza arra!

ELADÁS (Számlaszám, Dátum, Vevőkód, Vevőnév, Vevőcím, Termékkód, Terméknév,


Egységár, Mennyiség, Részösszeg, Fizetendő)

(Feltételezzük, hogy a részösszeg egy résztétel összegét adja meg, a fizetendő pedig az
adott számlán szereplő összes tétel alapján fizetendő összeget)

You might also like