Computer Science/๐Ÿ’พ Database

[DB] ์ •๊ทœํ™”(Normalization)์™€ ๋ฐ˜์ •๊ทœํ™”(De-Normalization)

J1Yun 2023. 4. 3. 15:33
728x90

์ •๊ทœํ™”(Normalization)

  • ๋ฆด๋ ˆ์ด์…˜์„ ์—ฌ๋Ÿฌ ๊ฐœ๋กœ ๋ถ„๋ฆฌํ•˜๋Š” ๊ณผ์ •
  • ๋ฆด๋ ˆ์ด์…˜ ๊ฐ„ ์ž˜๋ชป๋œ ํ•จ์ˆ˜ ์ข…์† ๊ด€๊ณ„๋กœ ๋ฐœ์ƒํ•˜๋Š” ๊ฐ์ข… ์‚ฝ์ž…/๊ฐฑ์‹ /์‚ญ์ œ ์ด์ƒ ํ˜„์ƒ์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•จ
  • ๋ถˆํ•„์š”ํ•œ ๋ฐ์ดํ„ฐ ์ œ๊ฑฐ๋ฅผ ํ†ตํ•ด ์ €์žฅ ๊ณต๊ฐ„์„ ํšจ์œจ์ ์œผ๋กœ ์‚ฌ์šฉ
  • ํ•จ์ˆ˜ ์ข…์† ๊ด€๊ณ„๋Š” ๋ฆด๋ ˆ์ด์…˜ ๋ถ„๋ฆฌ(์ •๊ทœํ™”)์˜ ๊ธฐ์ค€์ด ๋จ

โ€ป ์‚ฝ์ž…/๊ฐฑ์‹ /์‚ญ์ œ ์ด์ƒ ํ˜„์ƒ์— ๊ด€ํ•œ ๋‚ด์šฉ์€ ์•„๋ž˜ ํฌ์ŠคํŠธ ์ฐธ๊ณ 
https://zu-techlog.tistory.com/141

 

[DB] ์ด์ƒ ํ˜„์ƒ(Anomaly) ๊ฐœ๋…, ์ข…๋ฅ˜

์ด์ƒ ํ˜„์ƒ(Anomaly) ์ค‘๋ณต์ด ๋ฐœ์ƒํ•˜๊ณ  ์ „์ฒด์ ์ธ ๋ฌด๊ฒฐ์„ฑ์ด ์ €ํ•˜ ๋ฆด๋ ˆ์ด์…˜์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ ์‚ฝ์ž…, ์ˆ˜์ •, ์‚ญ์ œ ์—ฐ์‚ฐ์„ ํ•  ๋•Œ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋Š” ๋ถ€์ž‘์šฉ ํ˜„์‹ค์„ธ๊ณ„์˜ ์‹ค์ œ ๊ฐ’๊ณผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ €์žฅ๋œ ๊ฐ’์ด ์ผ

zu-techlog.tistory.com

 

์ œ 1์ •๊ทœํ™”(1NF)

  • ๋ฆด๋ ˆ์ด์…˜์˜ ๋ชจ๋“  ๋„๋ฉ”์ธ์ด ๋” ์ด์ƒ ๋ถ„ํ•ด๋  ์ˆ˜ ์—†๋Š” ์›์ž ๊ฐ’๋งŒ์œผ๋กœ ๊ตฌ์„ฑ๋˜์–ด์•ผ ํ•จ
  • ์œ„ ๊ทธ๋ฆผ์€ Telephone Number์˜ ๋„๋ฉ”์ธ์ด ์›์ž ๊ฐ’์ด ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ œ 1์ •๊ทœํ˜• ๋งŒ์กฑ X

  • ๋ฆด๋ ˆ์ด์…˜์˜ ์†์„ฑ ๊ฐ’ ์ค‘์—์„œ ํ•œ ๊ฐœ์˜ ๊ธฐ๋ณธํ‚ค์— ๋Œ€ํ•ด ๋‘ ๊ฐœ ์ด์ƒ์˜ ๊ฐ’์„ ๊ฐ€์ง€๋Š” ๋ฐ˜๋ณต ์ง‘ํ•ฉ์ด ์žˆ๋‹ค๋ฉด ์ œ๊ฑฐ
  • ์œ„ ๊ทธ๋ฆผ์€ Telephone Number์— ๋Œ€ํ•ด 2๊ฐœ์˜ ๋ฐ˜๋ณต ์ง‘ํ•ฉ์„ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฏ€๋กœ ์ œ 1์ •๊ทœํ˜• ๋งŒ์กฑ X

 

์ œ 2์ •๊ทœํ˜•(2NF)

  • ์ œ 1์ •๊ทœํ˜•์„ ๋งŒ์กฑํ•˜๋ฉด์„œ ๊ธฐ๋ณธํ‚ค๊ฐ€ ์•„๋‹Œ ๋ชจ๋“  ์†์„ฑ์— ์™„์ „ ํ•จ์ˆ˜ ์ข…์†์„ ๋งŒ์กฑํ•ด์•ผ ํ•จ
  • ๋ถ€๋ถ„์  ํ•จ์ˆ˜ ์ข…์† ์ œ๊ฑฐ
