1 / 18

Normalizálás

Normalizálás. Funkcionális függés Redundancia 1NF, 2NF , 3NF. Funkcionális függőség. Legyen adott R(A 1 , …, A n ) relációséma , valamint P , Q ⊆ { A 1 , …, A n } ( magyarán P és Q a séma attribútumainak részhalmazai )

nijole
Télécharger la présentation

Normalizálás

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Normalizálás Funkcionálisfüggés Redundancia 1NF, 2NF, 3NF

  2. Funkcionálisfüggőség • Legyenadott R(A1, …, An) relációséma, valamint P, Q ⊆ {A1, …, An} (magyarán P és Q a sémaattribútumainakrészhalmazai) • P-tőlfunkcionálisanfügg Q, jelölésben P→Q, ha bármely R feletti T táblábanvalahányszorkétsormegegyezik P-n, akkormegegyezik Q-n is. • A P→Q függéstriviális, ha Q⊆P, vagyteljesennemtriviális, ha P és Q metszeteüres. A sématulajdonsága!

  3. FunkcionálisfüggésFolyt.redundancia • Példáulegyfüggés: {EHA} → {Név, Lakcím} • Redundanciárólakkorbeszélünk, ha valamelyadatotfeleslegesentöbbszörösentárolunk el. Például, ittegyilletőlakcímefeleslegesentöbbszörszerepel. A főgondezzel, hogyadatokaktualizálásakor (pl. lakcímváltozás) mindenhelyenátkelleneírnunk a lakcímet. • A redundanciafelszámolását a sémadekompozíciójával, azaztöbbsémárabontásávalérjük el

  4. Feladat 5.1 Mik a függőségekazalábbiadatbázissémában? TANÁR(T.Azonosító, Név) DIÁK(D.Azonosító, Név, Lakcím, SZ.Azonosító) SZAK(SZ.Azonosító, Kar, Szak név) TANÍTJA(T.Azonosító, D.Azonosító, Tantárgy)

  5. FELADAT 5.2 Tekintsük a korábbanlátottsémát: Hallgató(EHA, Név, Lakcím, Tárgy, Jegy) Végezzük el a tábladekompozíciójátúgy, hogy a kapotteredményben ne legyenmárredundancia. Hallgató(EHA, Név, Lakcím) Eredmény(EHA, Tárgy, Jegy)

  6. Célkitűzés • Azadatok • összesítése • módosítása • törlése • tárolása eseténnemszerencsésa redundancia • Találjunkmódotezekkiküszöbölésére • Megoldás: egyreszigorúbbformaiszabályokatadunk meg a relációsémákra: 1NF – 2NF – 3NF ( – BCNF – 4NF) • A normalizálástkp. mindigcélszerű, de nemmindenesetbenkötelező A ZH-ban és a dokumentációbanviszontkötelező

  7. 1. normálforma (1nf) Definíció. Egy relációséma 1NF-ben van, ha az attribútumok értéktartománya csak egyszerű (atomi) adatokból áll. • Nem lehet összetett attribútum v. egyéb nem atomi adat (pl. lista) • Relációséma felírásakor kötelező az 1NF betartása • Gyakorlatilag összetett attribútumnál az alábbi átalakítást jelenti: Ügyfél(Azonosító, Név, Cím(Város, Utca, Házszám)) Ügyfél(Azonosító, Név, Város, Utca, Házszám) • Listáknál gondoljunk vissza a többértékű attribútum leképezésére

  8. 2. normálforma (2NF) Definíció (teljesfüggés). Legyen X,Y ⊆ A, és X→Y. Azt mondjuk, hogy 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 bármely X1 ⊂ X esetén X1→Y már nem igaz. Definíció (2NF). Egyrelációséma 2NF-ben van, ha mindenmásodlagosattribútumteljesenfüggbármelykulcstól. Azeddigiekképletesen. Vannak másodlagos attribútumok, amik nem a teljes kulcstól, hanem annak csak egyes részeitől függenek.

  9. 2. Normálforma (2nF) Következmény. • Azolyansémák, ahol a kulcsegyszerű (csakegyattribútumbóláll), mindig 2NF-ben vannak. • Ha egysémábannincsenekmásodlagosattribútumok, akkoraz a sémabiztosan 2NF-ben van. Példa. DOLGPROJ (Adószám, Név, Projektkód, Óra, Projektnév, Projekthely)

  10. 2. Normálforma (2NF) • A korábbisémafelettegytáblalehetne pl. ilyen: • f1: Adószám → Név • f2: Projektkód → {Projektnév, Projekthely} • f3: {Adószám, Projektkód} → Óra Név pl. csakAdószám-tólfügg, ígynemteljesenfügg a kulcstól!

  11. 2. normálformárahozás • Ha valamely K kulcsra L⊂K és L→B (itt B az összes L-től függő másodlagos attribútum halmaza), akkor a sémát felbontjuk az L→B függőség szerint. • Legyen C=A−(L∪B), ekkor az R(A) sémát az R1(C∪L) és az R2(L∪B) sémákkal helyettesítjük. Példa. Tétel (árukód, számla.sorszám, árunév, egységár, mennyiség) • 1NF? Teljesül ✔ • 2NF? A kulcs összetett – vizsgáljuk meg alaposabban

  12. 2. NORMÁLFORMÁRA HOZÁS Tétel (árukód, számla.sorszám, árunév, egységár, mennyiség) Függőségek: • f1: {számla.sorszám, árukód} → {egységár, mennyiség} • f2: {árukód} → {árunév} Azárunévmásodlagosattribútumnemteljesenfügg a kulcstól. → Nincs 2NF-ben ✗

  13. 2. normálformárahozás Tétel (árukód, számla.sorszám, árunév, egységár, mennyiség) Megoldás. A gondotokozófüggés (f2: {árukód} → {árunév})menténfelbontjuk a sémátkétmásiksémára. Tétel (árukód, számla.sorszám, egységár, mennyiség) Áru (árukód, árunév) ☐ L B C=A−(L∪B), R(A) → R1(C∪L), R2(L∪B) L = {árukód} B = {árunév} L∪B = {árukód, árunév} C = A – (L∪B) = {számla.sorszám, egységár,mennyiség} C∪L = {árukód, számla.sorszám, egységár, mennyiség}

  14. 3. Normálforma (3nF) Tranzitívfüggés. Ellenkezője: közvetlen(ül) függés. 3NF. Egyséma 3NF-ben van, ha mindenmásodlagosattribútumközvetlenülfüggbármelykulcstól. Következmény. • Ha nincs a sémábanmásodlagosattribútum, akkorbiztosan 3NF-ben van. Kulcs Másodlagosattribútum Másodlagosattribútum

  15. 3. normálformárahozás • Megoldás: ismételtenfüggőségszerintifelbontástvégzünk Példa. Számla (sorszám, dátum, vevőkód, vevőnév, vevőcím) • 1NF? Teljesül ✔ • 2NF? Egyszerű kulcs – teljesül ✔ • 3NF? Vizsgáljuk meg a függőségeket! {sorszám} → {vevőkód} → {vevőnév, vevőcím} (Adottsorszámúszámlátadottvevőnekállítunkki, és a vevőkódalapjánkiderül a vevőneveéscíme is.)

  16. 3. Normálformárahozás Megoldás. Számla (sorszám, dátum, vevőkód) Vevő (vevőkód, vevőnév, vevőcím) Vagyis, felbontást végeztünk a {sorszám} → {vevőkód} →{vevőnév, vevőcím} függőségszerint. ☐

  17. feladatOK 5.3 Hozzuk 1,2,3NF-re az alábbi relációsémát a kulcs bejelölése után: Hallgató(eha, név, város, irányítószám, utca, házszám, szak, kar) 5.4 Hozzuk 1,2,3NF-re az alábbi relációsémát a kulcs bejelölése után: Áram( ünév, vóra_száma, szavatosság, mérés_kezd, mérés_vége, ücím) ahol az ücím attribútum összetett attribútum (város, utca, házszám, irsz).

  18. Források • [1] Dr. KatonaEndre: Adatbázisok • [2] NémethGábor: Kidolgozottpéldák

More Related