Normalizacija. Iztok Savnik, FAMNIT. npb7, normalizacija

Σχετικά έγγραφα
Funkcijske vrste. Matematika 2. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 2. april Gregor Dolinar Matematika 2

Odvod. Matematika 1. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 5. december Gregor Dolinar Matematika 1

Zaporedja. Matematika 1. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 22. oktober Gregor Dolinar Matematika 1

Booleova algebra. Izjave in Booleove spremenljivke

KODE ZA ODKRIVANJE IN ODPRAVLJANJE NAPAK

Funkcije. Matematika 1. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 21. november Gregor Dolinar Matematika 1

Diferencialna enačba, v kateri nastopata neznana funkcija in njen odvod v prvi potenci

Funkcije. Matematika 1. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 14. november Gregor Dolinar Matematika 1

IZPIT IZ ANALIZE II Maribor,

Funkcije. Matematika 1. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 12. november Gregor Dolinar Matematika 1

Podatkovni model Entiteta- Razmerje

Odvod. Matematika 1. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 10. december Gregor Dolinar Matematika 1

Tretja vaja iz matematike 1

1. Definicijsko območje, zaloga vrednosti. 2. Naraščanje in padanje, ekstremi. 3. Ukrivljenost. 4. Trend na robu definicijskega območja

Kontrolne karte uporabljamo za sprotno spremljanje kakovosti izdelka, ki ga izdelujemo v proizvodnem procesu.

Splošno o interpolaciji

matrike A = [a ij ] m,n αa 11 αa 12 αa 1n αa 21 αa 22 αa 2n αa m1 αa m2 αa mn se števanje po komponentah (matriki morata biti enakih dimenzij):

Gimnazija Krˇsko. vektorji - naloge

13. Jacobijeva metoda za računanje singularnega razcepa

DISKRETNA FOURIERJEVA TRANSFORMACIJA

Kotne in krožne funkcije

Definicija. definiramo skalarni produkt. x i y i. in razdaljo. d(x, y) = x y = < x y, x y > = n (x i y i ) 2. i=1. i=1

Numerično reševanje. diferencialnih enačb II

*M * Osnovna in višja raven MATEMATIKA NAVODILA ZA OCENJEVANJE. Sobota, 4. junij 2011 SPOMLADANSKI IZPITNI ROK. Državni izpitni center

PONOVITEV SNOVI ZA 4. TEST

PODATKOVNI MODEL ENTITETA-RAZMERJE

!! " &' ': " /.., c #$% & - & ' ()",..., * +,.. * ' + * - - * ()",...(.

Podobnost matrik. Matematika II (FKKT Kemijsko inženirstvo) Diagonalizacija matrik

8. Diskretni LTI sistemi

Sklepanje je torej tudi interpretacija stavka predstavljena kot sekvenca instanc pravil.

Enačba, v kateri poleg neznane funkcije neodvisnih spremenljivk ter konstant nastopajo tudi njeni odvodi, se imenuje diferencialna enačba.

NEPARAMETRIČNI TESTI. pregledovanje tabel hi-kvadrat test. as. dr. Nino RODE

Poliedri Ines Pogačar 27. oktober 2009

Zaporedja. Matematika 1. Gregor Dolinar. Fakulteta za elektrotehniko Univerza v Ljubljani. 15. oktober Gregor Dolinar Matematika 1

Integralni račun. Nedoločeni integral in integracijske metrode. 1. Izračunaj naslednje nedoločene integrale: (a) dx. (b) x 3 +3+x 2 dx, (c) (d)

1. Έντυπα αιτήσεων αποζημίωσης Αξίωση αποζημίωσης Έντυπο Πίνακας μεταφράσεων των όρων του εντύπου...

Izpeljava Jensenove in Hölderjeve neenakosti ter neenakosti Minkowskega

p 1 ENTROPIJSKI ZAKON

V tem poglavju bomo vpeljali pojem determinante matrike, spoznali bomo njene lastnosti in nekaj metod za računanje determinant.

