๐Ÿ“Š ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค

[DB] ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ •๊ทœํ™”์™€ ์—ญ์ •๊ทœํ™”: 1NF, 2NF, 3NF, BCNF

์†Œ์˜ ๐Ÿ€ 2025. 3. 9. 23:20
๋ฐ˜์‘ํ˜•

๐Ÿ“Š ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ •๊ทœํ™”

์ •๊ทœํ™”(Normalization)๋Š” ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค(RDB)์˜ ์„ค๊ณ„์—์„œ
โœ… ๋ฐ์ดํ„ฐ ์ค‘๋ณต์„ ์ œ๊ฑฐํ•˜๊ณ , โœ… ์ด์ƒ ํ˜„์ƒ์„ ๋ฐฉ์ง€ํ•˜๊ณ , โœ… ๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ์„ ์œ ์ง€ํ•˜๊ธฐ ์œ„ํ•ด
์ •๊ทœํ˜•์— ๋งž๋„๋ก ๊ตฌ์กฐํ™”ํ•˜๋Š” ํ”„๋กœ์„ธ์Šค๋‹ค.

 

์ •๊ทœํ™” ๊ณผ์ •์€ ๊ฐ ๊ด€๊ณ„(relation)๊ฐ€ ์ •๊ทœํ˜• ๊ธฐ์ค€์„ ๋งŒ์กฑํ•˜๋Š”์ง€ ํ‰๊ฐ€ํ•˜๊ณ ,
๊ธฐ์ค€์„ ๋งŒ์กฑํ•˜์ง€ ๋ชปํ•˜๋ฉด ํ•„์š”์— ๋”ฐ๋ผ ๊ด€๊ณ„๋ฅผ ๋ถ„ํ•ดํ•œ๋‹ค.

 

์ œ1์ •๊ทœํ˜•(1NF)์—์„œ ์ œ4์ •๊ทœํ˜•(4NF)๋กœ ๊ฐˆ์ˆ˜๋ก ์ •๊ทœํ™”๊ฐ€ ๋” ๋งŽ์ด ๋œ๋‹ค.

 

์ด ํฌ์ŠคํŒ…์—์„œ๋Š” ์ œ1์ •๊ทœํ˜•,์ œ2์ •๊ทœํ˜•, ์ œ3์ •๊ทœํ˜•, BCNF์˜ ๊ฐ ํŠน์ง•์„ ์•Œ์•„๋ณด๊ณ ,
๋ฐ˜๋Œ€ ๊ฐœ๋… ์—ญ์ •๊ทœํ™”์— ๋Œ€ํ•ด ์‚ดํŽด๋ณธ๋‹ค.


๐Ÿ“Œ 1NF

์ œ1์ •๊ทœํ˜•์€ First Normal Form์œผ๋กœ ์ฃผ๋กœ 1NF๋กœ ๋ถ€๋ฅธ๋‹ค.

1NF์—์„œ

  1. โœ… ํ…Œ์ด๋ธ”์˜ ๋ชจ๋“  ์†์„ฑ์˜ ๊ฐ’์€ ์›์ž์ ์ด์–ด์•ผ ํ•œ๋‹ค.
    • '์›์ž์ ์ธ ๊ฐ’'์€ ๋” ์ด์ƒ ๋ถ„ํ•ด๋  ์ˆ˜ ์—†๋Š” ๋‹จ์ผ๊ฐ’์„ ๋งํ•œ๋‹ค.
  2. โœ… ๊ฐ ํ–‰์€ ๊ณ ์œ ํ•ด์•ผ ํ•œ๋‹ค.
    • ์ค‘๋ณต๋œ ํ–‰์ด ์—†์–ด์•ผ ํ•œ๋‹ค.

 

[1NF๋ฅผ ์ง€ํ‚ค์ง€ ์•Š์€ ๊ฒฝ์šฐ]

 

๊ฐ ๋ถ€์„œ์˜ ์œ„์น˜๋ฅผ ๋‚˜ํƒ€๋‚ธ Dlocation ์†์„ฑ์— {Bellaire, Sugarland, Houston}๊ณผ ๊ฐ™์ด ์—ฌ๋Ÿฌ ๊ฐ’์ด ๋ฐฐ์—ด ํ˜•ํƒœ๋กœ ๋“ค์–ด์žˆ๋‹ค.

์ด๋Ÿฌํ•œ ๊ฒฝ์šฐ์—๋Š” ์‚ญ์ œ, ์—…๋ฐ์ดํŠธ ์ด์ƒํ˜„์ƒ(Anomaly) ๋“ฑ์ด ๋‚˜ํƒ€๋‚  ์ˆ˜ ์žˆ๋‹ค.


