• Nem Talált Eredményt

Adatbázisok elmélete 16. el ˝ oadás

N/A
N/A
Protected

Academic year: 2022

Ossza meg "Adatbázisok elmélete 16. el ˝ oadás"

Copied!
3
0
0

Teljes szövegt

(1)

Adatbázisok elmélete 16. el ˝ oadás

Csima Judit

Budapesti M ˝uszaki és Gazdaságtudományi Egyetem Számítástudományi Tsz.

I. B. 136/b

csima@cs.bme.hu

2003. Április 8.

ADATBÁZISOK ELMÉLETE16.EL ˝OADÁS

H ˝ uséges felbontás két részre

Hogyan biztosíthatjaF, hogy a felbontás h ˝uséges legyen?

Tétel. Az RF

sémaρ R1R2

felbontása h ˝uséges vagy (a) F

R1

R2

R1 R2, vagy (b) F

R1 R2 R2 R1.

Példa: R(TNÉV, TERMEL ˝O, ÁR, CÍM) F

TERMEL ˝O CÍM;TNÉV, TERMEL ˝O ÁR ρ TERMEL ˝O, CÍM ;TNÉV, TERMEL ˝O, ÁR

R1 R2

TERMEL ˝O

R1 R2

CÍM

R2 R1

TNÉV, ÁR

TERMEL ˝O

F

TERMEL ˝O, CÍM R1 R2

h ˝uséges

ρ TNÉV, TERMEL ˝O;TNÉV, CÍM, ÁR

R1 R2

TNÉV

R1 R2

TERMEL ˝O

R2 R1

CÍM, ÁR

TNÉV

F

nem tartalmazza egyiket sem nem h ˝uséges

1

ADATBÁZISOK ELMÉLETE16.EL ˝OADÁS

Bizonyítás: Tegyük fel, hogyF

R1

R2

R1 R2, belátjuk, hogy a felbontás h ˝uséges.

(Ha a másik igaz, ugyanígy.)

Legyen regy tetsz ˝oleges reláció,s mρr

. Elég belátni, hogys r, hiszenr s mindig igaz. Azaz, lássuk be, hogy hatsoras-nek, akkorr-nek is.

Hatsoras-nek, akkor u1u2sorair-nek, hogyt

R1

u1

R1

ést

R2

u2

R2

.

u1

R1

R2

t

R1

R2

u2

R1

R2

de ha két sor megegyezik a metszeten, akkor a feltétel miattR1 R2-n is egyeznek az egészR1-en u2éstegyeznekR1-en.

t u2, hiszenR1-en a fenti miatt,R2-n a feltevés miatt egyeznek.

Másik irány: Belátjuk, hogy haR1 R2

R1 R2

F

ésR2 R1

R1 R2

F

, akkor ρnem h ˝uséges.

2

ADATBÁZISOK ELMÉLETE16.EL ˝OADÁS

Legyenra következ ˝o reláció:

r R1

R2

R1

R2

F

R1

R2

t1 0 0 0 1 1 1 . . . 1 1 1 1 1 1 t2 1 1 1 1 1 1 . . . 1 1 1 0 0 0 A feltétel miatt a két széls ˝o rész nem üres, ott nem egyezik meg a két sor.

r-ben igazakFfügg ˝oségei (mint a teljességi tételnél).

Viszontmρ r

r, hiszenmρ r

-ben a csupa1sor is benne van.

3

(2)

ADATBÁZISOK ELMÉLETE16.EL ˝OADÁS

H ˝ uségesség ellen ˝ orzése általában

Adott RF

ésρ R1 Rk

, aholR A1 An.

Hogyan tudjuk eldönteni, hogy h ˝uséges-e a felbontás?

Készítünk egyk n-es táblázatot:

A1 Aj Aj An

R1 ...

Ri aj bi j ...

Rk

Kezdetben az ij

helyreaj-t írunk, haAj

Riésbi j-t, haAj

Ri.

4

ADATBÁZISOK ELMÉLETE16.EL ˝OADÁS

Veszünk egy tetsz ˝olegesX Y Ffüggést.

Ha két sor megegyezikX-en, akkor egyenl ˝ové tesszükY-on is az alábbi módon:

– Ha valaholajésbi jvan, akkor abi j-taj-ra cseréljük.

– Habk jésbl jvan, akkor az egyiket átírjuk a másikra.

Ezt minden függésre megcsináljuk tetsz ˝oleges sorrendben, szükség esetén többször is.

Tétel.ρpontosan akkor h ˝uséges ha a végén lesz csupaasor.

Nem bizonyítjuk.

5

ADATBÁZISOK ELMÉLETE16.EL ˝OADÁS

Példa a táblázatos tesztre

R ABCD

F

A C; C B; B D

ρ ABBCACD

A B C D

R1 a1 a2 b13 a3

b14

R2 b21 a2 a3 b24

R3 a1 b32

a2

a3 a4

A Cmiatt

C Bmiatt

Lett csupaasor h ˝uséges felbontás

6

ADATBÁZISOK ELMÉLETE16.EL ˝OADÁS

H ˝ uséges felbontás

Tétel. Adott RF

,ρ R1 Rk

az R h ˝uséges felbontása ésσ S1 Sm

az R1 h ˝uséges felbontása (azazR1-et tovább bontjuk). Ekkorτ S1 SmR2 Rk

h ˝uséges felbontásaR-nek.

