You are on page 1of 31

DOLGOZÓ<törzsszám, személyi_igazolvány_szám,

dolgozó_TAJ, jogosítvány_száma, dolgozó_név,


dolgozó_neme, leánykori név, besorolási_bér,
lakáscím, szervezeti_egység_kód, szervezet_név,
gyermek_TAJ, gyermek_neve, nyelv_kód,
nyelv_megnevezés, nyelvvizsga_dátum>
Rövidítsünk!

DOL<tsz, szig, dT, jogsi, dn, nem, len, bér, cím, szek,
szen, gT, gn, nk, nm, nd>
A tulajdonságot
tulajdonságot (ETK modell) és a tartomány
tartománytt
(domain
domain relációs modell) a továbbiakban
tekintsük szinonim fogalomnak
fogalomnak!!
DOLGOZÓ < törzsszám, személyi_igazolvány_száma,
jogosítvány_száma, dolgozó_név, besorolási_bér, ...>
tsz szig jogsi dn bér
258 AU-IV 456872 A 5236 8942 Kiss Pál 65 000 Ft
423 FS-III. 789258 Nagy Olga 86 000 Ft
456 AU-II 1586821 Pór Bea 92 000 Ft
567 FS-I. 654321 B 4567 0123 Kiss Pál 86 000 Ft
599 B 4586 5284 A 6549 8765 Szabó Éva 145 000 Ft
789 FC-VI. 456123 Szőke Barna 58 000 Ft

A tartomány jellemző ereje: a relációnak az a


tartománya, amely minden sorban rendelkezik
értékkel erősen jellemző,
amely nem minden sorban vesz fel értéket
gyengén jellemző.
Azonosító: az(ok) a tartomány(ok) a reláción belül,
melynek bármely értéke egy és csakis egy sort
jellemez.
Leíró: azok a tartományok a reláción belül,
melynek egy értéke több sorra is jellemző lehet.
tsz szig ? jogsi dn bér
258 AU-IV 456872 A 5236 8942 Kiss Pál 65 000 Ft
423 FS-III. 789258 Nagy Olga 86 000 Ft
456 AU-II 1586821 Pór Bea 92 000 Ft
567 FS-I. 654321 B 4567 0123 Kiss Pál 86 000 Ft
599 B 4586 5284 A 6549 8765 Szabó Éva 145 000 Ft
789 FC-VI. 456123 Szőke Barna 58 000 Ft
A jó azonosító kritériumai:
• erősen jellemző
• stabil
• konzisztens struktúra
• fix hosszúság
• rövid (a jelsorozat kevés jelből áll: pl.
törzs-szám)
• a benne szereplő jelek intervalluma szűk
(kevés féle jelet tartalmaz: pl. csak
számok)
Az azonosító ezek alapján
Alternatív azonosító (azonosító jelölt):
az a tartomány(ok) a reláción belül, amely
rendelkezik az azonosító kritériumaival.
tsz szig jogsi dn bér
258 AU-IV 456872 A 5236 8942 Kiss Pál 65 000 Ft
423 FS-III. 789258 Nagy Olga 86 000 Ft
456 AU-II 1586821 Pór Bea 92 000 Ft
567 FS-I. 654321 B 4567 0123 Kiss Pál 86 000 Ft
599 B 4586 5284 A 6549 8765 Szabó Éva 145 000 Ft
789 FC-VI. 456123 Szőke Barna 58 000 Ft

Belső azonosító: kódolása csak a rendszeren belül ismert