ํ•œ ์ปฌ๋Ÿผ์— ์—ฌ๋Ÿฌ ๊ฐ’์ด ๋“ค์–ด์žˆ์ง€๋งŒ DB๋Š” ์ปฌ๋Ÿผ ํ•˜๋‚˜์— ๋“ค์–ด๊ฐ„ ์—ฌ๋Ÿฌ ๊ฐ’์„ ํ•˜๋‚˜์˜ ๋ฌธ์ž์—ด๋กœ ์ธ์‹ํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.
'Houston'์ด๋ผ๋Š” ํ•˜๋‚˜์˜ ๊ฐ’๋งŒ ์ง€์šฐ๊ณ  ์‹ถ์€๋ฐ DB์—์„œ๋Š” 'Bellaire, Sugarland, Houston' ์ด๋ ‡๊ฒŒ ํ•˜๋‚˜์˜ ๊ฐ’์ด๋ฏ€๋กœ ๊ฐœ๋ณ„์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ญ์ œํ•  ์ˆ˜ ์—†๋‹ค.
๊ฒฐ๊ตญ ์ „์ฒด ๋ฌธ์ž์—ด์„ ๋ฎ์–ด์”Œ์›Œ์•ผ ํ•˜๋Š”๋ฐ ๋ถˆํŽธํ•˜๊ณ  ์‹ค์ˆ˜๊ฐ€ ์ผ์–ด๋‚  ๊ฐ€๋Šฅ์„ฑ์ด ์ปค์ง„๋‹ค.
์—…๋ฐ์ดํŠธํ•˜๋Š” ๊ฒฝ์šฐ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€์ด๋‹ค.

 

 

[1NF๋ฅผ ์ง€ํ‚จ ๊ฒฝ์šฐ]

 

Dlocations ์ปฌ๋Ÿผ๋งŒ ๋”ฐ๋กœ DEPT_LOCATIONS ํ…Œ์ด๋ธ”๋กœ ๋”ฐ๋กœ ๋ถ„๋ฆฌํ•ด์„œ ๊ด€๊ณ„๋ฅผ ์ƒ์„ฑํ–ˆ๋‹ค.
DEPARTMENT์˜ Dnumber๋ผ๋Š” PK๋ฅผ FK๋กœ ๊ฐ€์ง€๋ฉฐ ์—ฐ๊ฒฐ๋˜๊ณ 
๋‘ ํ…Œ์ด๋ธ”์€ ๋ชจ๋“  ์ปฌ๋Ÿผ์ด ์›์ž์ ์ด๊ณ , ์ค‘๋ณต๋˜๋Š” ํ–‰์ด ์—†์œผ๋ฏ€๋กœ 1NF๋ฅผ ์ง€์ผฐ๋‹ค.

 

++ ๋”ฐ๋กœ ํ…Œ์ด๋ธ”๋กœ ๋ถ„ํ•ดํ•˜์ง€ ์•Š๊ณ , ๊ฐ ์ปฌ๋Ÿผ์˜ ๊ฐ’์ด ์›์ž์ ์ด๋„๋ก ๊ฐœ๋ณ„ ํ–‰์œผ๋กœ ๋ถ„๋ฆฌํ•˜๋Š” ๋ฐฉ๋ฒ•๋„ ๊ฐ€๋Šฅํ•˜๋‹ค.


๐Ÿ’ก Functional Dependency(FD)

2NF, 3NF, BCNF๋Š” ํ•จ์ˆ˜์  ์ข…์†์„ฑ(funtional dependencies) ๊ฐœ๋…์„ ๋จผ์ € ์•Œ์•„์•ผ ํ•œ๋‹ค.

"X -> Y: X functionally determines Y"

 

ํ•จ์ˆ˜์  ์ข…์†์„ฑ์€ X๊ฐ€ Y๋ฅผ ํ•จ์ˆ˜์ ์œผ๋กœ ๊ฒฐ์ •ํ•œ๋‹ค๋Š” ๋œป์œผ๋กœ X->Y๋กœ ํ‘œํ˜„ํ•œ๋‹ค.

 

X->Y ๊ด€๊ณ„๊ฐ€ ์žˆ๊ณ 
์„œ๋กœ ๋‹ค๋ฅธ ๋‘ ํŠœํ”Œ์ด ์žˆ์„ ๋•Œ,
๋งŒ์•ฝ ๋‘ ํŠœํ”Œ์˜ X ์ปฌ๋Ÿผ์˜ ๊ฐ’์ด ์„œ๋กœ ๊ฐ™๋‹ค๋ฉด
Y ์ปฌ๋Ÿผ์˜ ๊ฐ’๋„ ๊ฐ™์•„์•ผ ํ•œ๋‹ค.

 

