Adatbázis rendszerek I
Download
1 / 18

Adatbázis rendszerek I - PowerPoint PPT Presentation


  • 87 Views
  • Uploaded on

Adatbázis rendszerek I. Adatstrukúra helyessége (normalizálás). Általános Informatikai Tsz. Dr. Kovács László. Adatstruktúra helyessége. A tervezés számos hibalehetőséget rejt magában. Hibaforrások: nem megfelelő relációkat hozunk létre nem megfelelő mezőket alkotunk meg

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Adatbázis rendszerek I' - macha


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript

Adatbázis rendszerek I

Adatstrukúra helyessége (normalizálás)

Általános Informatikai Tsz.

Dr. Kovács László


Adatstruktúra helyessége

A tervezés számos hibalehetőséget rejt magában

  • Hibaforrások:

    • nem megfelelő relációkat hozunk létre

    • nem megfelelő mezőket alkotunk meg

    • nem megfelelő a mezők elnevezése

    • nem a megfelelő mezők kerülnek egy relációba

    • nem megfelelő a relációk kapcsolatának megvalósítása

    • nem megfelelő a mezők adattípusa

    • nem megfelelő a megadott integritási feltétel rendszer

KL


Adatstruktúra helyessége

Mező elnevezéshez kapcsolódó hibák

nyilt logikai átfedés

homonima

TILOS!

DOLGOZO(nev,cim,fonok,f_cim,fizetes,telephely)

OSZTALY(nev,telephely,vezeto,v_cim,fizetes)

PROJEKT(nev,d_nev,megrendelo,fizetes,mcim)

KL


Adatstruktúra helyessége

Mező elnevezéshez kapcsolódó hibák

szinoníma

technikai homonima

Kerülendő!

TILOS ??

DOLGOZO(nev,cim,fonok,f_cim,fizetes,telephely)

OSZTALY(nev,telephely,vezeto,v_cim,fizetes)

PROJEKT(nev,d_nev,megrendelo,fizetes,mcim)

KL


Adatstruktúra helyessége

Mező elnevezéshez kapcsolódó hibák

Egyértelmű elnevezések legyenek!

Inkonnektivitás

Logikai átfedés hiánya

Teljes megnevezéseket használjunk

DOLGOZO(nev,cim,fonok,f_cim,fizetes,telephely)

OSZTALY(nev,telephely,vezeto,v_cim,fizetes)

PROJEKT(nev,d_nev,megrendelo,fizetes,mcim)

KL


Adatstruktúra helyessége

Redundancia: adatelemek többszörös, ismételt letárolása

következmény:Anomáliák

- beszúrási anomália

- módosítási anomália

- törlési anomália

- inkonzisztencia

dkod

uticél

dnév

dcím

befizetes

1

Eger

Peter

Miskolc

3

3

Eger

Antal

Baja

5

1

Ózd

Peter

Miskolc

2

KL


Adatstruktúra helyessége

Függőségek : mezők közötti érték kapcsolatok leírása

Funkcionális függőség FD

minden A értékhez maximum egy B érték rendelhető

A -> B (A,B  R)

ország

zászló

RSZ -> TIPUS (DKOD, UTICEL) -> BEFIZETES

DKOD -> DNEV DKOD -> DCIM

KL


Adatstruktúra helyessége

Az FD-k között következtetési szabályok, függőségek vannak

Armstrong axiómák

B  A  A  B

A  B  AC  BC

A  B, B  C  A  C

Egyéb szabályok

A  BC  A  B

A  B, A  C  A  BC

bizonyítás az axiómákból !

A  C  AB  BC, A  B  AA  AB, AA = A

A  AB, AB  BC  A  BC

KL


Adatstruktúra helyessége

Redundancia oka : nem kívánatos FD

Egy R(A1,..,A2) esetén ha létezik Ai Aj ahol

Ai ismétlődik, akkor redundancia lép fel

Ha Ai nem ismétlődhet, nincs redundancia

(pl. kulcsból kiinduló függőségek)

dkod

uticél

dnév

dcím

befizetes

1

Eger

Peter

Miskolc

3

