GeeksforGeeks

Az első normál forma (1NF) nem a redundanciát szünteti meg, hanem azt, hogy megszünteti az ismétlődő csoportokat.

Ahelyett, hogy egy rekordban több oszlopban több azonos típusú adat lenne (0NF vagy nem normális forma), az ismétlődő információkat külön relációba szedjük és sorokként ábrázoljuk. Ez alkotja az 1NF-et.

Második normál forma (2NF):
A második normál forma (2NF) a teljes funkcionális függőség fogalmán alapul. A második normálforma az összetett kulcsú kapcsolatokra vonatkozik, azaz olyan kapcsolatokra, amelyek elsődleges kulcsa két vagy több attribútumból áll. Az egy attribútummal rendelkező elsődleges kulcsú reláció automatikusan legalább 2NF-ben van. Egy olyan reláció, amely nincs 2NF-ben, szenvedhet a frissítési anomáliáktól.

Ahhoz, hogy egy reláció második normálformában legyen, első normálformában kell lennie, és a reláció nem tartalmazhat részleges függőséget. Egy reláció 2NF-ben van, ha nincs részleges függősége, azaz egyetlen nem prím attribútum (olyan attribútumok, amelyek nem részei egyetlen kulcsjelöltnek sem) sem függ a táblázat bármely kulcsjelöltjének bármely megfelelő részhalmazától.

Más szavakkal:

Egy reláció, amely az Első Normál Formában van, és minden nem elsődleges kulcsú attribútum teljes mértékben függ funkcionálisan az elsődleges kulcsától, akkor a reláció a Második Normál Formában (2NF) van.

Megjegyzés – Ha a jelölt kulcs megfelelő részhalmaza határozza meg a nem elsődleges attribútumot, azt részleges függőségnek nevezzük.

Az 1NF relációk 2NF-re való normalizálása a részleges függőségek eltávolításával jár. Ha létezik részleges függőség, akkor a részlegesen függő attribútum(ok)at eltávolítjuk a relációból úgy, hogy a determinánsuk másolatával együtt egy új relációba helyezzük őket.

Nézzük meg az alábbi példákat.

1. példa:
Nézzük meg az alábbi táblázatot.

STUD_NO COURSE_NO COURSE_FEE1 C1 10002 C2 15001 C4 20004 C3 10004 C1 10002 C5 2000

{Megjegyezzük, hogy sok olyan kurzus van, amelynek azonos a kurzusdíja. }

Ezekben a
COURSE_FEE önmagában nem dönthet a COURSE_NO vagy a STUD_NO értékéről;
COURSE_FEE a STUD_NO-val együtt nem dönthet a COURSE_NO értékéről;
COURSE_FEE a COURSE_NO-val együtt nem dönthet a STUD_NO értékéről;
Ezért,
COURSE_FEE egy nem elsődleges attribútum lenne, mivel nem tartozik az egyetlen jelölt kulcshoz {STUD_NO, COURSE_NO} ;
De, COURSE_NO -> COURSE_FEE, i.e., COURSE_FEE függ COURSE_NO-tól, amely a jelölt kulcs megfelelő részhalmaza. A nem-prím attribútum COURSE_FEE függ a jelölt kulcs egy megfelelő részhalmazától, ami részleges függőség, és így ez a reláció nem 2NF.

A fenti reláció 2NF-re való átalakításához
a táblázatot két táblára kell osztanunk, például :
1. táblázat: STUD_NO, COURSE_NO
2. táblázat: COURSE_NO, COURSE_FEE

 Table 1 Table 2STUD_NO COURSE_NO COURSE_NO COURSE_FEE 1 C1 C1 10002 C2 C2 15001 C4 C3 10004 C3 C4 20004 C1 C5 2000 2 C5 

Megjegyzés – A 2NF megpróbálja csökkenteni a memóriában tárolt redundáns adatokat. Például, ha 100 diák vesz részt a C1 kurzuson, nem kell a díjat 1000-nek tárolnunk mind a 100 rekordhoz, hanem egyszer tárolhatjuk a második táblázatban, mivel a C1 kurzus díja 1000.

2. példa:
Nézzük meg a következő funkcionális függőségeket az R relációban (A, B, C, D )

AB -> C BC -> D 

A fenti relációban az AB az egyetlen kulcsjelölt, és nincs részleges függőség, azaz az AB bármely megfelelő részhalmaza nem határoz meg egyetlen nem prím attribútumot sem.

Article Tags :

DBMS

Gyakorlat Címkék :

Vélemény, hozzászólás?

Az e-mail-címet nem tesszük közzé.