์˜ˆ๋ฅผ ๋“ค์–ด, ์ถœ์„๋ถ€ ํ…Œ์ด๋ธ”์ด ์žˆ๋‹ค๊ณ  ํ•  ๋•Œ ํ•™๋ฒˆ์ด ๊ฐ™์œผ๋ฉด ์ด๋ฆ„๊ณผ ์ „๊ณต์ด ๊ฐ™์„ ๊ฒƒ์ด๋‹ค.
ํ•™๋ฒˆ -> ์ด๋ฆ„, ํ•™๋ฒˆ -> ์ „๊ณต ๊ด€๊ณ„๊ฐ€ ์„ฑ๋ฆฝํ•œ๋‹ค.


๐Ÿ“Œ 2NF

์ œ2์ •๊ทœํ˜•์˜ ์กฐ๊ฑด์€

  1. โœ… ์ œ1์ •๊ทœํ˜•์„ ๋งŒ์กฑํ•œ๋‹ค.
  2. โœ… ๋ชจ๋“  ์ปฌ๋Ÿผ์ด ์™„์ „ ํ•จ์ˆ˜ ์ข…์†์„ ๋งŒ์กฑํ•œ๋‹ค. (๋ถ€๋ถ„ ์ข…์†์„ฑ์„ ์ œ๊ฑฐํ•œ๋‹ค๊ณ ๋„ ํ•œ๋‹ค.)

"์™„์ „ ํ•จ์ˆ˜ ์ข…์†"์ด๋ž€,
ํ›„๋ณด ํ‚ค K์™€ K์— ์†ํ•˜์ง€ ์•Š๋Š” ์†์„ฑ A๊ฐ€ ์žˆ์„ ๋•Œ, A๋ฅผ ๊ฒฐ์ •ํ•˜๊ธฐ ์œ„ํ•ด K์˜ ์ผ๋ถ€๊ฐ€ ์•„๋‹Œ "K ์ „์ฒด"๋ฅผ ์ฐธ์กฐํ•ด์•ผ๋งŒ ํ•œ๋‹ค๋Š” ๋œป์ด๋‹ค.

 

์˜ˆ์‹œ๋ฅผ ๋ณด์ž.

 

[2NF๋ฅผ ์ง€ํ‚ค์ง€ ์•Š์€ ๊ฒฝ์šฐ]

 

 

์ฐธ๊ณ ๋กœ ๊ฐ ํ–‰์ด ์ค‘๋ณต๋˜์ง€ ์•Š๊ณ , ๋ชจ๋“  ์ปฌ๋Ÿผ์ด ์›์ž์ ์ด๋ฏ€๋กœ 1NF๋Š” ๋งŒ์กฑํ–ˆ๋‹ค.

 

์ด ํ…Œ์ด๋ธ”์˜ ํ›„๋ณด ํ‚ค๋Š” {์ข…์—…์›, ๊ธฐ์ˆ } ์„ธํŠธ์ด๋‹ค.

 

๊ทธ๋ ‡๋‹ค๋ฉด ์™„์ „ ํ•จ์ˆ˜ ์ข…์† ์ •์˜์— ๋”ฐ๋ผ
ํ›„๋ณด ํ‚ค์— ์†ํ•˜์ง€ ์•Š๋Š” ๋‚˜๋จธ์ง€ ์†์„ฑ {๊ทผ๋ฌด์ง€}์˜ ๊ฐ’์ด ๊ฒฐ์ •๋˜๋ ค๋ฉด
ํ›„๋ณด ํ‚ค์˜ ์ „์ฒด ์š”์†Œ {์ข…์—…์›}, {๊ธฐ์ˆ }์˜ ์˜ํ•ด ๊ฒฐ์ •๋˜์–ด์•ผ ํ•œ๋‹ค.

  • ์ข…์—…์› -> ๊ทผ๋ฌด์ง€
  • ๊ธฐ์ˆ  -> ๊ทผ๋ฌด์ง€

ํ•˜์ง€๋งŒ ํ˜„์žฌ ์ด ํ…Œ์ด๋ธ”์€ ํ›„๋ณด ํ‚ค์˜ ์ผ๋ถ€๋ถ„์ธ {์ข…์—…์›}์—๋งŒ ์˜ํ–ฅ์„ ๋ฐ›๋Š”๋‹ค.

 

[2NF๋ฅผ ์ง€ํ‚จ ๊ฒฝ์šฐ]

 

 

