IT ์‚ฌ๋ฌผํ•จ ๐Ÿป ์ž์„ธํžˆ๋ณด๊ธฐ

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค9

๋ž˜๋ฆฌ๋ž˜๋ฆฌ 2022. 7. 17. 19:29

#๋ฆด๋ ˆ์ด์…˜ ์ •๊ทœํ™”

-๋ถ€์ฃผ์˜ํ•œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ค๊ณ„๋Š” ์ œ์–ดํ•  ์ˆ˜ ์—†๋Š” ๋ฐ์ดํ„ฐ ์ค‘๋ณต์„ ์•ผ๊ธฐํ•˜์—ฌ ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ๊ฐฑ์‹  ์ด์ƒ์„ ์œ ๋ฐœํ•œ๋‹ค.

 

-์ •๊ทœํ™” : ์ฃผ์–ด์ง„ ๋ฆด๋ ˆ์ด์…˜ ์Šคํ‚ค๋งˆ๋ฅผ ํ•จ์ˆ˜์  ์ข…์†์„ฑ๊ณผ ๊ธฐ๋ณธ ํ‚ค๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๋ถ„์„ํ•˜์—ฌ, ์›๋ž˜์˜ ๋ฆด๋ ˆ์ด์…˜์„ ๋ถ„ํ•ดํ•จ์œผ๋กœ์จ

์ค‘๋ณต๊ณผ ์„ธ ๊ฐ€์ง€ ๊ฐฑ์‹  ์ด์ƒ(์ˆ˜์ •์ด์ƒ, ์‚ฝ์ž…์ด์ƒ, ์‚ญ์ œ์ด์ƒ) ์„ ์ตœ์†Œํ™”ํ•œ๋‹ค.

 

-๊ฐฑ์‹  ์ด์ƒ update anomaly

1.์ˆ˜์ • ์ด์ƒ modification anomaly : ๋ฐ˜๋ณต๋œ ๋ฐ์ดํ„ฐ ์ค‘์— ์ผ๋ถ€๋งŒ ์ˆ˜์ •ํ•˜๋ฉด ๋ฐ์ดํ„ฐ์˜ ๋ถˆ์ผ์น˜๊ฐ€ ๋ฐœ์ƒ

2.์‚ฝ์ž… ์ด์ƒ insertion anomaly : ๋ถˆํ•„์š”ํ•œ ์ •๋ณด๋ฅผ ํ•จ๊ป˜ ์ €์žฅํ•˜์ง€ ์•Š๊ณ ๋Š” ์–ด๋–ค ์ •๋ณด๋ฅผ ์ €์žฅํ•˜๋Š” ๊ฒƒ์ด ๋ถˆ๊ฐ€๋Šฅ

3.์‚ญ์ œ ์ด์ƒ deletion anomaly : ์œ ์šฉํ•œ ์ •๋ณด๋ฅผ ํ•จ๊ป˜ ์‚ญ์ œํ•˜์ง€ ์•Š๊ณ ๋Š” ์–ด๋–ค ์ •๋ณด๋ฅผ ์‚ญ์ œํ•˜๋Š” ๊ฒƒ์ด ๋ถˆ๊ฐ€๋Šฅ

 

-๋ฆด๋ ˆ์ด์…˜ ๋ถ„ํ•ด

 

ํ•˜๋‚˜์˜ ๋ฆด๋ ˆ์ด์…˜์„ ๋‘ ๊ฐœ ์ด์ƒ์˜ ๋ฆด๋ ˆ์ด์…˜์œผ๋กœ ๋‚˜๋ˆ„๋Š” ๊ฒƒ

๋ฆด๋ ˆ์ด์…˜์˜ ๋ถ„ํ•ด๋Š” ํ•„์š”ํ•œ ๊ฒฝ์šฐ์—๋Š” ๋ถ„ํ•ด๋œ ๋ฆด๋ ˆ์ด์…˜๋“ค๋กœ ๋ถ€ํ„ฐ ์›๋ž˜์˜ ๋ฆด๋ ˆ์ด์…˜์„ ๋‹ค์‹œ ๋งˆ๋Š— ์ˆ˜ ์žˆ์Œ์„ ๋ณด์žฅํ•ด์•ผ ํ•œ๋‹ค๋Š” ์›์น™์„ ๊ธฐ๋ฐ˜

 