Külső azonosító: kódolása a rendszeren kívül történik
Ha egy vizsgált da tartomány bármely értékéhez a df
tartomány csak egy értéke rendelhető hozzá
(másképpen ta meghatározza tf-et): df  da
da df
törzs-szám dolgozó_neve
258 Kiss Pál
423 Nagy Olga
456 Pór Bea ? Kiss Pál
567 Kiss Pál
599 Szabó Éva
789 Szőke Barna
Ha da meghatározza dj-t és dj is egyértelműen
meghatározza da-t (azaz a ta tartomány és a tj
tartomány értékei kölcsönösen összerendelhetők):
da dj
da dj
törzs-szám szem élyi_ig_szám
258 AU-IV 456872
423 FS-III. 789258
456 AU-II 1586821
567 FS-I. 654321
599 B 4586 5284
789 FC-VI. 456123
Ha da nem határozza meg a dr-t de dr meghatározza da-
t (azaz tr tartomány bármely értékéhez rendelhető
hozzá ta csak egy értéke): dr  da
da dr
törzs -szám gye rm e k_TAJ
258 123 789 456
134 256 987
423
456 369 258 147
Egyedi,
567
nem lehet
599 321 654 741
azonos!
258 963 147
291 847 352
789 281 739 753
Ha da nem határozza meg dn tartományt (ta értékeihez
nem rendelhető a tn tartomány csak egy értéke) és dn
sem határozza meg da-t: dn da
da dn
törzs-szám nye lv_kódja
258
423 AN
NE
FR
456 AN
NE AN
567 AN
FR
599 AN
NE
789 NE
FR
Jelöljük ki az azonosítót (amely a reláció egy vagy több
tartományát meghatározza)
DOL<  tsz,szig,dT,jogsi,dn,nem,len,bér,cím,szek,szen,gT,gn,nk,nm,nd>

Az áttekinthetőség kedvéért némileg szűkítsük a relációt:


DOL< tsz, szig, jogsi, dn, szek, szen, gT, gn, nk, nm, nd>

Vizsgáljuk meg a relációt konkrét adatokkal!


tsz szig jogsi dn szek szen gT gn nk nm nd
258 AU-IV 456872 A 5236 8942 Kiss Pál 22 üzem 123 789 456 Kiss Pál
134 256 987 Kiss Béla
423 FS-III. 789258 Nagy Olga 22 üzem AN angol 1984.06.02
NE német 1990.03.29
FR francia 1995.11.13
456 AU-II 1586821 Pór Bea 11 iroda 369 258 147 Kiss Béla AN angol 1992.11.02
NE német 1986.02.04
567 FS-I. 654321 B 4567 0123 Kiss Pál 22 üzem AN angol 1981.05.06
FR francia 1998.11.15
599 B 4586 5284 A 6549 8765 Szabó Éva 11 üzem 321 654 741 Kő Adél
258 963 147 Kő Jakab
291 847 352 Kő Elek
AN angol 1998.10.03
NE német 1992.04.06
789 FC-VI. 456123 Szőke Barna 11 iroda 281 739 753 Szőke Pál NE német 1975.02.16
FR francia 1994.04.08

Mi okoz
Az, hogy egyes tartományok értékeiből egy
problémát? sorhoz többet kell rendelni, emiatt a reláció
nem képezhető le két dimenziós táblázattá!
Ha egy reláció nem minden tartománya
függ funkcionálisan vagy kölcsönösen az
azonosítótól, akkor a reláció határozatlan,
és 0-ik normál formában van (0NF)

Hogyan oldható fel a probléma?!


A relációban ismétlődő értéket tartalmazó
tartományok sokszorozása a várható
ismétlődések számának megfelelően.
Például ha öt gyermek adatait szeretnénk
tárolni, akkor gT és gn helyett:
gT1, gT2, gT3, gT4, gT5 és gn1, gn2, ... gn5

Probléma
Mi van, ha valakinek még több gyermeke van?
Meddig sokszorozzuk a reláció tartományait?
tsz gT1 gn1 gT2 gn2 gT3 gn3 gn5
258 123789456 Kiss Pál 134256987 Kiss Béla
423
456 369258147 Kiss Béla
567
599 321654741 Kő Adél 258963147 Kő Jakab 291847352 Kő Elek
789 281739753 Szőke Pál
INFORMÁCIÓVESZTÉS lép fel!
(Ugyanez a probléma érvényes a nyelvtudásnál is!)
Redundancia:
Ha a dolgozók többségének kettő esetleg
kevesebb gyermeke van 
feleslegesen foglalt tárolóhely!

Ez a „megoldás” nem oldja fel a