์ด ํ…Œ์ด๋ธ”์„ {์ข…์—…์›} ํ›„๋ณด ํ‚ค๋ฅผ ๊ฐ–๋Š” "์ข…์—…์›" ํ…Œ์ด๋ธ”๊ณผ {์ข…์—…์›, ๊ธฐ์ˆ } ํ›„๋ณด ํ‚ค๋ฅผ ๊ฐ–๋Š” "์ข…์—…์›์˜ ๊ธฐ์ˆ " ํ…Œ์ด๋ธ”๋กœ ๋ถ„๋ฆฌํ•˜์ž.

 

"์ข…์—…์›" ํ…Œ์ด๋ธ”์—์„œ ๊ทผ๋ฌด์ง€๋Š” ์œ ์ผํ•œ ํ›„๋ณดํ‚ค {์ข…์—…์›}์— ์˜ํ•ด์„œ ๊ฒฐ์ •๋˜๊ณ ,
"์ข…์—…์›์˜ ๊ธฐ์ˆ " ํ…Œ์ด๋ธ”์—์„œ๋Š” ํ›„๋ณด ํ‚ค {์ข…์—…์›, ๊ธฐ์ˆ } ์™ธ์—๋Š” ๋‹ค๋ฅธ ์ปฌ๋Ÿผ์ด ์—†์œผ๋‹ˆ ์™„์ „ ํ•จ์ˆ˜์  ์ข…์†์„ฑ์„ ๋”ฐ๋ฅธ๋‹ค๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

 

(๋ถ„ํ•ด ๊ณผ์ •์ด ์€๊ทผ ์žฌ๋ฐŒ๋Š”๋ฐ, ๊ทธ๊ฒƒ๊นŒ์ง€ ํ•˜๋ฉด ํฌ์ŠคํŒ…์ด ๋„ˆ๋ฌด ๊ธธ์–ด์งˆ ๊ฒƒ ๊ฐ™์•„ ๋‹ค์Œ ํฌ์ŠคํŒ… ์•„์ด๋””์–ด๋กœ ๋ฏธ๋ฃฌ๋‹ค..)

 

์ด๋ ‡๊ฒŒ 2NF๋ฅผ ์ ์šฉํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ํšจ๊ณผ๊ฐ€ ์žˆ๋‹ค.

  • ์‚ฝ์ž… ์ด์ƒํ˜„์ƒ ํ•ด๊ฒฐ, ๋ฐ์ดํ„ฐ ์ค‘๋ณต ์ œ๊ฑฐ: ํ•œ ์ข…์—…์›์ด ์—ฌ๋Ÿฌ ๊ธฐ์ˆ ์„ ๊ฐ€์งˆ ๋•Œ ๊ทผ๋ฌด์ง€ ์ •๋ณด๊ฐ€ ์ค‘๋ณต ์ €์žฅ๋  ํ•„์š”๊ฐ€ ์—†๋‹ค.
  • ์‚ญ์ œ ์ด์ƒํ˜„์ƒ ํ•ด๊ฒฐ: ์ข…์—…์›์˜ ๊ธฐ์ˆ ์„ ์‚ญ์ œํ•ด๋„, ์ข…์—…์›์˜ ๊ทผ๋ฌด์ง€ ์ •๋ณด๊ฐ€ ์‚ฌ๋ผ์ง€์ง€๋Š” ์•Š๋Š”๋‹ค.
  • ๊ฐฑ์‹  ์ด์ƒํ˜„์ƒ ํ•ด๊ฒฐ: ์ข…์—…์›์˜ ๊ทผ๋ฌด์ง€๊ฐ€ ๋ณ€๊ฒฝ๋  ๊ฒฝ์šฐ "์ข…์—…์›" ํ…Œ์ด๋ธ”์˜ ํ•œ ํ–‰๋งŒ ์ˆ˜์ •ํ•˜๋ฉด ๋œ๋‹ค.

๐Ÿ“Œ 3NF

์ œ3์ •๊ทœํ˜•์€

  1. โœ… ์ œ2์ •๊ทœํ˜•์„ ๋งŒ์กฑํ•œ๋‹ค.
  2. โœ… ํ…Œ์ด๋ธ” ๋‚ด์˜ ํ‚ค๊ฐ€ ์•„๋‹Œ ๋ชจ๋“  ์ปฌ๋Ÿผ์ด ํ…Œ์ด๋ธ”์˜ ๋ชจ๋“  ํ‚ค์— ์ดํ–‰์  ์ข…์†์ด ๋˜์ง€ ์•Š๋Š”๋‹ค.