๋ฆด๋ ˆ์ด์…˜์˜ ๋ถ„ํ•ด๋Š” ๋ฆด๋ ˆ์ด์…˜์— ์กด์žฌํ•˜๋Š” ํ•จ์ˆ˜์  ์ข…์†์„ฑ์— ๊ด€ํ•œ ์ง€์‹์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ๋‹ค

 

-์ •๊ทœํ˜•์˜ ์ข…๋ฅ˜

์ œ1์ •๊ทœํ˜•

์ œ2์ •๊ทœํ˜•

์ œ3์ •๊ทœํ˜•

BCNF

์ œ4์ •๊ทœํ˜•

์ œ5์ •๊ทœํ˜•

 


 

#ํ•จ์ˆ˜์  ์ข…์†์„ฑ

-๊ฐœ์š”

์ •๊ทœํ™” ์ด๋ก ์˜ ํ•ต์‹ฌ

๊ฐฑ์‹  ์ด์ƒ๊ณผ ์ค‘๋ณต๋ฅผ ์ œ๊ฑฐํ•˜๊ธฐ ์œ„ํ•ด DB๋ฅผ ์„ค๊ณ„ํ•˜๋Š”๋ฐ ํ•„์ˆ˜์ 

ER๋‹ค์ด์–ด๊ทธ๋žจ์€ ๋ชจ๋“  ํ•จ์ˆ˜์  ์ข…์†์„ฑ์„ ๋‚˜ํƒ€๋‚ด์ง€ ๋ชปํ•œ๋‹ค.

๋ฆด๋ ˆ์ด์…˜์˜ ์†์„ฑ๋“ค์˜ ์˜๋ฏธ๋กœ๋ถ€ํ„ฐ ๊ฒฐ์ •๋œ๋‹ค

ํ•จ์ˆ˜์  ์ข…์†์„ฑ์€ ์ œ2์ •๊ทœํ˜•๋ถ€ํ„ฐ BCNF๊นŒ์ง€ ์ ์šฉ๋œ๋‹ค

 

-์™„์ „ ํ•จ์ˆ˜์  ์ข…์†์„ฑ FFD

์ฃผ์–ด์ง„ ๋ฆด๋ ˆ์ด์…˜ R์—์„œ ์• ํŠธ๋ฆฌ๋ทฐํŠธ B๊ฐ€ ์• ํŠธ๋ฆฌ๋ทฐํ„ฐ A์— ํ•จ์ˆ˜์ ์œผ๋กœ ์ข…์†ํ•˜๋ฉด์„œ

์• ํŠธ๋ฆฌ๋ทฐํŠธ A์˜ ์–ด๋– ํ•œ ์ง„๋ถ€๋ถ„ ์ง‘ํ•ฉ์—๋„ ํ•จ์ˆ˜์ ์œผ๋กœ ์ข…์†ํ•˜์ง€ ์•Š์œผ๋ฉด

์• ํŠธ๋ฆฌ๋ทฐํŠธ B๊ฐ€ ์• ํŠธ๋ฆฌ๋ทฐํŠธ A์— ์™„์ „ํ•˜๊ฒŒ ํ•จ์ˆ˜์ ์œผ๋กœ ์ข…์†ํ•œ๋‹ค๊ณ  ๋งํ•œ๋‹ค

 

-์ดํ–‰์  ํ•จ์ˆ˜์  ์ข…์†์„ฑ FD

A๊ฐ€ ๋ฆด๋ ˆ์ด์…˜์˜ ๊ธฐ๋ณธ ํ‚ค๋ผ๋ฉด ํ‚ค์˜ ์ •์˜์— ๋”ฐ๋ผ A -> B ์™€ A -> C๊ฐ€ ์„ฑ๋ฆฝ.

๋งŒ์ผ C๊ฐ€ A์™ธ์— B์—๋„ ํ•จ์ˆ˜์ ์œผ๋กœ ์ข…์†ํ•œ๋‹ค๋ฉด C๋Š” A์— ์ง์ ‘ ํ•จ์ˆ˜์ ์œผ๋กœ ์ข…์†ํ•˜๋ฉด์„œ B๋ฅผ ๊ฑฐ์ณ์„œ A์— ์ดํ–‰์ ์œผ๋กœ ์ข…์†

 

 

-๊ฒฐ์ •์ž determinant