problémát csak újakat vet fel!
A reláció sorainak sokszorozása a
várható ismétlődések számának
megfelelően.
1. A sorokban így az „azonosító”
tartomány és az azonosítótól függő
tartományok értékei ismétlődnek!
2. Így az azonosítónak kiválasztott
tartomány sem lesz azonosító, új,
összetett azonosítót kell kijelölni
tsz szig jogsi dn szek szen gT gn nk nm nd
258 AU-IV 456872 A 5236 8942 Kiss Pál 22 üzem 123 789 456 Kiss Pál
258 AU-IV 456873 A 5236 8943 Kiss Pál 22 üzem 134 256 987 Kiss Béla
423 FS-III. 789258 Nagy Olga 22 üzem AN angol 1984.06.02
423 FS-III. 789259 Nagy Olga 22 üzem NE német 1990.03.29
423 FS-III. 789260 Nagy Olga 22 üzem FR francia 1995.11.13
456 AU-II 1586821 Pór Bea 11 iroda 369 258 147 Kiss Béla AN angol 1992.11.02
456 AU-II 1586822 Pór Bea 11 iroda 369 258 148 Kiss Béla NE német 1986.02.04
567 FS-I. 654321 B 4567 0123 Kiss Pál 22 üzem AN angol 1981.05.06
567 FS-I. 654322 B 4567 0124 Kiss Pál 22 üzem FR francia 1998.11.15
599 B 4586 5284 A 6549 8765 Szabó Éva 11 iroda 321 654 741 Kő Adél AN angol 1998.10.03
599 B 4586 5285 A 6549 8766 Szabó Éva 11 iroda 258 963 147 Kő Jakab AN angol 1998.10.03
599 B 4586 5286 A 6549 8767 Szabó Éva 11 iroda 291 847 352 Kő Elek AN angol 1998.10.03
599 B 4586 5284 A 6549 8765 Szabó Éva 11 iroda 321 654 741 Kő Adél NE német 1992.04.06
599 B 4586 5285 A 6549 8766 Szabó Éva 11 iroda 258 963 147 Kő Jakab NE német 1992.04.06
599 B 4586 5286 A 6549 8767 Szabó Éva 11 iroda 291 847 352 Kő Elek NE német 1992.04.06
789 FC-VI. 456123 Szőke Barna 11 iroda 281 739 753 Szőke Pál NE német 1975.02.16
789 FC-VI. 456124 Szőke Barna 11 iroda 281 739 754 Szőke Pál FR francia 1994.04.08

Mi okoz problémát? A törzs-szám nem azonosítja a sort!


Hogyan oldható fel a probléma?!
Hiba:
Új, összetett azonosító: tsz+gT+nk REDUNDANCIA!
A relációból kiemeljük az azonosítót és a
tőle függő tartományokat új relációba.
A többi tartomány az „azonosítóval” új
relációt alkot. Ennek a relációnak
- mivel a régi azonosító nem határoz meg
egyetlen tartományt sem - új (általában
összetett) azonosítót kell kijelölni!
tsz
258
szig
AU-IV 456872
jogsi dn
A 5236 8942 Kiss Pál
szek szen
22 üzem
gT
123 789 456
gn
Kiss Pál
nk nm nd R0
258 AU-IV 456873 A 5236 8943 Kiss Pál 22 üzem 134 256 987 Kiss Béla
423
423
FS-III. 789258
FS-III. 789259
Nagy Olga
Nagy Olga
22
22
üzem
üzem
AN
NE
angol
német
1984.06.02
1990.03.29
 tsz
