Normalization

์ •๊ทœํ™”์— ๋Œ€ํ•ด์„œ ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”.

  • ์ •๊ทœํ™”(Normailization) ๋Š” ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์—์„œ ๋ฐ์ดํ„ฐ์˜ ์ค‘๋ณต์„ฑ์„ ์ œ๊ฑฐํ•˜์—ฌ ์ด์ƒ ํ˜„์ƒ์„ ๋ฐฉ์ง€ํ•˜๊ณ , ๋ฐ์ดํ„ฐ์˜ ์ผ๊ด€์„ฑ๊ณผ ์ •ํ™•์„ฑ์„ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ๋ฌด์†์‹ค ๋ถ„ํ•ดํ•˜๋Š” ๊ณผ์ •์ด๋‹ค.

  • ์ •๊ทœํ™”์˜ ๊ธฐ๋ณธ ๋ชฉํ‘œ๋Š” ํ…Œ์ด๋ธ” ๊ฐ„์— ์ค‘๋ณต๋œ ๋ฐ์ดํ„ฐ๋ฅผ ํ—ˆ์šฉํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.

  • ์ค‘๋ณต๋œ ๋ฐ์ดํ„ฐ๋ฅผ ํ—ˆ์šฉํ•˜์ง€ ์•Š์Œ์œผ๋กœ์จ ๋ฌด๊ฒฐ์„ฑ์„ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, DB์˜ ์ €์žฅ ์šฉ๋Ÿ‰๋„ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค.

    • ๋ฐ์ดํ„ฐ์˜ ๋ฌด๊ฒฐ์„ฑ(Integrity)๋ž€ ๋ฐ์ดํ„ฐ๊ฐ€ ์ „์†ก, ์ €์žฅ๋˜๊ณ  ์ฒ˜๋ฆฌ๋˜๋Š” ๋ชจ๋“  ๊ณผ์ •์—์„œ ๋ณ€๊ฒฝ๋˜๊ฑฐ๋‚˜ ์†์ƒ๋˜์ง€ ์•Š๊ณ  ์™„์ „์„ฑ, ์ •ํ™•์„ฑ, ์ผ๊ด€์„ฑ์„ ์œ ์ง€ํ•จ์„ ๋ณด์žฅํ•˜๋Š” ํŠน์„ฑ์ด๋‹ค.

์ •๊ทœํ™” ๋‹จ๊ณ„๋ฅผ ์„ค๋ช…ํ•ด ์ฃผ์„ธ์š”.

ํ•„์ˆ˜ ๊ฐœ๋…

  • ํ•จ์ˆ˜ ์ข…์† ์ข…๋ฅ˜

์ข…๋ฅ˜
์„ค๋ช…

๋ถ€๋ถ„ ํ•จ์ˆ˜ ์ข…์† (Partial Functional Dependency)

๋ฆด๋ ˆ์ด์…˜์—์„œ ๊ธฐ๋ณธ ํ‚ค๊ฐ€ ๋ณตํ•ฉ ํ‚ค์ผ ๊ฒฝ์šฐ ๊ธฐ๋ณธ ํ‚ค๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ์†์„ฑ ์ค‘ ์ผ๋ถ€์—๊ฒŒ ์ข…์†๋œ ๊ฒฝ์šฐ

์™„์ „ ํ•จ์ˆ˜ ์ข…์† (Full Functional Dependency)

๋ฆด๋ ˆ์ด์…˜์—์„œ X -> Y ๊ด€๊ณ„๊ฐ€ ์žˆ์„ ๋•Œ, Y๋Š” X์˜ ์ „์ฒด ์†์„ฑ์— ๋Œ€ํ•ด ์ข…์†ํ•˜๊ณ , ๋ถ€๋ถ„ ์ง‘ํ•ฉ ์†์„ฑ์— ์ข…์†ํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ

์ดํ–‰ ํ•จ์ˆ˜ ์ข…์† (Transitive Functional Dependency)

๋ฆด๋ ˆ์ด์…˜์—์„œ X -> Y, Y -> Z ์ข…์† ๊ด€๊ณ„๊ฐ€ ์žˆ์„ ๋•Œ, X -> Z๊ฐ€ ์„ฑ๋ฆฝ๋˜๋Š” ๊ฒฝ์šฐ

  • ํ‚ค ์ข…๋ฅ˜

์ข…๋ฅ˜
์„ค๋ช…

๊ธฐ๋ณธ ํ‚ค (Primary Key)