๐Ÿ’ก ํ•จ์ˆ˜ ์ข…์†์ด๋ž€?

- ์™„์ „ ํ•จ์ˆ˜ ์ข…์†: ๊ธฐ๋ณธํ‚ค๊ฐ€ ๋‹จ์ผํ‚ค ์ผ ๊ฒฝ์šฐ X -> Y ๋งŒ์กฑ, ๊ธฐ๋ณธํ‚ค๊ฐ€ ๋ณตํ•ฉํ‚ค ์ผ ๊ฒฝ์šฐ {X1,X2} -> Y ๋งŒ์กฑ
- ๋ถ€๋ถ„ ํ•จ์ˆ˜ ์ข…์†: ๊ธฐ๋ณธํ‚ค๊ฐ€ ๋ณตํ•ฉํ‚ค ์ผ ๊ฒฝ์šฐ X1, X2 ์ค‘ ํ•˜๋‚˜๋งŒ์œผ๋กœ๋„ Y์˜ ๊ฐ’์„ ๊ฒฐ์ •
- ์ดํ–‰์  ํ•จ์ˆ˜ ์ข…์†: X -> Y์ธ๋ฐ, Y -> Z ๋‹ค. ๊ฒฐ๊ตญ X -> Z์ธ ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ๋Š” ๊ฒฝ์šฐ

์˜ˆ์‹œ)

Model Full Name์€ ๋ณตํ•ฉํ‚ค์ธ Manufacturer์™€ Model์— ๋Œ€ํ•ด ์™„์ „ ํ•จ์ˆ˜ ์ข…์†์„ ๋งŒ์กฑํ•˜์ง€๋งŒ Manufacturer Country๋Š” Manufacturer์— ๋”ฐ๋ผ์„œ๋งŒ ๊ฒฐ์ •๋˜๋Š” ๋ถ€๋ถ„ ํ•จ์ˆ˜ ์ข…์† ๊ด€๊ณ„๋ฅผ ๊ฐ€์ง

๋”ฐ๋ผ์„œ, ์œ„์™€ ๊ฐ™์ด ํ…Œ์ด๋ธ”์„ ๋ถ„๋ฆฌํ•˜์—ฌ ๋ถ€๋ถ„ ํ•จ์ˆ˜ ์ข…์†์„ ์ œ๊ฑฐํ•˜๋ฉด ์ œ 2์ •๊ทœํ˜• ๋งŒ์กฑ ๊ฐ€๋Šฅ

 

์ œ 3์ •๊ทœํ˜•(3NF)

  • ์ œ 2์ •๊ทœํ˜•์„ ๋งŒ์กฑํ•˜๋ฉด์„œ ๊ธฐ๋ณธํ‚ค๊ฐ€ ์•„๋‹Œ ๋ชจ๋“  ์†์„ฑ์ด ๊ธฐ๋ณธํ‚ค์— ๋Œ€ํ•ด ์ดํ–‰์  ํ•จ์ˆ˜ ์ข…์†์„ ๋งŒ์กฑํ•˜์ง€ ์•Š๋„๋ก ํ•จ

์˜ˆ์‹œ)

Winner Date of Birth ์†์„ฑ์€ ๊ธฐ๋ณธํ‚ค๊ฐ€ ์•„๋‹Œ ์†์„ฑ Winner์—๊ฒŒ ์ข…์†๋˜๊ณ , Winner๋Š” ๊ธฐ๋ณธํ‚ค์ธ Tournament์™€ Year์— ์ข…์†๋˜๋ฏ€๋กœ ๊ฒฐ๊ตญ Winner Date of Birth๋Š” {Tournament, Year}์— ์˜์กดํ•˜๊ฒŒ ๋˜๋Š” ์ดํ–‰์  ํ•จ์ˆ˜ ์ข…์† ๊ด€๊ณ„๋ฅผ ๊ฐ€์ง

๋”ฐ๋ผ์„œ, ์œ„์™€ ๊ฐ™์ด ํ…Œ์ด๋ธ”์„ ๋ถ„๋ฆฌํ•˜์—ฌ ์ดํ–‰์  ํ•จ์ˆ˜ ์ข…์†์„ ์ œ๊ฑฐํ•˜๋ฉด ์ œ 3์ •๊ทœํ˜• ๋งŒ์กฑ ๊ฐ€๋Šฅ

 

BCNF

  • ์ œ 3์ •๊ทœํ˜•์„ ๋งŒ์กฑํ•˜๋ฉด์„œ ๋ชจ๋“  ๊ฒฐ์ •์ž๊ฐ€ ํ›„๋ณดํ‚ค ์ง‘ํ•ฉ์— ์†ํ•ด์•ผ ํ•จ