Osnove matematične analize 2016/17

SKUPNE PORAZDELITVE VEČ SLUČAJNIH SPREMENLJIVK

Linearne preslikave. Poglavje VII. 1 Definicija linearne preslikave in osnovne lastnosti

Iterativno reševanje sistemov linearnih enačb. Numerične metode, sistemi linearnih enačb. Numerične metode FE, 2. december 2013

Osnovni primer. (Z, +,,, 0, 1) je komutativan prsten sa jedinicom: množenje je distributivno prema sabiranju

Delovna točka in napajalna vezja bipolarnih tranzistorjev

Matematika 1. Gregor Dolinar. 2. januar Fakulteta za elektrotehniko Univerza v Ljubljani. Gregor Dolinar Matematika 1

II. LIMITA IN ZVEZNOST FUNKCIJ

Vaje iz MATEMATIKE 8. Odvod funkcije., pravimo, da je funkcija f odvedljiva v točki x 0 z odvodom. f (x f(x 0 + h) f(x 0 ) 0 ) := lim

Algebraične strukture

8. Posplošeni problem lastnih vrednosti

IZVODI ZADACI (I deo)

MATEMATIČNI IZRAZI V MAFIRA WIKIJU

Navadne diferencialne enačbe

1 Fibonaccijeva stevila

Kontrolni zadatak (Tačka, prava, ravan, diedar, poliedar, ortogonalna projekcija), grupa A

Matematika. Funkcije in enačbe

Matematika 1. Gabrijel Tomšič Bojan Orel Neža Mramor Kosta

1. izpit iz Diskretnih struktur UNI Ljubljana, 17. januar 2006

TRANZITIVNI GRAFI. Katarina Jan ar. oktober 2008

PROCESIRANJE SIGNALOV

Matrike. Poglavje II. Matrika je pravokotna tabela realnih števil. Na primer: , , , 0 1

Reševanje sistema linearnih

1. VAJA IZ TRDNOSTI. (linearna algebra - ponovitev, Kroneckerjev δ i j, permutacijski simbol e i jk )

Osnove elektrotehnike uvod

Betonske konstrukcije 1 - vežbe 3 - Veliki ekscentricitet -Dodatni primeri

CM707. GR Οδηγός χρήσης SLO Uporabniški priročnik CR Korisnički priručnik TR Kullanım Kılavuzu

Spoznajmo sedaj definicijo in nekaj osnovnih primerov zaporedij števil.

Domače naloge za 2. kolokvij iz ANALIZE 2b VEKTORSKA ANALIZA

C 1 D 1. AB = a, AD = b, AA1 = c. a, b, c : (1) AC 1 ; : (1) AB + BC + CC1, AC 1 = BC = AD, CC1 = AA 1, AC 1 = a + b + c. (2) BD 1 = BD + DD 1,

Na pregledni skici napišite/označite ustrezne točke in paraboli. A) 12 B) 8 C) 4 D) 4 E) 8 F) 12

Vektorski prostori s skalarnim produktom

Tabele termodinamskih lastnosti vode in vodne pare

Osnove sklepne statistike

Državni izpitni center SPOMLADANSKI IZPITNI ROK *M * NAVODILA ZA OCENJEVANJE. Sreda, 3. junij 2015 SPLOŠNA MATURA

IZVODI ZADACI ( IV deo) Rešenje: Najpre ćemo logaritmovati ovu jednakost sa ln ( to beše prirodni logaritam za osnovu e) a zatim ćemo

Računarska grafika. Rasterizacija linije

Funkcije več spremenljivk

Transformator. Delovanje transformatorja I. Delovanje transformatorja II

Αρχεία και Βάσεις Δεδομένων Φροντιστήριο Κανονικές Μορφές

Lastne vrednosti in lastni vektorji

vezani ekstremi funkcij

Postavitev hipotez NUJNO! Milena Kova. 10. januar 2013

1. Trikotniki hitrosti