ํ…Œ์ด๋ธ”์˜ ๊ฐ ํŠœํ”Œ๋“ค์„ ๊ณ ์œ ํ•˜๊ฒŒ ์‹๋ณ„ํ•˜๋Š” ์ปฌ๋Ÿผ

๋Œ€์ฒด ํ‚ค (Alternate Key)

ํ›„๋ณด ํ‚ค ์ค‘์—์„œ ๊ธฐ๋ณธ ํ‚ค๋กœ ์„ ํƒ๋˜์ง€ ์•Š์€ ํ‚ค

ํ›„๋ณด ํ‚ค (Candidate Key)

- ํ…Œ์ด๋ธ”์—์„œ ๊ฐ ํŠœํ”Œ์„ ๊ตฌ๋ณ„ํ•˜๋Š” ๋ฐ ๊ธฐ์ค€์ด ๋˜๋Š” ์ปฌ๋Ÿผ - ๊ธฐ๋ณธ ํ‚ค์™€ ๋Œ€์ฒด ํ‚ค๋ฅผ ํ•ฉ์นœ ํ‚ค(๊ธฐ๋ณธ ํ‚ค โІ ํ›„๋ณด ํ‚ค, ๋Œ€์ฒด ํ‚ค โІ ํ›„๋ณด ํ‚ค)

์Šˆํผ ํ‚ค (Super Key)

๋ฆด๋ ˆ์ด์…˜์„ ๊ตฌ์„ฑํ•˜๋Š” ๋ชจ๋“  ํŠœํ”Œ์— ๋Œ€ํ•ด ์œ ์ผ์„ฑ์€ ๋งŒ์กฑํ•˜์ง€๋งŒ, ์ตœ์†Œ์„ฑ์€ ๋งŒ์กฑํ•˜์ง€ ๋ชปํ•˜๋Š” ํ‚ค

์™ธ๋ž˜ ํ‚ค (Foreign Key)

- ํ…Œ์ด๋ธ” ๊ฐ„์˜ ์ฐธ์กฐ ๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ์„ ์œ„ํ•œ ์ œ์•ฝ ์กฐ๊ฑด - ํ•œ ๋ฆด๋ ˆ์ด์…˜์˜ ์ปฌ๋Ÿผ์ด ๋‹ค๋ฅธ ๋ฆด๋ ˆ์ด์…˜์˜ ๊ธฐ๋ณธ ํ‚ค๋กœ ์ด์šฉ๋˜๋Š” ํ‚ค

์ œ 1 ์ •๊ทœํ™”

  • ํ…Œ์ด๋ธ” ๋‚ด์˜ ์†์„ฑ๊ฐ’์€ ์›์ž๊ฐ’(ํ•˜๋‚˜์˜ ๊ฐ’)์„ ๊ฐ€์ง€๊ณ  ์žˆ์–ด์•ผ ํ•œ๋‹ค.

  • ๋ชจ๋“  ์†์„ฑ์— ๋ฐ˜๋ณต๋˜๋Š” ๊ทธ๋ฃน์ด ๋‚˜ํƒ€๋‚˜์ง€ ์•Š์•„์•ผ ํ•œ๋‹ค.

  • ๊ธฐ๋ณธํ‚ค๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ด€๋ จ ๋ฐ์ดํ„ฐ์™€ ๊ฐ ์ง‘ํ•ฉ์„ ๊ณ ์œ ํ•˜๊ฒŒ ์‹๋ณ„ํ•  ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค.

๋‹ค์Œ ํ…Œ์ด๋ธ”์€ "์ทจ๋ฏธ๋“ค" ์ปฌ๋Ÿผ์— ๋Œ€ํ•ด ์›์ž๊ฐ’์„ ๊ฐ€์ง€๊ณ  ์žˆ์ง€ ์•Š์€ ํ–‰์ด ์กด์žฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ œ 1 ์ •๊ทœํ˜•์„ ๋งŒ์กฑํ•˜์ง€ ๋ชปํ•œ๋‹ค.

img_2.png

์ œ 1 ์ •๊ทœํ™”ํ•˜์—ฌ ๋ถ„ํ•ดํ•œ ๊ฒฐ๊ณผ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

img_3.png