์˜ˆ์‹œ) 

๊ต์ˆ˜๋Š” ํ•˜๋‚˜์˜ ๊ณผ๋ชฉ๋งŒ ๊ฐ•์˜ํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•  ๋•Œ, ๊ฒฐ์ •์ž๋Š” '๊ต์ˆ˜' (๊ต์ˆ˜์— ๋”ฐ๋ผ ๊ณผ๋ชฉ์ด ์ •ํ•ด์ง€๊ธฐ ๋•Œ๋ฌธ) ์ด์ง€๋งŒ ํ›„๋ณดํ‚ค๋Š” {ํ•™์ƒ, ๊ณผ๋ชฉ}๋กœ '๊ต์ˆ˜'๊ฐ€ ํฌํ•จ๋˜์ง€ ์•Š์Œ

๋”ฐ๋ผ์„œ, ์œ„์™€ ๊ฐ™์ด ํ…Œ์ด๋ธ”์„ ๋ถ„๋ฆฌํ•˜์—ฌ ๊ฒฐ์ •์ž๊ฐ€ ํ›„๋ณดํ‚ค๊ฐ€ ๋˜๋„๋ก ํ•˜๋ฉด BCNF ๋งŒ์กฑ ๊ฐ€๋Šฅ

 

 

๋ฐ˜์ •๊ทœํ™”(De-Normalization)

  • ์ •๊ทœํ™”๋Š” ๋ฆด๋ ˆ์ด์…˜ ๋ถ„๋ฆฌ๋กœ ์ธํ•ด ๋ฆด๋ ˆ์ด์…˜ ๊ฐ„ JOIN ์—ฐ์‚ฐ์ด ๋งŽ์•„์ ธ ์งˆ์˜์— ๋Œ€ํ•œ ์‘๋‹ต ์‹œ๊ฐ„์ด ๋Š๋ ค์งˆ ์ˆ˜ ์žˆ์Œ
  • ๋ฐ์ดํ„ฐ ์กฐํšŒ ์„ฑ๋Šฅ ํ–ฅ์ƒ์„ ์œ„ํ•ด ๋ฐ์ดํ„ฐ ์ค‘๋ณต์„ ํ—ˆ์šฉํ•˜๋ฉฐ ๋ฆด๋ ˆ์ด์…˜์„ ํ•ฉ์น˜๋Š” ๊ณผ์ •
  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์™„๋ฒฝํ•œ ๊ตฌ์กฐ ์„ค๊ณ„๋ฅผ ํฌ๊ธฐํ•˜๊ณ  ๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ์„ ๊นจ๋œจ๋ฆฌ๋Š” ๋Œ€์‹  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ฝ๊ธฐ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ
  • ๋ฐ์ดํ„ฐ ์ค‘๋ณต์œผ๋กœ ์‚ฝ์ž…, ์ˆ˜์ •, ์‚ญ์ œ์˜ ์„ฑ๋Šฅ์€ ๋‚ฎ์•„์งˆ ์ˆ˜ ์žˆ์Œ
  • ์ƒํ™ฉ์— ๋”ฐ๋ผ ํ•„์š” ์‹œ ๋ฐ˜์ •๊ทœํ™” ์ˆ˜ํ–‰
    • ์ •๊ทœํ™”์— ์ถฉ์‹คํ•˜์—ฌ ์ข…์†์„ฑ, ํ™œ์šฉ์„ฑ์€ ํ–ฅ์ƒ๋˜์—ˆ์ง€๋งŒ, ์ˆ˜ํ–‰์†๋„๊ฐ€ ๋Š๋ ค์ง„ ๊ฒฝ์šฐ
    • ๋‹ค๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ ๋ฒ”์œ„๋ฅผ ์ž์ฃผ ์ฒ˜๋ฆฌํ•ด์•ผํ•˜๋Š” ๊ฒฝ์šฐ
    • ํŠน์ • ๋ฒ”์œ„์˜ ๋ฐ์ดํ„ฐ๋งŒ ์ž์ฃผ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒฝ์šฐ
    • ์š”์•ฝ/์ง‘๊ณ„ ์ •๋ณด๊ฐ€ ์ž์ฃผ ์š”๊ตฌ๋˜๋Š” ๊ฒฝ์šฐ

์˜ˆ์‹œ)

๊ฐ•์‚ฌ, ์ˆ˜์—…, ์ˆ˜๊ฐ•๋ฃŒ 3๊ฐœ์˜ ํ…Œ์ด๋ธ”์„ JOINํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒํ•˜๋Š” ๊ณผ์ •์—์„œ ์†๋„ ์ €ํ•˜๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ๋ฐ˜์ •๊ทœํ™”๋ฅผ ํ†ตํ•ด ์ผ๋ถ€ ๋ฐ์ดํ„ฐ ์ค‘๋ณต์„ ํ—ˆ์šฉํ•˜๋ฉฐ ์กฐํšŒ ์†๋„๋ฅผ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Œ

728x90