Problem lastnih vrednosti

Apsolutno neprekidne raspodele Raspodele apsolutno neprekidnih sluqajnih promenljivih nazivaju se apsolutno neprekidnim raspodelama.

Kvadratne forme. Poglavje XI. 1 Definicija in osnovne lastnosti

Sheet H d-2 3D Pythagoras - Answers

Tema 1 Osnove navadnih diferencialnih enačb (NDE)

Dodatna poglavja iz linearne algebre za 1. letnik finančne matematike na FMF. Primož Moravec

Univerza na Primorskem Pedagoška fakulteta Koper. Geometrija. Istvan Kovacs in Klavdija Kutnar

MATEMATIKA ZA BIOLOGE

Linearna algebra 2 prvi kolokvij,

11.5 Metoda karakteristik za hiperbolične PDE

ΠΡΙΤΣΙΝΑΔΟΡΟΣ ΛΑΔΙΟΥ ΑΕΡΟΣ ΓΙΑ ΠΡΙΤΣΙΝΙΑ M4/M12 ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ - ΑΝΤΑΛΛΑΚΤΙΚΑ

Frekvenčna analiza neperiodičnih signalov. Analiza signalov prof. France Mihelič

Teorija kodiranja in kriptografija 2013/2014


POTPUNO RIJEŠENIH ZADATAKA PRIRUČNIK ZA SAMOSTALNO UČENJE

IZZIVI DRUŽINSKE MEDICINE. U no gradivo zbornik seminarjev

Matematika 1. Jaka Cimprič

Transcript:

Normalizacija Iztok Savnik, FAMNIT

Problem redundance Redundantnost je vzrok za vrsto problemov relacijskih podatkovnih baz: redundantni podatki, anomalije pri insert/delete/update. Integritetne omejitve -- funkcijske odvisnosti --uporabimo za ident. anomalij ter popravke shem. Osnovna tehnika: dekompozicija Npr. zamenjava ABCD z AB in BCD, ali ACD in ABD. Dekompozicijo je potrebno uporabljati previdno: Obstaja razlog za dekompozicijo relacije? Obstaja kakšen problem, ki ga lahko povzroči dekompozicija?

Funkcijske odvisnosti Funkcijska odvisnost X Y velja na relaciji R če, za vsako veljavno instanco r sheme R: t1 r, t2 r, π X (t1) = (t2) π (t1) = π Y Y (t2) za dani n-terici relacije r, če se ujemata v vrednosti X, potem se morata ujemati tudi v vrednosti Y. Morajo izvirati iz pomena aplikacije. Za dano relacijo r1 nad shemo R, lahko preverimo ali velja FO f, ne moremo pa reči da f velja nad R! K je kandidatni ključ R; pomeni, da K π X Seveda, za K ni potrebno, da je minimalna množica. R

Zgled Relacija za zaposlene plačane na uro Zap_Ura: Zap_Ura (dst, ime, delez, ocena, placilo, ure) Notacija: shemo relacije bomo označevali kar s seznamom atributov: DIZOPU To je množica atributov {D,I,Z,O,P,U}. Včasih se bomo sklicevali na atribute relacije kar z imenom relacije npr. Zap_Ure za DIZOPU Nekatere f.odvisnosti v relaciji Zap_Ura: dst je ključ: D DIZOPU ocena določa placilo: O P

Zgled Postavke Problemi zaradi O P: Anomalija pri popravljanju: Lahko popravimo P v eni sami n-terici DIZOPU? Anomalija pri vstavljanju: Kaj v primeru, da vstavimo novo n-terico in ne poznamo urne postavka za dano oceno? Anomalija pri brisanju: Če zbrišemo vse zapise ocene 5 potem izgubimo tudi podatek o urni postavki za to oceno! Zap_ura2 Bodo 2 manjši tabeli boljši?