์ œ 2 ์ •๊ทœํ™”

  • ์ œ 1 ์ •๊ทœํ™”๋ฅผ ์ง„ํ–‰ํ•œ ํ…Œ์ด๋ธ”์— ๋Œ€ํ•ด ์™„์ „ ํ•จ์ˆ˜ ์ข…์†์„ ๋งŒ์กฑํ•˜๋„๋ก ํ…Œ์ด๋ธ”์„ ๋ถ„ํ•ดํ•œ๋‹ค.

    • ์™„์ „ ํ•จ์ˆ˜ ์ข…์† : ๊ธฐ๋ณธ ํ‚ค์˜ ๋ถ€๋ถ„์ง‘ํ•ฉ์ด ๊ฒฐ์ •์ž๊ฐ€ ๋˜์–ด์„  ์•ˆ ๋œ๋‹ค๋Š” ๊ฒƒ์„ ์˜๋ฏธํ•œ๋‹ค.

  • ํ…Œ์ด๋ธ”์—์„œ ๊ธฐ๋ณธ ํ‚ค๊ฐ€ ๋ณตํ•ฉ ํ‚ค(ํ‚ค1, ํ‚ค2)๋กœ ๋ฌถ์—ฌ์žˆ์„ ๋•Œ, ๋‘ ํ‚ค ์ค‘ ํ•˜๋‚˜์˜ ํ‚ค๋งŒ์œผ๋กœ ๋‹ค๋ฅธ ์ปฌ๋Ÿผ์„ ๊ฒฐ์ •์ง€์„ ์ˆ˜ ์žˆ์œผ๋ฉด ์•ˆ ๋œ๋‹ค.

    • ๊ธฐ๋ณธ ํ‚ค์˜ ๋ถ€๋ถ„์ง‘ํ•ฉ ํ‚ค๊ฐ€ ๊ฒฐ์ •์ž๊ฐ€ ๋˜์–ด์„  ์•ˆ ๋œ๋‹ค.

img_4.png
  • ๊ธฐ๋ณธ ํ‚ค๋Š” (ํ•™์ƒ ๋ฒˆํ˜ธ, ๊ฐ•์ขŒ์ด๋ฆ„)์œผ๋กœ ๋ณตํ•ฉ ํ‚ค์ด๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด ๊ธฐ๋ณธ ํ‚ค๋Š” "์„ฑ์ "์„ ๊ฒฐ์ •ํ•˜๊ณ  ์žˆ๋‹ค.

  • ๊ทธ๋Ÿฐ๋ฐ ์—ฌ๊ธฐ์„œ "๊ฐ•์˜์‹ค" ์ปฌ๋Ÿผ์€ ๊ธฐ๋ณธ ํ‚ค์˜ ๋ถ€๋ถ„์ง‘ํ•ฉ์ธ "๊ฐ•์ขŒ์ด๋ฆ„"์— ์˜ํ•ด ๊ฒฐ์ •๋  ์ˆ˜ ์žˆ๋‹ค.

  • ์ฆ‰, ๊ธฐ๋ณธ ํ‚ค์˜ ๋ถ€๋ถ„ ํ‚ค์ธ "๊ฐ•์ขŒ์ด๋ฆ„"์ด ๊ฒฐ์ •์ž์ด๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ•์˜์‹ค์„ ๋ถ„ํ•ดํ•ด ๋ณ„๋„์˜ ํ…Œ์ด๋ธ”๋กœ ๊ด€๋ฆฌํ•˜์—ฌ ์ œ 2 ์ •๊ทœํ˜•์„ ๋งŒ์กฑ์‹œํ‚ฌ ์ˆ˜ ์žˆ๋‹ค.

img_5.png

์ œ 3 ์ •๊ทœํ™”

  • ์ œ 2 ์ •๊ทœํ™”๋ฅผ ์ง„ํ–‰ํ•œ ํ…Œ์ด๋ธ”์— ๋Œ€ํ•ด ์ดํ–‰์  ์ข…์†์„ ์—†์• ๋„๋ก ํ…Œ์ด๋ธ”์„ ๋ถ„ํ•ดํ•œ๋‹ค.