"์ดํ–‰์  ํ•จ์ˆ˜์  ์ข…์†"์ด๋ž€
์–ด๋–ค ์†์„ฑ A๊ฐ€ ์†์„ฑ B์„ ํ†ตํ•ด ์†์„ฑ C์„ ๊ฒฐ์ •ํ•˜๋Š” ๊ฒฝ์šฐ, A → B → C๋ผ๋ฉด A → C๊ฐ€ ์„ฑ๋ฆฝํ•˜๊ฒŒ ๋˜๋Š” ์ƒํ™ฉ์ด๋‹ค.
C๋Š” B์— ์˜์กดํ•˜๊ณ , B๋Š” A์— ์˜์กดํ•˜๋Š” ์ดํ–‰ ํ•จ์ˆ˜์  ์ข…์†์„ ์ œ๊ฑฐํ•ด์•ผ ํ•œ๋‹ค.

 

[3NF๋ฅผ ์ง€ํ‚ค์ง€ ์•Š์€ ๊ฒฝ์šฐ]

 

 

์ด ํ…Œ์ด๋ธ”์—์„œ ํ›„๋ณด ํ‚ค๋Š” {๋Œ€ํšŒ, ์—ฐ๋„}์ด๋‹ค.

 

{์šฐ์Šน์ž}๋Š” {๋Œ€ํšŒ, ์—ฐ๋„}๋กœ ๊ฒฐ์ •๋œ๋‹ค.
{์šฐ์Šน์ž ์ƒ๋…„ ์›”์ผ}์€ {์šฐ์Šน์ž}์— ์˜ํ•ด ๊ฒฐ์ •๋œ๋‹ค.
{๋Œ€ํšŒ, ์—ฐ๋„}๋ฅผ ์•Œ๋ฉด ์šฐ์Šน์ž๋ฅผ ํ†ตํ•ด {์šฐ์Šน์ž ์ƒ๋…„ ์›”์ผ}๋„ ์•Œ ์ˆ˜ ์žˆ๋‹ค.

 

{๋Œ€ํšŒ, ์—ฐ๋„} -> {์šฐ์Šน์ž} -> {์šฐ์Šน์ž ์ƒ๋…„ ์›”์ผ}๋กœ ์ด์–ด์ง€๊ณ 
{๋Œ€ํšŒ, ์—ฐ๋„} -> {์šฐ์Šน์ž ์ƒ๋…„ ์›”์ผ}๋„ ์„ฑ๋ฆฝํ•˜๋Š”
์ดํ–‰ ํ•จ์ˆ˜์  ์ข…์†์ด ์กด์žฌํ•œ๋‹ค.

 

[3NF๋ฅผ ์ง€ํ‚จ ๊ฒฝ์šฐ]

 

 

"๋Œ€ํšŒ ์šฐ์Šน์ž"์™€ "์šฐ์Šน์ž ์ƒ๋…„ ์›”์ผ" ํ…Œ์ด๋ธ”๋กœ ๋ถ„๋ฆฌํ•œ๋‹ค.

์ด๋ ‡๊ฒŒ 3NF๋ฅผ ํ•ด๊ฒฐํ•˜๋ฉด

  • ์‚ฝ์ž… ์ด์ƒํ˜„์ƒ ํ•ด๊ฒฐ, ๋ฐ์ดํ„ฐ ์ค‘๋ณต ์ œ๊ฑฐ: ์šฐ์Šน์ž๊ฐ€ ์—ฌ๋Ÿฌ ๋Œ€ํšŒ์—์„œ ์ด๊ฒจ๋„, ์ƒ๋…„ ์›”์ผ ์ •๋ณด๋Š” ์—ฌ๋Ÿฌ ๋Œ€ํšŒ์—์„œ ์ค‘๋ณต ์ž…๋ ฅํ•  ํ•„์š”๊ฐ€ ์—†๋‹ค.
  • ๊ฐฑ์‹  ์ด์ƒํ˜„์ƒ ํ•ด๊ฒฐ: ๋Œ€ํšŒ ์ด๋ฆ„์ด๋‚˜ ์—ฐ๋„๊ฐ€ ๋ณ€๊ฒฝ๋  ๊ฒฝ์šฐ "๋Œ€ํšŒ ์šฐ์Šน์ž" ํ…Œ์ด๋ธ”๋งŒ ๋ฐ”๊พธ๋ฉด ๋œ๋‹ค.

๐Ÿ“Œ BCNF

