1 / 17

Adatbázisok gyakorlat

Adatbázisok gyakorlat. 5. gyakorlat. Adatmodellezés III/IV – Funkcionális függés, redundancia. Normalizálás. Funkcionális függés. Legyen R(A 1 ,...,A n ) egy relációséma, és P, Q az {A 1 ,...,A n } attribútumhalmaz részhalmazai.

olin
Télécharger la présentation

Adatbázisok gyakorlat

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. Adatbázisok gyakorlat 5. gyakorlat Adatmodellezés III/IV – Funkcionális függés, redundancia. Normalizálás

  2. Funkcionális függés • Legyen R(A1,...,An) egy relációséma, és P, Q az {A1,...,An} attribútumhalmaz részhalmazai. • P-től funkcionálisan függ Q (jelölésben P → Q), ha bármely R feletti T tábla esetén valahányszor két sor megegyezik P-n, akkor megegyezik Q-n is,vagyis bármely ti ∈ T és tj ∈ T esetén ti(P) = tj(P) => ti(Q) = tj(Q) Pl.: {EHA} → {Név, Lakcím} Antal Gábor

  3. Funkcionális függés • A funkcionális függés a séma tulajdonsága • Elnevezések: • A P → Q függést triviálisnak nevezzük, ha Q ⊆ P, ellenkező esetben nem triviális. • A P → Q függést teljesen nemtriviálisnak nevezzük, ha Q ∩ P = 0. • A gyakorlatban általában teljesen nemtriviális függőségeket adunk meg. Antal Gábor

  4. Redundancia • Akkora beszélünk róla, ha valamilyen adato(ka)t többszörösen tárolunk el. • Előző példában pl. Név, Lakcím feleslegesen volt többször tárolva • Probléma: • Lakcímváltozás esetén mindenhol át kellene írni az új címre (hibák, felesleges erőforrás) • Tárigény növekedés • Adott séma dekompozíciójával megszüntethető (azaz több sémára bontjuk a sémát) Antal Gábor

  5. Redundancia • Az adatok • összesítése • módosítása • törlése • tárolása esetén nem szerencsés a redundancia • Emiatt szigorúbb formai szabályokat kell bevezetnünk a relációsémákra: • 1NF – 2NF – 3NF ( – BCNF – 4NF) • Mindig célszerű, de nem mindig kötelező Antal Gábor

  6. 1. Normálforma • Egy relációséma 1NF-ben van, ha az attribútumok értéktartománya csak egyszerű (atomi) adatokból áll (nem tartalmaz például listát vagy struktúrát). • Mivel az 1NF feltétel teljesülését már a relációs modell definíciójánál kikötöttük, ezért az 1NF-re hozást lényegében az E-K modellről relációs modellre történő átalakításnál elvégeztük (lásd: előző óra/összetett és többértékű attribútumok leképezése). Antal Gábor

  7. 2. Normálforma • Teljes függés: Legyen R(A) relációséma, 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. • 2. Normálforma def.: Egy relációséma 2NF-ben van, ha minden másodlagos attribútum teljesen függ bármely kulcstól. Antal Gábor

  8. 2. Normálforma • Vagyis: Ha egy kulcs több attribútumból áll, és ezen attribútumok közül néhányat “letakarok”, majd pedig így nem tudok minden sort egyértelműen megkülönböztetni, sérül a 2NF. → Vannak másodlagos attribútumok, amik nem a teljes kulcstól, hanem annak csak egyes részeitől függenek. • A séma akkor nincs 2NF-ben, ha egy kulcs részhalmazától függ (egy vagy több) másodlagos attribútum Antal Gábor

  9. Következmények • Ha minden kulcs egy attribútumból áll, akkor a séma 2NF-ben van. • Ha a sémában nincs másodlagos attribútum, akkor 2NF-ben van. Antal Gábor

  10. 2. Normálformára hozás • A sémát felbontjuk Heath tétele szerint, a normálformát sértő függőség mentén. • Ha valamely K kulcsra L ⊂ K és L→B (itt B legyen az összes L-től függő attribútum halmaza), akkor a sémát felbontjuk az L→B függőség szerint. Legyen C = A – (L U B), ekkor az R(A) sémát az R1(C U L) és R2(L U B) sémákkal helyettesítjük. Heath tétele alapján a felbontás hűséges. Antal Gábor

  11. 2. Normálformára hozás példa 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év másodlagos attribútum nem teljesen függ a kulcstól → Nincs 2NF-ben  • A gondot okozó függés (f2: {árukód} → {árunév}) mentén felbontjuk a sémát két másik sémára. Tétel (árukód, számla.sorszám, egységár, mennyiség) Áru (árukód, árunév) Antal Gábor

  12. 2. Normálformára hozás példa VIZSGATELJESÍTÉS(kurzuskód, kurzus_neve, dátum, jegy) • Függőségek: • f1: {kurzuskód} → {kurzus_neve} • f2: {kurzuskód, dátum} → {jegy} • A kurzus_neve másodlagos attribútum nem teljesen függ a kulcstól → Nincs 2NF-ben  • A gondot okozó függés (f2: {kurzuskód} → {kurzus_neve}) mentén felbontjuk a sémát két másik sémára. Kurzus(kurzuskód, kurzus_neve) Teljesítés(jegy, dátum, kurzuskód) Antal Gábor

  13. 3. Normálforma • Tranzitív függés • Tranzitív függés: Legyen X, Z ⊆ A, és X → Z. Azt mondjuk, hogy X-től tranzitívan függ Z, ha van olyan Y ⊆ A, amelyre X → Y és Y → Z, de X nem függ Y-tól, és az Y → Z függés teljesen nemtriviális • 3.NF: Egy relációséma 3NF-ben van, ha minden másodlagos attribútuma közvetlenül függ bármely kulcstól. • Következmény: Ha a sémában nincs másodlagos attribútum, akkor 3NF-ben van. Másodlagos attribútum Másodlagos attribútum Kulcs Antal Gábor

  14. 3. Normálforma • A sémát felbontjuk a normálformát sértő függőség mentén • Ha másodlagos attribútumok egy B halmazára és valamely K kulcsra K→Y→B tranzitív függés fennáll, akkor a sémát felbontjuk Heath tétele szerint az Y→B függés mentén. Antal Gábor

  15. 3. Normálformára hozás • Számla (sorszám, dátum, vevőkód, vevőnév, vevőcím) • {sorszám} → {vevőkód} → {vevőnév, vevőcím} 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ég szerint. Antal Gábor

  16. Feladat • Egy áramszolgáltató nyilvántartja az ügyfeleit, valamint azok fogyasztását, a számlázás végett. Hozza az ÁRAM relációsémát 1NF, 2NF, 3NF normálformára! Jelölje be minden egyes sémában a kulcsokat és a függéseket! ÁRAM( ünév, vóra_száma, szavatosság, mérés_kezd, mérés_vége, ücím), • ahol ünév, az ügyfél neve, mérés_kezd és mérés_vége a mérés kezdetén és végén leolvasott érték, ücím, az ügyfél lakcíme (város, utca, házszám, irsz). Antal Gábor

  17. Megjegyzések • Feladatgyűjtemény: • pub/Adatbazisok/feladatok_v1.1.pdf • Adatbázisok. Előadás jegyzet, • www.inf.u-szeged.hu/~katona, • pub/Adatbázisok/ • Cser Lajos diái alapján Antal Gábor

More Related