Armstrongovi aksiomi Za dano množico FO, lahko izpeljemo dodatne FO: dst oid, oid delez implicira dst delez FO f je izpeljana iz množice FO F, če f velja vedno ko velja vsaka odvisnost iz F. F + = zaprtje F, je množica vseh FO, ki logično sledijo iz F. Armstrongovi aksiomi (X, Y, Z so množice atributov): Refleksivnost: Če X Y, potem Y X Dodajanje: Če X Y, potem XZ YZ za vsak Z Tranzitivnost: Če X Y in Y Z, potem X Z To so potrebna (uglašena) in zadostna (polna) pravila za sklepanje s FO!

Dodatna pravila za sklepanje Dodatna pravila, ki sledijo iz AA: Unija: Če X Y in X Z, potem X YZ Dekompozicija: Če X YZ, potem X Y in X Z Zgled: Pogodba(pid,bid,jid,oid,did,kol,vred) pid ID pogodbe bid ID dobavitelja jid ID projekta oid ID oddelka did ID produkta kol količina vred vrednost

Sklepanje Primer: Pogodba(pid,bid,jid,oid,did,kol,vred) P je ključ: P PBJODKV Projekt nabavi vsak produkt z eno pogodbo: JD P Oddelek kupi največ en produkt od dobavitelja: BO D JD P, P PBJODKV implicira JD PBJODKV BO D implicira BJO JD BJO JD, JD PBJODKV implicira BJO PBJODKV

Primeri sklepanja R=(A,B,C,G,H,I) F={ A B, A C, CG H, CG I, B H } 1. A H? (A B, B H, +A3 ) 2. CG HI? ( CG H, CG I, +A2, CG CGH, +A2, CGH HI, +A3, CG HI ) 3. AG I? (A C, +A2, AG CG, CG I, +A3, AG I )

Sklepanje Računanje zaprtja množice FO je potratno kompleksnost je eksponentna na št. atributov. Tipično, želimo preveriti ali dana FO X Y je v zaprtju množice FO F. Učinkovit algoritem: Zaprtje množice atributov X glede na F = X Množica atributov A tako, da je X A element. Linearen algoritem za izračun. X Preveri ali je Y v. F +

Sklepanje Problem članstva FO X A v F. Primer: F = {A B, B C, C D E } A E? Algoritmi: A E v? E v A+ F+? Rešitev: A+ = ABC A E ni v A+

Primer izračuna X+ F={AD E,AE C,AG E,BE AC,C BD,CEG A, DE BG,E G} (AC)+ = ABCDEG (BC)+ = BCD (D)+ = D

Normalne oblike Ali je restrukturiranje relacijskih baz potrebno? Relacija je v določeni normalni obliki: Izognemo se nekaterim problemom. Normalna oblika določa lastnosti shem. Normalne oblike povedo ali je potrebno relacijo restrukturirati. Vloga FO za določanje redundance (restrukturiranje). Relacija R = (A,B,C ) Ni FO: V tem primeru ni redundance. A B: Več n-teric ima lahko isto vrednost A in zaradi FO tudi isto vrednost atributa B.

Normalne oblike 1NO: vrednosti vseh atributov v R so enostavne 2NO: 1NO + vsi atributi so odvisni od ključa obstaja odvisnost X A kjer X vsebuje ključ in je A poljuben atribut iz R 3NO in BCNO

Boyce-Coddova normalna oblika (BCNO) R na kateri velja množica FO F je v BCNO, če za vse X A iz F+ velja bodisi: A X (trivialna FO), ali X vsebuje ključ R. Z drugimi besedami, R je v BCNO, če so vse netrivialne odvisnosti v bistvu odvisnosti od ključa. Nobena odvisnost v R ne more biti predvidena z uporabo FO. Če imamo dve n-terici, ki se ujemata v vrednosti X ne moremo sklepati glede vrednosti A na osnovi vrednosti v eni n-terici. Če je relacija v BCNO potem morajo takšni pari n-teric biti identični, saj je X ključ. X Y A x y1 a x y2?