๋ณด์ด์Šค-์ฝ”๋“œ ์ •๊ทœํ˜• Boyce-Codd Normal Form๋Š” 3NF์—์„œ ๋” ์—„๊ฒฉํ•ด์ง„ ํ˜•ํƒœ๋กœ

  1. ์ œ3์ •๊ทœํ˜•์„ ๋งŒ์กฑํ•œ๋‹ค.
  2. ๋ชจ๋“  ํ•จ์ˆ˜์  ์ข…์†์ด ํ›„๋ณด ํ‚ค์— ์˜ํ•ด์„œ๋งŒ ๊ฒฐ์ •๋˜์–ด์•ผ ํ•œ๋‹ค.

ํ…Œ์ด๋ธ”์— A->B๋ผ๋Š” ํ•จ์ˆ˜์  ์ข…์† ๊ด€๊ณ„๊ฐ€ ์žˆ๋‹ค๋ฉด
์ด๋•Œ ๋ฐ˜๋“œ์‹œ A๋Š” ํ›„๋ณด ํ‚ค์—ฌ์•ผ ํ•œ๋‹ค.

 

๋งŒ์•ฝ A๊ฐ€ ํ›„๋ณด ํ‚ค๊ฐ€ ์•„๋‹Œ ๋‹ค๋ฅธ ์†์„ฑ์ด๋ผ๋ฉด BCNF๋ฅผ ๋งŒ์กฑํ•˜์ง€ ๋ชปํ•œ๋‹ค.

๋ฐ์ดํ„ฐ ์ค‘๋ณต์„ ์ตœ์†Œํ™”ํ•˜๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ•์ด๋‹ค.


๐Ÿ’ก ์—ญ์ •๊ทœํ™”

์ •๊ทœํ™” ๊ณผ์ •์ด๋ž€ ์•ž์„œ ๋งํ•œ๋Œ€๋กœ
'๊ฐ ๊ด€๊ณ„(relation)๊ฐ€ ์ •๊ทœํ˜• ๊ธฐ์ค€์„ ๋งŒ์กฑํ•˜๋Š”์ง€ ํ‰๊ฐ€ํ•˜๊ณ ,
๊ธฐ์ค€์„ ๋งŒ์กฑํ•˜์ง€ ๋ชปํ•˜๋ฉด ํ•„์š”์— ๋”ฐ๋ผ ๊ด€๊ณ„๋ฅผ ๋ถ„ํ•ด๋ฅผ ๋ฐ˜๋ณตํ•˜๋Š” ๊ณผ์ •'์ด๋‹ค.

์—ญ์ •๊ทœํ™”๊ฐ€ ํ•„์š”ํ•œ ์ƒํ™ฉ

๊ฐœ๋ฐœ ์š”๊ตฌ์‚ฌํ•ญ์— ๋”ฐ๋ผ
1NF์—์„œ ๋ฉˆ์ถœ ์ˆ˜๋„, 2NF์—์„œ ๋ฉˆ์ถœ ์ˆ˜๋„ ์žˆ์ง€๋งŒ
๋ฐ์ดํ„ฐ ์ค‘๋ณต๊ณผ ์ด์ƒ ํ˜„์ƒ์„ ์ค„์ด๊ณ  ๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ์„ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•ด ๋ถ„ํ•ด๋ฅผ ๋ฐ˜๋ณตํ•˜๋‹ค ๋ณด๋ฉด
์ฒ˜์Œ๋ณด๋‹ค ์•„์ฃผ ๋งŽ์€ ํ…Œ์ด๋ธ”์ด ์ถ”๊ฐ€๋กœ ์ƒ๊ธธ ์ˆ˜ ์žˆ๋‹ค.

 

โš ๏ธ ์ด ๊ฒฝ์šฐ ํ…Œ์ด๋ธ” ๊ฐ„ join์ด ์•„์ฃผ ๋งŽ์•„์ ธ ์ฟผ๋ฆฌ ์š”์ฒญ์„ ์ฒ˜๋ฆฌํ•˜๋Š” ์‹œ๊ฐ„์ด ๋งค์šฐ ์ฆ๊ฐ€ํ•˜์—ฌ
์„ฑ๋Šฅ์ด ๋–จ์–ด์งˆ ์ˆ˜ ์žˆ๊ณ  ๋งŽ์€ ํ…Œ์ด๋ธ”์„ ๊ด€๋ฆฌํ•˜๊ธฐ ํž˜๋“ค์–ด์งˆ ์ˆ˜ ์žˆ๋‹ค.