423
456
FS-III. 789260
AU-II 1586821
Nagy Olga
Pór Bea
22
11
üzem
iroda 369 258 147 Kiss Béla
FR
AN
francia
angol
1995.11.13
1992.11.02 szig
456 AU-II 1586822 Pór Bea 11 iroda 369 258 148 Kiss Béla NE német 1986.02.04
567 FS-I. 654321 B 4567 0123 Kiss Pál 22 üzem AN angol 1981.05.06 jogsi
567 FS-I. 654322 B 4567 0124 Kiss Pál 22 üzem FR francia 1998.11.15
599 B 4586 5284 A 6549 8765 Szabó Éva 11 iroda 321 654 741 Kő Adél AN angol 1998.10.03 dn
599 B 4586 5285 A 6549 8766 Szabó Éva 11 iroda 258 963 147 Kő Jakab AN angol 1998.10.03
599
599
B 4586 5286
B 4586 5284
A 6549 8767 Szabó Éva
A 6549 8765 Szabó Éva
11
11
iroda
iroda
291 847 352
321 654 741
Kő Elek
Kő Adél
AN
NE
angol
német
1998.10.03
1992.04.06
szek
599
599
B 4586 5285
B 4586 5286
A 6549 8766 Szabó Éva
A 6549 8767 Szabó Éva
11
11
iroda
iroda
258 963 147
291 847 352
Kő Jakab
Kő Elek
NE
NE
német
német
1992.04.06
1992.04.06
szen
789
789
FC-VI. 456123
FC-VI. 456124
Szőke Barna
Szőke Barna
11
11
iroda
iroda
281 739 753
281 739 754
Szőke Pál
Szőke Pál
NE
FR
német
francia
1975.02.16
1994.04.08
gT
gn
nk
Kiindulásnak ? nm
nem rossz, de nd
a redundanciát A könnyebb
meg kell kezelhetőség
érdekében írjuk
Emeljük ki az
szüntetni!
át az eredeti azonosítótól függő
relációt egy tartományokat egy
oszlopba!
másik relációba!
R0 R1
tsz
tsz
szig szig
jogsi jogsi
dn dn
szek szek R3
szen szen tsz
gT
R2  gT
gn
tsz gn
nk
nm gT R4
nd gn tsz
nk nk
nm nm
nd nd
R0
tsz szig jogsi dn szek szen gT gn nk nm nd
258 AU-IV 456872 A 5236 8942 Kiss Pál 22 üzem 123 789 456 Kiss Pál
134 256 987 Kiss Béla
423 FS-III. 789258 Nagy Olga 22 üzem AN angol 1984.06.02
NE német 1990.03.29
FR francia 1995.11.13
456 AU-II 1586821 Pór Bea 11 iroda 369 258 147 Kiss Béla AN angol 1992.11.02
NE német 1986.02.04
567 FS-I. 654321 B 4567 0123 Kiss Pál 22 üzem AN angol 1981.05.06
FR francia 1998.11.15
599 B 4586 5284 A 6549 8765 Szabó Éva 11 üzem 321 654 741 Kő Adél
258 963 147 Kő Jakab
291 847 352 Kő Elek
AN angol 1998.10.03
NE német 1992.04.06
789 FC-VI. 456123 Szőke Barna 11 iroda 281 739 753 Szőke Pál NE német 1975.02.16
FR francia 1994.04.08

tsz gT gn nk nm nd
R2 258 123 789 456 Kiss Pál
R1 423
134 256 987 Kiss Béla
AN angol 1984.06.02
tsz szig jogsi dn szek szen NE német 1990.03.29
FR francia 1995.11.13
258 AU-IV 456872 A 5236 8942 Kiss Pál 22 üzem 456 369 258 147 Kiss Béla AN angol 1992.11.02
423 FS-III. 789258 Nagy Olga 22 üzem NE német 1986.02.04
456 AU-II 1586821 Pór Bea 11 iroda 567 AN angol 1981.05.06
567 FS-I. 654321 B 4567 0123 Kiss Pál 22 üzem FR francia 1998.11.15
599 321 654 741 Kő Adél
599 B 4586 5284 A 6549 8765 Szabó Éva 11 üzem
258 963 147 Kő Jakab
789 FC-VI. 456123 Szőke Barna 11 iroda 291 847 352 Kő Elek
AN angol 1998.10.03
NE német 1992.04.06
789 281 739 753 Szőke Pál NE német 1975.02.16
FR francia 1994.04.08
R1
tsz szig jogsi dn szek szen
258 AU-IV 456872 A 5236 8942 Kiss Pál 22 üzem
423 FS-III. 789258 Nagy Olga 22 üzem
456 AU-II 1586821 Pór Bea 11 iroda
567 FS-I. 654321 B 4567 0123 Kiss Pál 22 üzem
599 B 4586 5284 A 6549 8765 Szabó Éva 11 üzem
789 FC-VI. 456123 Szőke Barna 11 iroda

Redundancia Inkonzisztencia
R2 tsz gT gn nk nm nd
258 123 789 456 Kiss Pál R3 tsz gT gn
134 256 987 Kiss Béla 258 123 789 456 Kiss Pál
423 AN angol 1984.06.02
258 134 256 987 Kiss Béla
NE német 1990.03.29
FR francia 1995.11.13 456 369 258 147 Kiss Béla
456 369 258 147 Kiss Béla AN angol 1992.11.02 599 321 654 741 Kő Adél
NE német 1986.02.04
599 258 963 147 Kő Jakab
567 AN angol 1981.05.06
FR francia 1998.11.15 599 291 847 352 Kő Elek
599 321 654 741 Kő Adél 789 281 739 753 Szőke Pál
258 963 147 Kő Jakab
291 847 352 Kő Elek
AN angol 1998.10.03
NE német 1992.04.06 R4 tsz nk nm nd
789 281 739 753 Szőke Pál NE német 1975.02.16
423 AN angol 1984.06.02
FR francia 1994.04.08
423 NE német 1990.03.29
423 FR francia 1995.11.13
456 AN angol 1992.11.02
456 NE német 1986.02.04
567 AN angol 1981.05.06
567 FR francia 1998.11.15
599 AN angol 1998.10.03
599 NE francia 1992.04.06
789 NE német 1975.02.16
789 FR francia 1994.04.08
Ha egy reláció minden tartománya
függ* az azonosítótól**, akkor a
reláció határozott, és legalább első
normál formában van
* funkcionálisan vagy kölcsönösen
** a reláció egy tartománya (egyszerű azonosító)
vagy több tartomány (összetett azonosító),
amely rendelkezik az azonosító kritériumaival
R5
R4
 nk
 tsz