์–ด๋–ค ์• ํŠธ๋ฆฌ๋ทฐํŠธ์˜ ๊ฐ’์€ ๋‹ค๋ฅธ ์• ํŠธ๋ฆฌ๋ทฐํŠธ์˜ ๊ฐ’์„ ๊ณ ์œ ํ•˜๊ฒŒ ๊ฒฐ์ • ํ•  ์ˆ˜ ์žˆ๋‹ค

 

 


#๋ฆด๋ ˆ์ด์…˜ ๋ถ„ํ•ด

ํ•˜๋‚˜์˜ ๋ฆด๋ ˆ์ด์…˜์„ ๋‘ ๊ฐœ ์ด์ƒ์˜ ๋ฆด๋ ˆ์ด์…˜์œผ๋กœ ๋‚˜๋ˆ„๋Š” ๊ฒƒ

 

๋ฆด์—์‹œ๋…€์„ ๋ถ„ํ•ดํ•˜๋ฉด ์ค‘๋ณต์ด ๊ฐ์†Œ๋˜๊ณ  ๊ฐฑ์‹  ์ด์ƒ์ด ์ค„์–ด๋“œ๋Š” ์žฅ์ ์ด ์žˆ์ง€๋งŒ

๋ฐ”๋žŒ์งํ•˜์ง€ ์•Š์€ ๋ฌธ์ œ๋“ค์„ ํฌํ•จํ•˜์—ฌ ๋ช‡ ๊ฐ€์ง€ ์ž ์žฌ์ ์ธ ๋ฌธ์ œ๋“ค์„ ์•ผ๊ธฐํ•  ์ˆ˜ ์žˆ์Œ

 

 

-๋ฌด์†์‹ค ๋ถ„ํ•ด

๋‘ ๋ฆด๋ ˆ์ด์…˜์„ ์กฐ์ธํ•˜๋ฉด ์›๋ž˜ ์ •๋ณด๋ฅผ ์™„์ „ํ•˜๊ฒŒ ์–ป์„ ์ˆ˜ ์žˆ๋”ฐ

๋‘ ๋ฆด๋ ˆ์ด์…˜์„ ์กฐ์ธํ•˜๋ฉด ์›๋ž˜์˜ ๋ฆด๋ ˆ์ด์…˜์— ๋“ค์–ด ์žˆ๋Š” ์ •๋ณด๋ฅผ ์™„์ „ํ•˜๊ฒŒ ์–ป์„ ์ˆ˜ ์žˆ๋Š” ๋ถ„ํ•ด๋ฅผ ๋ฌด์†์‹ค ๋ถ„ํ•ด๋ผ ํ•œ๋‹ค.

 

*์†์‹ค : ์ •๋ณด์˜ ์†์‹ค

 


1. ์ œ 1 ์ •๊ทœํ˜•

ํ•œ ๋ฆด๋ ˆ์ด์…˜ R์ด ์ œ1์ •๊ทœํ˜•์„ ๋งŒ์กฑํ•  ํ•„์š” ์ถฉ๋ถ„ ์กฐ๊ฑด์€ ๋ฆด๋ ˆ์ด์…˜ R์˜ ๋ชจ๋“  ์• ํŠธ๋ฆฌ๋ทฐํŠธ๊ฐ€ ์›์ž๊ฐ’ ๋งŒ์„ ๊ฐ–๋Š”๋‹ค๋Š” ๊ฒƒ

 

2. ์ œ 2 ์ •๊ทœํ˜•

ํ•œ ๋ฆด๋ ˆ์ด์…˜ R์ด ์ œ2์ •๊ทœํ˜•์„ ๋งŒ์กฑํ•  ํ•„์š” ์ถฉ๋ถ„ ์กฐ๊ฑด์€ ๋ฆด๋ ˆ์ด์…˜ R์ด ์ œ  1 ์ •๊ทœํ˜•์„ ๋งŒ์กฑํ•˜๋ฉด์„œ, ์–ด๋–ค ํ›„๋ณด ํ‚ค์—๋„ ์†ํ•˜์ง€ ์•Š๋Š” ๋ชจ๋“  ์• ํŠธ๋ฆฌ๋ทฐํŠธ๋“ค์ด R์˜ ๊ธฐ๋ณธ ํ‚ค์— ์™„์ „ํ•˜๊ฒŒ ํ•จ์ˆ˜์ ์œผ๋กœ ์ข…์†ํ•˜๋Š” ๊ฒƒ

 

3. ์ œ 3 ์ •๊ทœํ˜•