3

Eger

Antal

Baja

5

1

Ózd

Peter

Miskolc

2

KL


Normalizálás

Normalizálás folyamata

Normalizálás: művelet sorozat a redundanciát okozó

FD-k megszüntetésére

A normalizálás egymásra épülő normálfomák

alakjában jelenik meg

FD-k feltárása

1 NF

2 NF

3 NF

BCNF

4 NF

5 NF

5NF

4NF

BCNF

3NF

2NF

1NF

KL


Normalizálás

Normalizálási lépések

1NF:

Létezzen kulcs

Minden mező elemi legyen

2 NF

1 NF

Ne legyen részkulcsból kiinduló FD

dkod

uticél

dnév

dcím

befizetes

1

Eger

Peter

Miskolc

3

3

Eger

Antal

Baja

5

1

Ózd

Peter

Miskolc

2

KL


Normalizálás

Veszteségmentesség: a résztáblákból előállítható az alaptábla

Heath tétele:

R(A,B,C) adott és A  B akkor

(AB , AB) veszteségmentes

Elegendőség és nem szükségesség kifejezése

UTAK( DKOD, UTICEL, DNEV, DCIM, BEFIZETES)

DKOD -> (DNEV, DCIM)

(DKOD, DNEV, DCIM , DKOD,UTICEL, BEFIZETES)

KL


Normalizálás

3 NF

2 NF

Nem létezik tranzitív függőség

nem kulcs mezőhöz

AUTO(RSZ, TIPUS, TULAJ, T_CIM, GYARTO, GY_CIM)

AUTO1(RSZ, TIPUS, TULAJ)

TULAJ(TULAJ, T_CIM)

GYARTO(GYARTO, GY_CIM)

TIPUS(TIPUS, GYARTO)

A hibás FD-ket dekompozícióval vesszük ki a relációból

KL


Normalizálás

Dekompozició vizsgálata

..;

AUTO(RSZ, TIPUS, GYARTO) felbontása:

AUTO1(RSZ, TIPUS)

AUTO2(RSZ, GYARTO)

Megfelel a Heath tételének, de nem jó, mert nem

független a két tábla (egyik értékei függnek a másiktól)

Rissanen tétele:

A (AB , AB) felbontás akkor független, ha

- R(A,B,C) minden FD-je származtatható

RAB és RAC FD-iből

- A az RAB vagy RAC jelölt kulcsa

KL


Normalizálás

Egyes esetekben 3NF nem megfelelő

BCNF (Boyce-Codd normálforma)

Függőség csak jelölt kulcsból indulhat ki

BCNF átfogja 2NF-et

A kulcsba mutató FD-t is kiküszöböli

3NF nem fogja magába BCNF-et

BCNF nem fogja magába 3NF-et

OKTAT(tanar, diak, targy) : nem BCNF de atomi

KL


Normalizálás

Többértékű függőség (MVD)

jele : A ->> B

R(A,B,C) -ben A ->> B,

ha  (ai,bi)-hez rendelhető {ci}

csak (ai)-től függ

BARAT(nev, hobby,etel)

nev

hobby

etel

Peter

foci

bab

Peter

foci

szilva

nev

hobby

Peter

tenisz

bab

nev

hobby

Peter

bab

Peter

tenisz

szilva

Peter

szilva

Peter

foci

Gabi

futas

alma

Gabi

alma

Peter

tenisz

Gabi

futas

fagyi

Gabi

futas

Gabi

fagyi

A

B

C

A = B = C

KL


Normalizálás

MVD szerepe

4 NF

Minden MVD legyen egyben FD is

Fagin tétele:

R(A,B,C) adott, akkor és csak akkor

lesz (AB , AC) veszteségmentes,

ha A ->> B | C

Szükségesség kifejezése

csak egy érték rendelődjön minden A értékhez

KL


Normalizálás

Magasabb normálforma

Join függőség (JD):

egy R séma  (R1,R2,..,Ri)

függségben van,

ha megegyezik R1,R2,..,Ri join-jával

5 NF

Minden JD az FD-n alapszik

JD

MVD

FD

KL


ad