Tretja normalna oblika (3NO) R na kateri velja množica. FO F je v 3NF, če za vse X A iz F+ velja bodisi: A X (trivialna FO), X vsebuje ključ R, ali A je del nekega ključa R. Minimalnost ključa je bistvena pri tretjem pogoju! Če je R v BCNO potem je očitno tudi v 3NO. Če je R v 3NO, potem je možna redundanca. 3NO je kompromis, ko ni možno doseči BCNO. Dekompozicija z breizgubnim stikom ter dekompozicija, ki ohranjajo FO, v relacije 3NO je vedno možna.

Kaj doseže 3NO? 3NO je kršena z X A, potem velja: X je podmnožica nekega ključa K. Pari (X, A) vsebujejo redundantne podatke. X ni prava podmnožica nekega ključa. Obstaja veriga FO K X A, kar pomeni da ne moremo povezovati vrednost X z vrednostjo K ne da bi povezovali vrednost A z vrednostjo X. Čeprav je relacija v 3NO, lahko nastanejo problemi. 3NO je kompromis relativno na BCNF.

Več-vrednostne odvisnosti Naj bo R relacijska shema ter X in Y podmnožica R Skupina atributov X je več-vrednostno povezana z drugo skupino atributov Y kot tudi z Z=R-XY Za vsako vrednost X ne obstaja asociacija med Y in Z Več-vrednostna odvisnost X Y velja, če za vsak par t 1 in t 2 iz r(r) velja: t 1 [X] = t 2 [X] potem obstaja t 3 tako da t 3 [XY] = t 1 [XY] in t 3 [XZ] = t 2 [XZ]

Več-vrednostne odvisnosti Predmet se izvaja vsak teden na določen dan Če se predmet izvaja en dan v tednu potem se izvaja tudi vse ostale tedne na isti dan Ni asociacije med dnevom in datumom t 1 [C] = t 2 [C] potem obstaja t 3 [CW] = t 1 [CW] in t 3 [CD] = t 2 [CD] Lahko bi en predmet izvajali tudi dva dneva v tednu

Četrta normalna oblika Prejšnjo relacjo lahko razcepimo na dve relaciji: Course-Weekday in Course-Datum S stikom dobimo originalno relacijo brez izgube informacije Četrta normalna oblika: Vsaka odvisnost X Y je talšna, da je X nek superključ X Y je pravzaprav funkcijska odvisnost Relacija ne vsebuje netrivialnih MVD 4NO je prava posplošitev BCNO Dekompozicija v 4NO

Dekompozicija relacijske sheme Dana je relacija R (A1... An). Dekompozicija R pomeni zamenjavo R z dvemi ali več relacijami za katere velja: Shema vsake relacije vsebuje podmnožico atributov R ter ni nobenih dodatnih atributov, in Vsak atribut R se pojavi vsaj enkrat v neki novi relaciji. Intuitivno dekompozicija R pomeni shranjevanje instanc relacijskih shem, ki so bile izbrane med dekompozicijo namesto z instanco R. Primer: shemo DIZOPU razcepimo v DIZOU in OP.

Primer dekompozicije Zaposleni( Z,I,T,O,M,U,P ) Z ITOMUP, MU P, P M 3NF Zaposleni( Z,I,T,O,M,U ) Naslovi(M,U,P) BCNO Zaposleni( Z,I,T,O,M,U ) Naslovi(M,U) Poste(P,M)

Problemi z dekompozicijo Trije potencialni problemi: Nekatera vprašanja postanejo bolj zahtevna. Vprašanja, ki potrebujejo stike. Včasih iz instanc shem po dekompoziciji ni mogoče restavrirati originalno relacijo. Informacija se izgubi pri dekompoziciji. Preverjanje nekaterih odvisnosti zahteva stik večih instanc nastalih pri dekompoziciji. Tradeoff: Problemi vs. Redundantnost.

