ADATBÁZIS-KEZELÉS Funkcionális függés, normál formák
KARBANTARTÁSI ANOMÁLIÁK beszúrási anomáliák törlési anomáliák módosítási anomáliák DOLG_PROJ(Dszsz, Pszám, Dnév, Pnév, Órák) 2
MÓDOSÍTÁSI ANOMÁLIÁK DOLG_PROJ(Dszsz, Pszám, Dnév, Pnév, Órák) Ha megváltoztatjuk a P1 számú projekt nevét Számlázás -ról például Ügyfél-számlakezelés - re, akkor ezt a módosítást mind a 100 olyan dolgozó esetén végre kell hajtanunk, aki a P1 projekten dolgozik. 3
BESZÚRÁSI ANOMÁLIÁK DOLG_PROJ(Dszsz, Pszám, Dnév, Pnév, Órák) Nem tudunk új projektet beszúrni, ha nincs hozzárendelve egyetlen dolgozó sem. Nem tudunk új dolgozót beszúrni, ha nincs hozzárendelve egyetlen projekthez sem. 4
TÖRLÉSI ANOMÁLIÁK DOLG_PROJ(Dszsz, Pszám, Dnév, Pnév, Órák) Ha törlünk egy projektet, akkor az összes olyan dolgozó is törlődik, aki az adott projekten dolgozik. Ha egy dolgozó egyedüliként dolgozik egy projekten, akkor a dolgozó törlése a szóban forgó projekt törlését is maga után vonja. 5
FUNKCIONÁLIS FÜGGÉS 2 attribútum közötti függés R(A 1,A 2,,A m ), X,Y {R(A 1,A 2,,A m } X Y : X attribútum-halmaz funkcionálisan meghatározza Y-t, vagy Y funkcionálisan függ X- től, ha Az R relációs séma minden relációja esetén igaz, hogy z adott reláció két kordját tekintve ha megegyeznek az X-hez tartozó attribútumértékek, akkor megegyeznek az Y-hoz tartozó attribútumértékek is. t 1 [X]=t 2 [X] t 1 [Y]=t 2 [Y] 6
ARMSTRONG AXIÓMÁK Reflexivitás: Ha X Y, akkor X Y A reflexivitás szabálya szerint egy attribútumhalmaz mindig meghatározza önmagát, vagy saját maga bármilyen részhalmazát. Augmentivitás: Ha X Y, akkor XZ YZ Az augmentivitás szabálya szerint egy funkcionális függés mindkét oldalának ugyanazzal az attribútumhalmazzal történő bővítése újabb érvényes funkcionális függést eredményez. Tranzitivitás: Ha X Y és Y Z, akkor X Z 7
TOVÁBBI TULAJDONSÁGOK Dekompozíciós tulajdonság: Ha X YZ, akkor X Y és X Z H X meghatároz egy attribútumhalmazt, akkor annak egy részét is meghatározza. Additivitás: Ha X Y és X Z, akkor X Y,Z Pszeudotrazitivitás: Ha X Y és WY Z, akkor WX Z 8
NORMALIZÁLÁS A normalizáció az a folyamat, amelynek során szétbontjuk a nem kielégítő, rossz relációsémákat úgy, hogy az attribútumaikat több kisebb relációsémába helyezzük át. A normálforma a relációsémák kulcsai és a bennük fennálló funkcionális függések segítségével megfogalmazott feltétel,amellyel megállapítható, hogy a relációséma egy adottnormálformában van-e. 9
0. NORMÁL FORMA (0.NF) Többértékű és összetett attribútumokat is tartalmaz 10
1. NORMÁL FORMA (1.NF) Ez reláció 1NF-ben van, ha minden attribútuma funkcionálisan függ az elődleges kulcstól. Tiltja: Összetett attribútum Többértékű attribútum Beágyazott reláció: az olyan attribútumokat, melyek értékei a különálló rekordokban nem atomiak Reláció definícióját képezi 11
HOGYAN LEHET ELÉRNI? Új rekordok Új elődleges kulcs Óriási redundancia Új reláció A többértékű attribútumot kivesszük egy új relációba Nem szabad információ veszteni Az új relációba kiemeljük az elsődleges kulcsokat Elsődleges kulcs, kulcs Két reláció hordozza a információt 12
TELJES ÉS RÉSZLEGES FÜGGÉS Egy X Y funkcionális függés teljes funkcionális függés, ha X-ből bármely A attribútumot eltávolítva a függés a továbbiakban már nem áll fenn, azaz bármely A X attribútum esetén (X {A}) már nem határozza meg funkcionálisan Y-t. Egy X Y funkcionális függés részleges függés, ha valamely A X attribútum eltávolítható X-ből úgy, hogy a függés továbbra is fennáll, azaz valamely A X esetén (X {A}) Y. 13
2. NORMÁL FORMA (2.NF) Egy R relációséma második normálformában van, ha R minden másodlagos (leíró) attribútuma teljesen funkcionálisan függ R elsődleges kulcsától. Egy R relációséma második normálformában van, ha R-nek nincs olyan másodlagos (leíró) attribútuma, amely részlegesen függne R bármely kulcsától. 14
3. NORMÁL FORMA (3.NF) Egy R relációséma X Y funkcionális függése tranzitív függés, ha létezik egy olyan Z attribútumhalmaz, amely nem kulcsjelölt és nem része R egyetlen kulcsának sem, és fennáll X Z, illetve Z Y. Egy R relációséma harmadik normálformában van, ha 2NF-ben van és nincs R-nek olyan másodlagos (leíró) attribútuma, amely tranzitívan függne az elsődleges kulcstól. 15
TRIVIÁLIS FÜGGÉS A 1,A 2,,A n B 1,B 2,,B m Triviális, ha a jobb oldal részhalmazát alkotja a bal oldalnak (reflexív függés) Nem triviális, h legalább egy B j nem az A i -k közül kerül ki. Teljesen nem triviális, ha egyetlen B j sem az A i -közül kerül ki. A két attribútumhalmaz metszete üres. Egy R relációséma harmadik normálformában van, ha valahányszor egy X A nemtriviális funkcionális függés fennáll R-en, akkor vagy X egy szuperkulcsa R-nek, vagy A egy elsődleges attribútuma R-nek. 16
BOYCE CODD-FÉLE NORMÁLFORMA (BCNF) Egy R relációséma Boyce Codd-féle normálformában van, ha valahányszor egy X A nemtriviális funkcionális függés fennáll R- en, akkor X egy szuperkulcsa R-nek. 17