ํŠนํžˆ, ๋ฐ์ดํ„ฐ ์กฐํšŒ๊ฐ€ ๋นˆ๋ฒˆํ•œ "์ฝ๊ธฐ ์ค‘์‹ฌ์˜ ์‹œ์Šคํ…œ"์—์„œ๋Š” ํ•œ ํ…Œ์ด๋ธ”์—์„œ ์ค‘๋ณต๋œ ๊ฐ’๋“ค์„ ๊ฐ€์ ธ์˜ค๋Š” ๊ฒƒ๋ณด๋‹ค ์—ฌ๋Ÿฌ ํ…Œ์ด๋ธ”์„ ์กฐ์ธํ•˜๋Š” ๊ฒƒ์ด ํฌ๊ฒŒ ๋ถ€๋‹ด์ด ๋  ์ˆ˜ ์žˆ๋‹ค.

  • ์ฝ๊ธฐ(๋ฐ์ดํ„ฐ ์กฐํšŒ)๊ฐ€ ๋นˆ๋ฒˆํ•  ๋•Œ
  • ๋Œ€๋Ÿ‰์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•  ๋•Œ
  • ๋ฐ์ดํ„ฐ ์กฐํšŒ ์†๋„๊ฐ€ ๋นจ๋ผ์•ผ ํ•  ๋•Œ

์ด ์ƒํ™ฉ์—๋Š” ์—ญ์ •๊ทœํ™”๋ฅผ ๊ณ ๋ คํ•ด๋ณด์ž.

์—ญ์ •๊ทœํ™” ์ ์šฉ ์‹œ ๊ณ ๋ ค ์‚ฌํ•ญ

๋ฐ์ดํ„ฐ ์ค‘๋ณต ์ œ๊ฑฐ, ์ด์ƒํ˜„์ƒ ํ•ด๊ฒฐ, ๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ ๊ด€๋ฆฌ๋ฅผ ๋ชฉํ‘œ๋กœ ์ •๊ทœํ™”๋ฅผ ์ง„ํ–‰ํ•ด์™”๋‹ค.

๋ฐ˜๋Œ€๋กœ ์—ญ์ •๊ทœํ™”๋ฅผ ํ•  ๋•Œ๋Š” ์ด๋Ÿฌํ•œ ์ ๋“ค์ด ํฌ๊ฒŒ ๋ฌธ์ œ๊ฐ€ ๋˜์ง€ ์•Š๋„๋ก ๊ณ ๋ คํ•ด์•ผ ํ•œ๋‹ค.

  • ์“ฐ๊ธฐ ์„ฑ๋Šฅ ์ €ํ•˜: ์—ญ์ •๊ทœํ™”๋Š” ์ฝ๊ธฐ ์„ฑ๋Šฅ์€ ์ข‹์•„์งˆ ์ˆ˜ ์žˆ์ง€๋งŒ, ๋ฐ์ดํ„ฐ๊ฐ€ ์ž์ฃผ ๋ณ€๊ฒฝ๋˜๋Š” ์“ฐ๊ธฐ ์ค‘์‹ฌ์˜ ์‹œ์Šคํ…œ์—์„œ๋Š” ์ž…๋ ฅํ•  ๋ฐ์ดํ„ฐ๊ฐ€ ๋งŽ์•„์ง€๋ฏ€๋กœ ์„ฑ๋Šฅ์ด ๋‚˜๋น ์งˆ ์ˆ˜ ์žˆ๋‹ค.
  • ์‚ญ์ œ์˜ ์–ด๋ ค์›€: ๋ชจ๋“  ์ค‘๋ณต๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฐพ์•„ ์‚ญ์ œํ•ด์•ผ ํ•œ๋‹ค.
  • ์ˆ˜์ •์˜ ์–ด๋ ค์›€: ๋งŽ์€ ์ค‘๋ณต ๋ฐ์ดํ„ฐ๋ฅผ ๊ฐ€์งˆ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ํ•˜๋‚˜์˜ ๋ฐ์ดํ„ฐ๊ฐ€ ์ˆ˜์ •๋˜๋ฉด ์—ฌ๋Ÿฌ ์œ„์น˜์—์„œ ์ˆ˜์ •ํ•ด์•ผ ํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ: ๋ฐ์ดํ„ฐ ์ค‘๋ณต์œผ๋กœ ์ผ๊ด€์„ฑ ์žˆ๋Š” ๊ฐฑ์‹ ์ด ์–ด๋ ค์šธ ์ˆ˜ ์žˆ๋‹ค.

์—ญ์ •๊ทœํ™” ์žฅ๋‹จ์ 

์ง€๊ธˆ๊นŒ์ง€์˜ ๋‚ด์šฉ์„ ํ† ๋Œ€๋กœ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ์žฅ๋‹จ์ ์„ ์ •๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.

 