ํ•œ ๋ฆด๋ ˆ์ด์…˜ R์ด ์ œ3์ •๊ทœํ˜•์„ ๋งŒ์กฑํ•  ํ•„์š” ์ถฉ๋ถ„ ์กฐ๊ฑด์€ ๋ฆด๋ ˆ์ด์…˜ R์ด ์ œ2์ •๊ทœํ˜•์„ ๋งŒ์กฑํ•˜๋ฉด์„œ, ํ‚ค๊ฐ€ ์•„๋‹Œ ๋ชจ๋“  ์• ํŠธ๋ฆฌ๋ทฐํŠธ๊ฐ€ ๋ฆด๋ ˆ์ด์…˜ R์˜ ๊ธฐ๋ณธ ํ‚ค์— ์ดํ–‰์ ์œผ๋กœ ์ข…์†ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ

 

4. BCNF

ํ•œ ๋ฆด๋ ˆ์ด์…˜ R์ด BCNF๋ฅผ ๋งŒ์กฑํ•  ํ•„์š” ์ถฉ๋ถ„ ์กฐ๊ฑด์€ ๋ฆด๋ ˆ์ด์…˜ R์ด ์ œ3์ •๊ทœํ˜•์„ ๋งŒ์กฑํ•˜๊ณ  ๋ชจ๋“  ๊ฒฐ์ •์ž๊ฐ€ ํ›„๋ณด ํ‚ค์–ด์•ผํ•œ๋‹ค

 

 

 


#์—ญ ์ •๊ทœํ™”

์ •๊ทœํ™” ๋‹จ๊ณ„๊ฐ€ ์ง„ํ•ผ๋ ์ˆ˜๋ก ์ค‘๋ณต์ด ๊ฐ์†Œํ•˜๊ณ  ๊ฐฑ์‹  ์ด์ƒ๋„ ๊ฐ์†Œํ•œ๋‹ค

์ •๊ทœํ™”๊ฐ€ ์ง„์ „๋ ์ˆ˜๋ก ๋ฌด๊ฒฐ์„ฑ ์ œ์•ฝ์กฐ๊ฑด์„ ์‹œํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•œ ์ฝ”๋“œ์˜ ์–‘๋„ ๊ฐ์†Œํ•œ๋‹ค

 

๋ถ„ํ•ด๋˜๊ธฐ ์ „์˜ ๋ฆด๋ ˆ์ด์…˜์„ ๋Œ€์ƒ์œผ๋กœ ์งˆ์˜๋ฅผ ํ•  ๋•Œ๋Š” ์กฐ์ธ์ด ํ•„์š” ์—†์ง€๋งŒ

๋ถ„ํ•ด๋œ ๋ฆด๋ ˆ์ด์…˜์„ ๋Œ€์ƒ์œผ๋กœ ์งˆ์˜๋ฅผ ํ•  ๋•Œ๋Š” ๊ฐ™์€ ์ •๋ณด๋ฅผ ์–ป๊ธฐ ์œ„ํ•ด์„œ ๋ณด๋‹ค ๋งŽ์€ ๋ฆด๋ ˆ์ด์…˜๋“ค์„ ์ ‘๊ทผํ•ด์•ผ ํ•˜๋ฏ€๋กœ

์กฐ์ธ์˜ ํ•„์š”์„ฑ์ด ์ฆ๊ฐ€ํ•œ๋‹ค

 

๊ฒ€์ƒ‰์งˆ์˜๋“ค์˜ ์ˆ˜ํ–‰์†๋„๋ฅผ ๋†’์ด๊ธฐ ์œ„ํ•ด ์ด๋ฏธ ๋ถ„ํ•ด๋œ ๋‘ ๊ฐœ ์ด์ƒ์˜ ๋ฆด๋ ˆ์ด์…˜๋“ค์„ ํ•˜๋‚˜์˜ ๋ฆด๋ ˆ์ด์…˜์„ ๋งŒ๋“œ๋Š” ์ž‘์—…์„

์—ญ์ •๊ทœํ™”๋ผ๊ณ  ํ•œ๋‹ค.

 

 

*์ถœ์ฒ˜

์˜ค๋ผํด ๊ธฐ๋ฐ˜ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ฐฐ์›€ํ„ฐ (์ƒ๋Šฅ, ํ™์˜๊ฒฝ)

์˜ค๋ผํด 11g + PL/SQL ์ž…๋ฌธ (๋Œ€๋ฆผ, ์„ฑ์œค๊ฒฝ ์„œ๋™๋ฆฐ)