์ ๊ทํ(Nomalization)
๋ฐ์ดํฐ์ฒ๋ฆฌ์์ ์ ๊ทํ๋ ์ค๋ณต์ ์์ ์ด์ํ์์ ์ ๊ฑฐํ๋ ํ๋ก์ธ์ค๋ฅผ ๋งํ๋ค. ์ ๊ทํ๋ฅผ ํตํด ์ด์ํ์์ ์ ๊ฑฐํ๋ฉด ์์ ์ ์ธ ์ฒ๋ฆฌ๋ฅผ ๋ณด์ฅํ ์ ์๋ค.
๊ทธ๋ฆฌ๊ณ ๋ฐ ์ ๊ทํ๋ ์ ๊ทํ๋ ๋ฐ์ดํฐ๋ชจ๋ธ์ ์์คํ
์ ์ฑ๋ฅํฅ์์ ์ํด ํตํฉ(์๋์ ์ผ๋ก ์ค๋ณต์ ํ์ฉ)ํ๋ ํ๋ก์ธ์ค๋ฅผ ๋งํ๋ค
1์ฐจ ์ ๊ทํ
๋ณต์์ ์์ฑ๊ฐ์ ๊ฐ์ง ๊ฒฝ์ฐ ๋ณ๋์ ํ
์ด๋ธ(;์ํฐํฐ)๋ก ๋ถ๋ฆฌํ๋ค.
์ฃผ ์๋ณ์์ ๋ํ ์์์ฑ(Atomic Value)๋ฅผ ํ๋ณดํ๋ ๊ณผ์ .
ํ์_๊ณผ๋ชฉ
ํ์๋ฒํธ |
์ด๋ฆ ๊ณผ๋ชฉ๋ฒํธ ๊ณผ๋ชฉ์ด๋ฆ |
์ด๋ผ๋ฉด,
ํ์
ํ์๋ฒํธ |
์ด๋ฆ |
๊ณผ๋ชฉ
๊ณผ๋ชฉ๋ฒํธ |
๊ณผ๋ชฉ์ด๋ฆ |
์ผ๋ก ๋ถ๋ฆฌ.
1์ฐจ ์ ๊ทํ๋ฅผ ๋ง์น ์ํ๋ฅผ 1nf, 1์ฐจ์ ๊ทํ์ด๋ผ ๋ถ๋ฆ.
2์ฐจ ์ ๊ทํ
๋ถ๋ถ ์ข
์ ์์ฑ(PDA: Partial Dependency Attribute)์ ๋ณ๋์ ํ
์ด๋ธ(;์ํฐํฐ)๋ก ๋ถ๋ฆฌํ๋ค.
๋ถ๋ถ ์ข
์ ์์ฑ(PDA)์ด๋ ์ฃผ ์๋ณ์ ์ ์ฒด(์ฃผ์๋ณ์๊ฐ ๋๊ฐ์ด์)์ ์ข
์์ ์ด์ง ์์ ์์ฑ์ ๋งํ๋ค.
ํ์_๊ณผ๋ชฉ
ํ์๋ฒํธ ๊ณผ๋ชฉ๋ฒํธ |
ํ์์ด๋ฆ ๊ณผ๋ชฉ์ด๋ฆ |
ํ์์ด๋ฆ์ ํ์๋ฒํธ์๋ง ์ข
์์ธ PDA์ด๊ณ , ๊ณผ๋ชฉ์ด๋ฆ์ ๊ณผ๋ชฉ๋ฒํธ์๋ง ์ข
์์ธ PDA์ด๋ฏ๋ก,
ํ์
ํ์๋ฒํธ |
ํ์์ด๋ฆ |
๊ณผ๋ชฉ
๊ณผ๋ชฉ๋ฒํธ |
๊ณผ๋ชฉ์ด๋ฆ |
์ผ๋ก ๋ถ๋ฆฌ.
2์ฐจ ์ ๊ทํ๋ฅผ ๋ง์น ์ํ๋ฅผ 2nf, 2์ ๊ทํ์ด๋ผ ๋ถ๋ฆ.
3์ฐจ ์ ๊ทํ
์ดํ์ ์ข
์ ๊ด๊ณ๋ฅผ ๊ฐ๋ ์์ฑ(TDA: Transitive Dependency Attribute)์ ๋ณ๋์ ํ
์ด๋ธ(;์ํฐํฐ)๋ก ๋ถ๋ฆฌํ๋ค.
TDA, ์ดํ์ ๊ด๊ณ์ ์์ฑ์ด๋ ์์ฑ์ ์ข ์๋๋ ์์ฑ์ ๋งํ๋ค.
(์ทจ๋ฏธ๊ฐ 1๊ฐ ์ผ๋, ๋ง์ฝ ์
๋ ฅ๋ ์ทจ๋ฏธ๊ฐ ์ฌ๋ฌ ๊ฐ๋ฉด ์์์ฑ์ด ํ๋ณด๋์ง ์์์ผ๋ฏ๋ก 1์ฐจ ์ ๊ทํ ๋์)
ํ์_์ทจ๋ฏธ
ํ์๋ฒํธ |
ํ์์ด๋ฆ ์ทจ๋ฏธ์ฝ๋ ์ทจ๋ฏธ๋ช
|
์ทจ๋ฏธ
์ทจ๋ฏธ์ฝ๋ |
์ทจ๋ฏธ๋ช
|
ํ์
ํ์๋ฒํธ |
ํ์์ด๋ฆ ์ทจ๋ฏธ์ฝ๋ |
์ด๋ ๊ฒ ๋ถ๋ฆฌํด์ค๋ค
3์ฐจ ์ ๊ทํ๋ฅผ ๋ง์น ์ํ๋ฅผ 3nf, 3์ฐจ์ ๊ทํ์ด๋ผ ๋ถ๋ฆ.
๋ณด์ด์ค์ฝ๋ ์ ๊ทํ
๊ฒฐ์ ์ ๋ด์์ ํจ์์ ์ข
์๊ด๊ณ(FD: Functional Dependency)๊ฐ ๋ฐ์ํ ๋,์๋ณ์๋ฅผ ๋ณ๋์ ํ
์ด๋ธ(;์ํฐํฐ)๋ก ๋ถ๋ฆฌํ๋ ๊ฒ์ด ๋ณด์ด์ค ์ฝ๋ ์ ๊ทํ์ด๋ค.
์งํฉ R์ ๋ถ๋ถ ์งํฉ X์ Y๊ฐ ์์ ๋, X์ ๊ฐ์ ๋ํด ํญ์ ํ๋์ Y๊ฐ์ด ์ฐ๊ด๋์ด์์ ๋ Y๋ X์ ํจ์์ข ์(FD)์ด๋ผ๊ณ ํ๊ณ , X โ Y๋ผ๊ณ ํ๊ธฐํ๋ค.
์ทจ๋ฏธ_ํ์
์ทจ๋ฏธ์ฝ๋ ์ทจ๋ฏธ๋ช ํ์๋ฒํธ |
์ํ์ผ์ |
ํ์
์ทจ๋ฏธ์ฝ๋ ํ์๋ฒํธ |
์ํ์ผ์ |
์ทจ๋ฏธ์ฝ๋ |
์ทจ๋ฏธ๋ช
|
ํจ์์ข ์์ด ์๋ ๊ฒฐ์ ์๋ฅผ ์ด๋ ๊ฒ ๋ถ๋ฆฌํด์ค๋ค.
๋ณด์ด์ค์ฝ๋ ์ ๊ทํ๋ฅผ ๋ง์น ์ํ๋ฅผ BCNF, ๋ณด์ด์ค์ฝ๋์ ๊ทํ์ด๋ผ ๋ถ๋ฆ.
4์ฐจ ์ ๊ทํ
๋ค๊ฐ์ข
์(MVD:Multi Valued Dependency)์ ํด๋นํ๋ ์์ฑ์ ๋ณ๋์ ํ
์ด๋ธ(;์ํฐํฐ)๋ก ๋ถ๋ฆฌํ๋ค.
์๋ฏธ์ ์ผ๋ก ์๊ด์๋ ์์ฑ์ ํ ํ ์ด๋ธ์ ํํํ๋ฉด, ์๋ฏธ์์ด ๊ฐ์ ๊ฐ์ ์ฌ๋ฌ๋ฒ ์ ๋ ฅํด์ผํ๋ ๋ค๊ฐ์ข ์(MVD)์ด ๋ฐ์ํ๋ค.
4์ฐจ ์ ๊ทํ๋ ์๋ฏธ์ ์ค๋ณต์ ๋ํ ์ ๊ทํ์ด๋ฏ๋ก, ํญ์ ์ ์ ์ฌํญ์ด ์์ผ๋ฉด ์ด๋ฅผ ์ ์ํด์ผํ๋ค.
์ ์ ์ฌํญ: ์ฌ์์ ๋ณด์ ๊ธฐ์ ๊ณผ ์ง์ ํ๋ก์ ํธ๋ฅผ ๊ด๋ฆฌํ๋ ค ํจ. ๋ณด์ ๊ธฐ์ ๊ณผ ์ง์ ํ๋ก์ ํธ๋ ๋ฌด๊ดํ๋ค.
์ผ๋.
์ฌ์๋ฒํธ (FK) ๊ธฐ์ ์ฝ๋ (FK) ํ๋ก์ ํธ์ฝ๋ (FK) |
|
๊ธฐ์ _ํ๋ก์ ํธ(ํ ์ด๋ธ)
์ฌ์๋ฒํธ |
๊ธฐ์ ๋ช |
ํ๋ก์ ํธ์ฝ๋ |
01 |
๋ชจ๋ธ๋ง |
A |
01 |
๋ชจ๋ธ๋ง |
B |
01 |
์ํคํ ํธ |
C |
๋ผ๋ฉด, ์์ฑ ๊ธฐ์ ๋ช ์ ๊ฐ ๋ชจ๋ธ๋ง์ ๋ํด ์ฌ์๋ฒํธ๊ฐ ๋ค๊ฐ์ข ์(MVD)๋๋ค.
๊ทธ๋ ๋ค๋ฉด.
์ฌ์ (์ํฐํฐ)
์ฌ์๋ฒํธ |
์ฌ์๋ช |
์ฌ์๋ฒํธ (FK) ๊ธฐ์ ์ฝ๋ (FK) |
๊ธฐ์ ๋ช |
์ฌ์๋ฒํธ (FK) ํ๋ก์ ํธ์ฝ๋ (FK) |
ํ๋ก์ ํธ๋ช |
๊ธฐ์ (ํ ์ด๋ธ)
์ฌ์๋ฒํธ | ๊ธฐ์ ๋ช |
01 | ๋ชจ๋ธ๋ง |
01 | ์ํคํ ํธ |
ํ๋ก์ ํธ(ํ ์ด๋ธ)
์ฌ์๋ฒํธ | ํ๋ก์ ํธ์ฝ๋ |
01 | A |
01 | B |
01 | C |
์ผ๋ก ๋ถ๋ฆฌํด์ฃผ๋ฉด ๋๋ค.
์ฃผ์ํ ์ ์ ๋ง์ฝ ์ ์ ์ฌํญ์ด ํ๋ก์ ํธ ์ง์์์ ๊ธฐ์ ์ฝ๋๋ฅผ ๊ด๋ฆฌ์๋ค๋ฉด, ์์ ํ ์ด๋ธ์ 4์ฐจ ์ ๊ทํ์ ๋์์ด ์๋๋ผ๋ ์ ์ด๋ค.
4์ฐจ ์ ๊ทํ๋ฅผ ๋ง์น ์ํ๋ฅผ 4nf, 4์ฐจ์ ๊ทํ์ด๋ผ ๋ถ๋ฅธ๋ค.
5์ฐจ ์ ๊ทํ
๊ฒฐํฉ์ข
์(JD:Join Dependency)์ด ์์ ๊ฒฝ์ฐ, N๊ฐ์(2๊ฐ ์ด์) ํ
์ด๋ธ(;์ํฐํฐ)๋ก ๋ถ๋ฆฌํ๋ค.
๊ฒฐํฉ์ข
์(JD)์ด๋ ํํ
์ด๋ธ์ด ์
์ด์์ ๊ด๊ณ๋ก ๋ฌด์์ค ๋ถํด ๋ ์ ์๋ ๊ฐ๋ฅ์ฑ์ ๋งํฉ๋๋ค.
๊ฒฝ๋ ฅ์ฝ๋ ์ฌ์๋ฒํธ (FK) ์ง์ฑ ์ฝ๋ (FK) ํ์ฌ์ฝ๋ (FK) |
|
์ฌ์ (์ํฐํฐ)
์ฌ์๋ฒํธ |
์ฌ์๋ช |
์ง์ฑ ๋ฒํธ |
์ง์ฑ ๋ช |
ํ์ฌ๋ฒํธ |
ํ์ฌ๋ช |
๊ฒฝ๋ ฅ
์ผ๋,
์ฌ์ (์ํฐํฐ)
์ฌ์๋ฒํธ |
์ฌ์๋ช |
์ฌ์๋ฒํธ (FK) ์ง์ฑ ๋ฒํธ (FK) |
|
์ง์ฑ ๋ฒํธ |
์ง์ฑ ๋ช |
์ง์ฑ
๋ฒํธ (FK) ํ์ฌ์ฝ๋ (FK) |
๊ธฐ์ ๋ช |
ํ์ฌ๋ฒํธ |
ํ์ฌ๋ช |
์ฌ์๋ฒํธ (FK) ํ์ฌ์ฝ๋ (FK) |
๊ธฐ์ ๋ช |
์ผ๋ก ๋ฐ์ดํฐ์ ์์ค์์ด ๋ถํด๋ ์ ์๋ค๋ฉด, ๊ฒฝ๋ ฅ ํ ์ด๋ธ์ ๊ฒฐํฉ์ข ์์ฑ์ด ์๋ ๊ฒ์ด๋ค.
์ฝ๊ฒ๋งํด ๋ฌด์์ค ๋ถํด ๋๊ธฐ ์ ๊ฒฝ๋ ฅ ํ ์ด๋ธ์
์ด์๊ธฐ ๋๋ฌธ์,
์ง์ฑ ์ด๋ ฅ, ์กฐ์ง์ด๋ ฅ, ํ์ฌ์ด๋ ฅ ํ ์ด๋ธ๋ก ๋ฌด์์ค ๋ถํด๋ ์ ์์๋ ๊ฒ์ด๋ค.
5์ฐจ ์ ๊ทํ๋ฅผ ํตํด ๊ฒฐํฉ์ข
์์ ๋ถํดํ ์ํ ๋๋ ์กฐ์ธ์ข
์์ฑ์ด ์์ผ๋ ํ์ค์ ์ผ๋ก ๋ฌด์์ค ๋ถํด๋ฅผ ํ ํ์๊ฐ ์๋ ๊ฒฝ์ฐ๋ฅผ 5nf, 5์ฐจ์ ๊ทํ์ด๋ผ ๋ถ๋ฅธ๋ค.