โœ… ์žฅ์ 

  • ์ฟผ๋ฆฌ ์„ฑ๋Šฅ ํ–ฅ์ƒ
    • ์—ฌ๋Ÿฌ ํ…Œ์ด๋ธ”์„ JOINํ•˜์ง€ ์•Š๊ณ  ๋ฐ์ดํ„ฐ๋ฅผ ์ง์ ‘ ์กฐํšŒํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ, ์ฝ๊ธฐ ์„ฑ๋Šฅ์ด ํฌ๊ฒŒ ํ–ฅ์ƒ๋  ์ˆ˜ ์žˆ๋‹ค.
    • ๋น ๋ฅธ ๋ฐ์ดํ„ฐ ์กฐํšŒ๊ฐ€ ํ•„์š”ํ•œ ์‹œ์Šคํ…œ์—์„œ ์ข‹๋‹ค.
  • ๋‹จ์ˆœํ•œ ์ฟผ๋ฆฌ
    • ํ•˜๋‚˜์˜ ํ…Œ์ด๋ธ”๋งŒ ์กฐํšŒํ•˜๋Š” ๋‹จ์ˆœํ•œ ์ฟผ๋ฆฌ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์กฐํšŒํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ์ฟผ๋ฆฌ ์ž‘์„ฑ์ด ํŽธ๋ฆฌํ•ด์ง„๋‹ค.

โ›” ๋‹จ์ 

  • ๋ฐ์ดํ„ฐ ์ค‘๋ณต
    • ๋ฐ์ดํ„ฐ๋ฅผ ์ค‘๋ณต ์ €์žฅํ•˜๋ฏ€๋กœ, ๋ถˆํ•„์š”ํ•œ ์ •๋ณด๋„ ๋งŽ์•„์ ธ ์ €์žฅ๊ณต๊ฐ„์ด ๋‚ญ๋น„๋œ๋‹ค.
  • ์ด์ƒํ˜„์ƒ ์žฌ๋ฐœ
    • ๋ฐ์ดํ„ฐ ๊ฐฑ์‹  ์‹œ ๊ฐ™์€ ๊ฐ’์„ ์ง€๋‹Œ ๋ชจ๋“  ์œ„์น˜์—์„œ ๊ฐฑ์‹ ํ•ด์•ผ ํ•œ๋‹ค.
    • ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์‚ญ์ œํ•  ๋•Œ ์ค‘๋ณต๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ชจ๋‘ ์‚ญ์ œํ•˜์ง€ ์•Š์œผ๋ฉด ์ผ๋ถ€ ๋ฐ์ดํ„ฐ๊ฐ€ ๋‚จ์„ ์ˆ˜ ์žˆ๋‹ค.
    • ๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ, ์ผ๊ด€์„ฑ ↓
  • ์“ฐ๊ธฐ ์„ฑ๋Šฅ ์ €ํ•˜
    • ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ •ํ•  ๋•Œ ์ค‘๋ณต๋œ ๋ฐ์ดํ„ฐ ๋ชจ๋‘๋ฅผ ์ˆ˜์ •ํ•˜๋ฉฐ ์ž‘์—…์ด ์—ฌ๋Ÿฌ ๋ฒˆ ์ผ์–ด๋‚  ์ˆ˜ ์žˆ๋‹ค.
    • ๋ฐ์ดํ„ฐ ์‚ฝ์ž…, ์ˆ˜์ •, ์‚ญ์ œ๊ฐ€ ๋นˆ๋ฒˆํ•œ ์‹œ์Šคํ…œ์—์„œ๋Š” ์—ญ์ •๊ทœํ™”๋กœ ์„ฑ๋Šฅ์ด ์ €ํ•˜๋  ์ˆ˜ ์žˆ๋‹ค.

์ฐธ๊ณ ์ž๋ฃŒ

๐Ÿ“• Fundamentals of Database Systems, 2017, Ramez Elmasri and Shamkant B.Navathe
[Database] ์ •๊ทœํ™”(Normalization)๋ž€?
์œ„ํ‚ค๋ฐฑ๊ณผ ์ œ2์ •๊ทœํ˜•
์œ„ํ‚ค๋ฐฑ๊ณผ ์ œ3์ •๊ทœํ˜•
[DB] ์ •๊ทœํ™”, ์—ญ์ •๊ทœํ™”
+๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ „๊ณต ๊ฐ•์˜์™€ ์ฝ”๋“œ์ž‡ ์Šคํ”„๋ฆฐํŠธ ๊ฐ•์˜๋ฅผ ๋“ฃ๊ณ  ์ถ”๊ฐ€ ํ•™์Šตํ•œ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค.

๋ฐ˜์‘ํ˜•