Bizonyítás: Legyenregy R-re illeszked ˝o reláció és ennekR1-re es ˝o vetülete legyen r1. Tovább bontvar1-etσszerint kapjuk azs1s2 smvetületeket. Mivelσh ˝uséges, ezérts1 s2 sm mσr1

r1. Mivel ρ is h ˝uséges, ezért r mρr

r1 r2 rk Ebbe beírva r1 helyére a σ h ˝uségességéb ˝ol kapott egyenl ˝oséget, kapjuk, hogyr s1 s2 sm r2 rk mτr

, azazτis h ˝uséges. Itt persze használtuk asszociativitását.

Tétel. Haρh ˝uséges ésσ ρ(σ-ban több komponens van), akkorσis h ˝uséges.

Bizonyítás: r mσr

mρr

r

A középs ˝o tartalmazás azért igaz, mert a keresztszorzatból szigorúbb feltételek szerint válogatunk.

r mσ r

7

(3)

ADATBÁZISOK ELMÉLETE16.EL ˝OADÁS

Normálformák

Definíció. EgyX Yfüggés triviális, haY X. (Mert ezek a függések nem hordoznak sok infót, mindg igazak.)

Definíció(Boyce–Codd normálforma). Az RF

relációs séma BCNF-ben van, ha tetsz ˝oleges nemtriviálisX A F

függés eseténXszuperkulcs.

Azaz csak olyan függések vannak, hogy a szuperkulcs mindent meghatároz.

Tétel. Az RF

BCNF-ben van pontosan akkor ha tetsz ˝oleges A R-re és X R kulcsra igaz, hogy nincs olyanY R, amire X Y F

; Y X ; Y A F

és A

Y. (Nincs tranzitív függés kulcstól.)

Bizonyítás: Ha nincs BCNF-ben a séma, akkor van egyY Afüggés, aholY nem szuperkulcs ésA

Y. Ekkor, tetsz ˝olegesXkulccsal:X YY

XY A, deA

Y,

ami épp egy kulcstól való tramzitív függés.

Másrészt, ha van tranzitív függés kulcstól, azazX olyan kulcs, amivelX YY

8

ADATBÁZISOK ELMÉLETE16.EL ˝OADÁS

XY A, deA

Y, akkorY Aegy olyan függés, ami sérti a BCNF tulajdonságot, mertYnem lehet szuperkulcs, haY X.

Miért jó a BCNF séma?

HaC B; B Ateljesülne, deB Cnem, akkor ugyanaz aBérték többC érték mellett is el ˝ofordulhatna, de minden példánynál ugyanazt azA értéket is tároljuk

redundancia.

Állítás. 2attribútumos reláció mindig BCNF.

Bizonyítás: HaA B Akulcs. HaB A Bkulcs.

MivelF

-ra követeljük meg a feltételt, nehéz ellen ˝orizni.

DE:

Tétel. Ha RF

nem BCNF, akkor van olyanX Y F, amely jobboldalának valamely AattribútumáraX Anemtriviális ésXnem szuperkulcs. (Az ilyenX A F

.) Bizonyítás: Ha RF

nem BCNF, akkor vanU B F

, hogyUnem szuperkulcs és B

U. B U

F

U U

F

9

ADATBÁZISOK ELMÉLETE16.EL ˝OADÁS

Az algoritmus, amiU

F

-et számolja, el tud indulni V W F, melyreV U W

U V Wjó leszX Y-nak.

UgyanisVnem szuperkulcs, hiszenV UésUnem szuperkulcs.

W

U A W U W V, ígyV Wnem triviális.

Ez jelent ˝osen könnyíti az ellen ˝orzést, csakFfügg ˝oségeit kell végignézni, nemF

-ét.

10

Hivatkozások

KAPCSOLÓDÓ DOKUMENTUMOK

Az adatbázis fogalmi keretének megadására jók, tervet lehet velük készíteni, amit aztán majd át kell alakítani az adatbáziskezel ˝o által használt formális megadási

Cél: Adott (R, F) sémából anomáliát nem tartalmazó olyan felbontás el ˝oállítása, amib ˝ol ugyanaz az információ nyerhet ˝o, mint az eredetib

Ez BCNF, de mégis redundáns, mert ha valamelyik tárgynál szerepel egy gyereknév, akkor az összes többinél is szerepelnie kell. beszúrni nehéz, mert amikor egy sort

Azok, amik csak véletlenül, csak egy pillanatban állnak fenn = ⇒ eseti függés (ezek nem érdekelnek, például lehetséges hogy egy adott pillanatban minden ár csak egyszer

• relációs algebra (LEAP, letölthet ˝o, SIGMOD-ról link), ISBL nehezen emészthet ˝obb, algebrai alapú; ez volt: láttuk, hogy relációs algebrával jól meg lehet adni

Ha a figyelmeztet ˝o zármodellben, egy legális ütemezésben minden tranzakció követi a figyelmeztet ˝o protokollt, akkor az ütemezés sorosítható és soha nem lesz egyszerre

• relációs algebra (LEAP, letölthet ˝o, SIGMOD-ról link), ISBL nehezen emészthet ˝obb, algebrai alapú; ez volt: láttuk, hogy relációs algebrával jól meg lehet

• relációs algebra (LEAP, letölthet ˝o, SIGMOD-ról link), ISBL nehezen emészthet ˝obb, algebrai alapú; ez volt: láttuk, hogy relációs algebrával jól meg lehet