nm
 nk
nm
nd R6
 tsz
 nk
nd

Részleges függés van egy relációban, ha határozott,


minden tartománya függ egy összetett azonosítótól,
de van az azonosítónak olyan része, amely a reláció
egy vagy több tartományát meghatározza.
A reláció 1. Normál Formában van!
R4 tsz nk nm nd R5 nk nm
423 AN angol 1984.06.02 AN angol
423 NE német 1990.03.29 NE német
423 FR francia 1995.11.13 FR francia
456 AN angol 1992.11.02
456 NE német 1986.02.04
567 AN angol 1981.05.06 R6 tsz nk nd
567 FR francia 1998.11.15
423 AN 1984.06.02
599 AN angol 1998.10.03 423 NE 1990.03.29
599 NE francia 1992.04.06 423 FR 1995.11.13
789 NE német 1975.02.16 456 AN 1992.11.02
789 FR francia 1994.04.08 456 NE 1986.02.04
567 AN 1981.05.06
567 FR 1998.11.15
599 AN 1998.10.03
Inkonzisztencia 599 NE 1992.04.06
789 NE 1975.02.16
789 FR 1994.04.08
R8
 tsz
szig
R1
jogsi
 tsz
dn
szig
szek
jogsi
dn
szek R7
 szek
szen
szen

Tranzitív függés van egy relációban, ha határozott,


minden tartománya függ az azonosító egészétől, de
van olyan leíró tartománya, amely a reláció egy vagy
több tartományát meghatározza.
A reláció 2. Normál Formában van!
R1 tsz szig jogsi dn szek szen
258 AU-IV 456872 A 5236 8942 Kiss Pál 22 üzem
423 FS-III. 789258 Nagy Olga 22 üzem
456 AU-II 1586821 Pór Bea 11 iroda
567 FS-I. 654321 B 4567 0123 Kiss Pál 22 üzem
599 B 4586 5284 A 6549 8765 Szabó Éva 11 üzem
789 FC-VI. 456123 Szőke Barna 11 iroda

R8 tsz szig jogsi dn szek R7


258 AU-IV 456872 A 5236 8942 Kiss Pál 22
423 FS-III. 789258 Nagy Olga 22
szek szen
456 AU-II 1586821 Pór Bea 11 11 iroda
567 FS-I. 654321 B 4567 0123 Kiss Pál 22 22 üzem
599 B 4586 5284 A 6549 8765 Szabó Éva 11
789 FC-VI. 456123 Szőke Barna 11

relationship
Jól meghatározott a reláció, ha minden tartománya
csak az azonosítótól függ!
Ebben az esetben a reláció 3. Normál Formában van!

R8
 tsz
szig
jogsi
dn
szek
Logikailag redundáns az a tartomány, amely két
vagy több relációt jellemez.
Gyenge logikai redundancia:
R1 ha a logikailag redundáns
 tsz tartomány legalább az egyik
szig relációban azonosító!
jogsi
dn R7
szek  szek
szen szen

Az erős logikai
Erős logikai redundancia:
redundancia
ha a logikailag redundáns
magában hordozza
tartomány egyik relációban
az inkonzisztencia
sem azonosító!
veszélyét!
A gyenge logikai redundancia a kapcsolat hordozója.
Ezért a logikailag gyengén redundáns tartományt
kapcsoló tartománynak, (kapcsoló tulajdonság), az
adatbázisban kapcsoló mezőnek nevezzük

R8
 tsz

szig
jogsi
dn R7
szek  szek

szen

You might also like