Dekompozicija z brezizgubnim stikom Dekompozicija R v X in Y je brezizgubna za množico FO F, če velja za vsako instanco r, ki zadošča F: π X (r) π Y (r) = r Vedno je res, da r π X (r) π Y (r) V splošnem obratno ne velja. Če velja potem je dekompozicija breizgubna. Definicijo lahko razširimo na 3 ali več relacij. Pomembno je, da so dekompozicije, ki se uporabljajo za odpravo redundance, breizgubne! Izognemo se problemu 2.

Brezizgubni stik Dekompozicija R v X in Y je brezizgubna za F če in samo če zaprtje F vsebuje: X Y X, ali X Y Y Dekompozicija R v UV in R-V je brezizgubna, če velja odvisnost U V. A B C 1 2 3 4 5 6 7 2 8 A B C 1 2 3 4 5 6 7 2 8 1 2 8 7 2 3 A B 1 2 4 5 7 2 B C 2 3 5 6 2 8

Dekompozicije Obstajajo tudi dekompozicije: ki ohranjajo FO v BCNO v 3NO Algoritmi za dekompozicije. BCNO in 3NO oblika se pogosto uporablja za načrtovanje in optimizacijo podatkovnih baz.

Dekompozicija v BCNO Recimo, da R ni v BCNO X R in A R X A krši BCNO v R Razcepi R V R-A in XA Če R-A ali XA ni v BCNO ponovi prvi korak Lastnosti algoritma Vsaka op. razcepi relacijo alg. se zaključi Brezizgubni stik (ker velja vsaj odvisnost X A) Koraki alg. tvorijo drevo (rekonstrukcija)

BCNO in ohranitev odvisnosti Včasih ne obstaja dekompozicija v BCNO Primer: SBD SB D, D B Ne moremo razcepiti v BCNO in obdržati SB D

Dekompozicija v 3NO Prejšnji algoritem bi lahko uporabili tudi za dekompozicijo z brez-izgubnim stikom v 3NO Ta pristop ne zagotavlja ohranitev odvisnosti Enostavna razširitev algoritma omogoča dekompozicijo z brez-izgubnim stikom in z ohranitvijo odvisnosti

Minimalno pokritje množice FO Minimalno pokritje množice F je G za katero velja: Vsaka FO je oblike X A kjer A R Zaprtje F + = G + Če iz G odvzamemo kakšno odvisnost ali atribut iz odvisnosti potem F + G + Minimalno pokritje F je minimalno v naslednjem smislu: Vsaka odvisnost X A ima najmanjši možen X F ne vsebuje redundantne odvisnosti

Algoritem za iskanje min.pokritja 1)Daj FO v standardno obliko 2)Minimiziraj leve strani FO Preveri vsak atribut iz leve strani FO iz F; če ostane F + enak potem ga lahko odstranimo 3)Odstrani redundantne FO Preveri, če F + ostane enak v primeru, da odstranimo eno odvisnost Vrstni red procesiranja FO vpliva na rezultat! Lahko imamo množico rezultatov

Dekompozicija v 3NO + ohranitev odvisnosti F je minimalno pokritje R; R 1, R 2,...,R n je brez-izgubna dekompozicija R; R i so v 3NO; F i so projekcije F na R i Določi množico odvisnosti, ki niso bile ohranjene oz. niso v uniji F i Za vsako odvisnost X A iz množice kreiraj relacijo XA Odvisnosti so očitno ohranjene Optimizacija: združimo X A i v X A 1,A 2,...A k

Povzetek Obstajajo tudi dekompozicije: v BCNO, v 3NO in dekompozicija, ki ohranja FO. Če je relacija v BCNO, potem nima redundanc, ki jih je mogoče odkriti z FO. Zagotavljanje, da so relacije v BCNO je dobra hevristika. Če relacija ni v BCNO poskušamo narediti dekompozicijo v relacije, ki so v BCNO. Ohranitev FO. Breizgubna dekompozicija. Dekompozicija v 3NO. Dekompozicija včasih poslabša performanse poizvedb nad podatkovno bazo.