img_6.png
  • ํ•™์ƒ ๋ฒˆํ˜ธ๋Š” ๊ฐ•์ขŒ ์ด๋ฆ„์„ ๊ฒฐ์ •ํ•˜๊ณ  ์žˆ๊ณ , ๊ฐ•์ขŒ ์ด๋ฆ„์€ ์ˆ˜๊ฐ•๋ฃŒ๋ฅผ ๊ฒฐ์ •ํ•˜๊ณ  ์žˆ๋‹ค.

  • ์„ธ ์ปฌ๋Ÿผ์„ ํ•œ ํ…Œ์ด๋ธ”์— ๋‘๋Š” ๊ฒƒ์€ ์ดํ–‰ํ•จ์ˆ˜ ์ข…์†์„ฑ์œผ๋กœ ์ธํ•ด 3์ฐจ ์ •๊ทœํ™”๋ฅผ ๋งŒ์กฑํ•˜์ง€ ๋ชปํ•œ๋‹ค.

  • ํ•™์ƒ๋ฒˆํ˜ธ๋Š” ์ˆ˜๊ฐ•๋ฃŒ์— ์ง์ ‘ ์˜ํ–ฅ์„ ์ฃผ๋Š” ๊ด€๊ณ„๊ฐ€ ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— (ํ•™์ƒ๋ฒˆํ˜ธ, ๊ฐ•์ขŒ์ด๋ฆ„) ํ…Œ์ด๋ธ”๊ณผ (๊ฐ•์ขŒ์ด๋ฆ„, ์ˆ˜๊ฐ•๋ฃŒ) ํ…Œ์ด๋ธ”๋กœ ๋ถ„๋ฆฌํ•˜์—ฌ ์ดํ–„ ํ•จ์ˆ˜ ๊ด€๊ณ„๋ฅผ ์ œ๊ฑฐํ•˜์—ฌ 3์ฐจ ์ •๊ทœํ™”๋ฅผ ๋งŒ์กฑํ•œ๋‹ค.

img_7.png
  • ํ•™์ƒ ๋ฒˆํ˜ธ๋ฅผ ํ†ตํ•ด ๊ฐ•์ขŒ์ด๋ฆ„์„ ์ฐธ์กฐํ•˜๊ณ , ๊ฐ•์ขŒ์ด๋ฆ„์„ ํ†ตํ•ด ์ˆ˜๊ฐ•๋ฃŒ๋ฅผ ์ฐธ์กฐํ•˜๋„๋ก ๋ถ„ํ•ดํ–ˆ๋‹ค.

๋ณด์ด์Šค-์ฝ”๋“œ ์ •๊ทœํ™”(BCNF)

  • BCNF ์ •๊ทœํ™”๋Š” ์ œ 3 ์ •๊ทœํ™”๋ฅผ ์ง„ํ–‰ํ•œ ํ…Œ์ด๋ธ”์— ๋Œ€ํ•ด ๋ชจ๋“  ๊ฒฐ์ •์ž๊ฐ€ ํ›„๋ณดํ‚ค๊ฐ€ ๋˜๋„๋ก ํ…Œ์ด๋ธ”์„ ๋ถ„ํ•ดํ•œ๋‹ค.

img_8.png
  • ๊ธฐ๋ณธ ํ‚ค๋Š” (ํ•™์ƒ๋ฒˆํ˜ธ, ํŠน๊ฐ•์ด๋ฆ„)์ด๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ธฐ๋ณธ ํ‚ค๋Š” "๊ต์ˆ˜"๋ฅผ ๊ฒฐ์ •ํ•˜๊ณ  ์žˆ๊ณ , "๊ต์ˆ˜"๋Š” "ํŠน๊ฐ•์ด๋ฆ„"์„ ๊ฒฐ์ •ํ•˜๊ณ  ์žˆ๋‹ค.

  • ๋ฌธ์ œ๋Š” "๊ต์ˆ˜"๊ฐ€ "ํŠน๊ฐ€์ด๋ฆ„"์„ ๊ฒฐ์ •ํ•˜๋Š” ๊ฒฐ์ •์ž์ด์ง€๋งŒ, ํ›„๋ณด ํ‚ค๊ฐ€ ์•„๋‹ˆ๋ผ๋Š” ์ ์ด๋‹ค.

  • ๋•Œ๋ฌธ์— BCNF ์ •๊ทœํ™”๋ฅผ ๋งŒ์กฑ์‹œํ‚ค๊ธฐ ์œ„ํ•ด ํ…Œ์ด๋ธ”์„ ๋ถ„๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.

img_9.png
  • "ํŠน๊ฐ•์‹ ์ฒญ" ํ…Œ์ด๋ธ”๊ณผ "ํŠน๊ฐ•๊ต์ˆ˜" ํ…Œ์ด๋ธ”๋กœ ๋ถ„๋ฆฌํ–ˆ๋‹ค.

์ฐธ๊ณ 

Last updated