๊ด€๋ฆฌ ๋ฉ”๋‰ด

Tech Log ๐Ÿ› ๏ธ

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ •๊ทœํ™”๋ž€(ํ•จ์ˆ˜ ์ข…์†,๊ฐœ๋…,์ข…๋ฅ˜) ๋ณธ๋ฌธ

Computer Science/๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ •๊ทœํ™”๋ž€(ํ•จ์ˆ˜ ์ข…์†,๊ฐœ๋…,์ข…๋ฅ˜)

sehaan 2024. 1. 13. 02:26

๋ฐฐ๊ฒฝ์ง€์‹ : ํ•จ์ˆ˜ ์ข…์†

๋‘ ํŠœํ”Œ์˜ X๊ฐ’์ด ๊ฐ™๋‹ค๋ฉด Y๊ฐ’๋„ ๊ฐ™์€ ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋‹ค. ์ฆ‰ X ๊ฐ’์— ๋”ฐ๋ผ์„œ Y์˜ ๊ฐ’์ด ๊ฒฐ์ •๋˜๋Š” ๊ฒƒ์ธ๋ฐ, X์™€ Y๋ฅผ์„ ํ•จ์ˆ˜ ์ข…์† ๊ด€๊ณ„๋ผ๊ณ  ํ•œ๋‹ค.

๊ด€์ ์— ๋”ฐ๋ผ์„œ X๊ฐ€ Y๋ฅผ ํ•จ์ˆ˜์ ์œผ๋กœ ๊ฒฐ์ •ํ•œ๋‹ค. ๋ผ๊ณ  ํ• ์ˆ˜๋„ ์žˆ๊ณ  Y๊ฐ€ X์— ํ•จ์ˆ˜์ ์œผ๋กœ ์˜์กดํ•œ๋‹ค. ๋ผ๊ณ  ํ‘œํ˜„ํ•  ์ˆ˜๋„ ์žˆ๋‹ค.

์ด๋Ÿฌํ•œ ๊ด€๊ณ„๋ฅผ ํ•จ์ˆ˜ ์ข…์† ํ˜น์€ Funtional Dependency(FD)๋ผ๊ณ  ํ•œ๋‹ค.

 

์˜ˆ๋ฅผ ๋“ค์–ด ์•„๋ž˜ ํ…Œ์ด๋ธ”์—์„œ๋Š” ํšŒ์›์ด๋ฆ„๊ณผ ํ”„๋กœ๊ทธ๋žจ์ด primary key์ด๋ฉฐ ์ด๋Š” ๊ฐ€๊ฒฉ์„ ๊ฒฐ์ •ํ•œ๋‹ค.

(ํšŒ์› ๋ฒˆํ˜ธ๊ฐ€ ์ข€ ๋” ์ž์—ฐ์Šค๋Ÿฝ์ง€๋งŒ ์„ค๋ช…์„ ์œ„ํ•ด ๋‹ค๋ฅธ ํ‚ค๋ฅผ ์˜ˆ์‹œ๋กœ ๋“ ๋‹ค.)

์ด ๋‘˜์„ FD ๊ด€๊ณ„๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ ๊ธฐํ˜ธ๋กœ๋Š” {ํšŒ์›์ด๋ฆ„,ํ”„๋กœ๊ทธ๋žจ} -> ๊ฐ€๊ฒฉ ์œผ๋กœ ํ‘œ์‹œํ•œ๋‹ค.

ํšŒ์›๋ฒˆํ˜ธ ํšŒ์›์ด๋ฆ„ ํ”„๋กœ๊ทธ๋žจ ๊ฐ€๊ฒฉ
101 ๋ฏผ์ˆ˜ ํ…Œ๋‹ˆ์Šค 5000
102 ์ฒ ์ˆ˜ ๋†๊ตฌ 7000
103 ์˜ํฌ ์ถ•๊ตฌ 4000
103 ์˜ํฌ ๋†๊ตฌ 7000

 

์—ฌ๊ธฐ์„œ ์ฃผ์˜ํ•  ์ ์€ FD๋ฅผ ํŒŒ์•…ํ• ๋•Œ๋Š” ์Šคํ‚ค๋งˆ์˜ ์˜๋ฏธ๋ฅผ ๋ณด๊ณ  ํŒŒ์•…ํ•ด์•ผํ•˜๋ฉฐ ํ…Œ์ด๋ธ”์˜ ๋ฐ์ดํ„ฐ๋“ค์„ ๋ณด๊ณ  ์ถ”๋ก ํ•ด์„œ๋Š” ์•ˆ๋œ๋‹ค.

์™œ๋ƒํ•˜๋ฉด ํšŒ์› ์ด๋ฆ„๊ณผ ๊ฐ€๊ฒฉ ๋ฐ์ดํ„ฐ๊ฐ€ FD์ฒ˜๋Ÿผ ๋ณด์ธ๋‹ค๊ณ  ์ƒ๊ฐํ•ด๋„ ๋™๋ช…์ด์ธ์ด๋ผ๋Š” ๋ณ€์ˆ˜๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ๊ณ  ์—ฌ๋Ÿฌ ์˜ˆ์™ธ ์ƒํ™ฉ๋“ค์ด ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

์ด๋ ‡๊ฒŒ ๊ตฌ์ถ•ํ•˜๋ ค๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์†์„ฑ(์• ํŠธ๋ฆฌ๋ทฐํŠธ)๊ฐ€ ๊ด€๊ณ„์ ์œผ๋กœ ์–ด๋–ค ์˜๋ฏธ๋ฅผ ์ง€๋‹์ง€์— ๋”ฐ๋ผ์„œ FD๋“ค์ด ๋‹ฌ๋ผ์ง„๋‹ค.

 

๋”ฐ๋ผ์„œ ๋ฐ์ดํ„ฐ(or state)๋งŒ ๋ณด๊ณ  ํŒ๋‹จํ•˜๊ธฐ๋ณด๋‹จ ์Šคํ‚ค๋งˆ๋ฅผ ๋ณด๊ณ  ์˜๋ฏธ์ ์œผ๋กœ ์กด์žฌํ•˜๋Š” ์ง€ ํŒŒ์•…ํ•ด์•ผํ•œ๋‹ค.

 

๋˜ ํ•œ๊ฐ€์ง€ ์ค‘์š”ํ•œ ์ ์€ FD๋Š” ์—ญ๊ด€๊ณ„๊ฐ€ ์„ฑ๋ฆฝํ•˜์ง€ ์•Š๋Š”๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.

X -> Y ๊ด€๊ณ„๋ผ๊ณ  ํ•ด์„œ Y->X๊ฐ€ ์„ฑ๋ฆฝํ•˜์ง€๋Š” ์•Š๋Š”๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด๋ณด๋ฉด ํ”„๋กœ๊ทธ๋žจ์ด ๊ฐ€๊ฒฉ์„ ๊ฒฐ์ •์ง“๋Š” ๋‹ค๊ณ  ํ•ด์„œ ๊ฐ€๊ฒฉ์ด ํ”„๋กœ๊ทธ๋žจ์„ ๊ฒฐ์ •ํ•˜๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค!

{ํ”„๋กœ๊ทธ๋žจ} -> ๊ฐ€๊ฒฉ (O)
{๊ฐ€๊ฒฉ} -> ํ”„๋กœ๊ทธ๋žจ (X)

 

*{}-> Y ๋Š” "Y์€ ์–ธ์ œ๋‚˜ ํ•˜๋‚˜์˜ ๊ฐ’๋งŒ์„ ๊ฐ€์ง„๋‹ค"๋Š” ์˜๋ฏธ์ด๋‹ค.

 

Trivial Funtional Dependcy

X -> Y์˜ ๊ด€๊ณ„์—์„œ Y๊ฐ€ X์˜ ๋ถ€๋ถ„ ์ง‘ํ•ฉ์ด๋ผ๋ฉด ์ด ๊ด€๊ณ„๋ฅผ Trivial Funtional Dependcy๋ผ๊ณ  ํ•œ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด, {a,b,c} -> {c} ๊ฐ™์ด c๊ฐ€ a,b,c์˜ ๋ถ€๋ถ„์ง‘ํ•ฉ์ธ ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋‹ค. 

๋ฐ˜๋Œ€์˜ ๊ฒฝ์šฐ๋กœ๋Š” ๋‹น์—ฐํžˆ non-Trivial Funtional Dependcy (์•„์˜ˆ ์•ˆ๊ฒน์น˜๋ฉด completely-non) ๊ฐ™์€ ๊ด€๊ณ„๊ฐ€ ์žˆ๋‹ค.

 

Partial Functional Dependency

X->Y์˜ ๊ด€๊ณ„์—์„œ X์˜ ๋ถ€๋ถ„์ง‘ํ•ฉ(์ „์ฒด๋ฅผ ์ œ์™ธํ•œ)๋งŒ์œผ๋กœ Y๋ฅผ ๊ฒฐ์ •์ง€์„ ์ˆ˜ ์žˆ๋‹ค๋ฉด ์ด๋ฅผ Partial Functional Dependency๋ผ๊ณ  ํ•œ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด, {a,b,c} -> {c} ์—์„œ {a} -> {c}๊ฐ€ ์„ฑ๋ฆฝํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ์žˆ๋‹ค. ๋ฐ˜๋Œ€์˜ ๊ฒฝ์šฐ๋Š” Full Funtional Dependcy๊ฐ€ ์žˆ๋‹ค.

 

DB ์ •๊ทœํ™”๋ž€

๋ฐ์ดํ„ฐ ์ค‘๋ณต๊ณผ insertion , update , deletion anomaly๋ฅผ ์ตœ์†Œํ™”ํ•˜๊ธฐ ์œ„ํ•ด ํ•จ์ˆ˜์˜ ์ข…์†์„ฑ์„ ์ด์šฉํ•ด์„œ relational DB๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๊ณผ์ •์ด๋‹ค.

 

์‚ฝ์ž…์ด์ƒ : ์ž๋ฃŒ๋ฅผ ์‚ฝ์ž…ํ•  ๋•Œ ์˜๋„์น˜ ์•Š์€ ์ž๋ฃŒ๊นŒ์ง€ ์‚ฝ์ž…ํ•ด์•ผํ•œ๋‹ค. (ex. null)

๊ฐฑ์‹ ์ด์ƒ : ์ค‘๋ณต๋œ ๋ฐ์ดํ„ฐ ์ค‘ ์ผ๋ถ€๋งŒ ์ˆ˜์ •๋˜์–ด ๋ชจ์ˆœ์ด ๋ฐœ์ƒํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

์‚ญ์ œ์ด์ƒ : ์–ด๋–ค ์ •๋ณด๋ฅผ ์‚ญ์ œํ•˜๋ฉด ์˜๋„์น˜ ์•Š์€ ๋‹ค๋ฅธ ์ •๋ณด๊นŒ์ง€ ์‚ญ์ œ๋œ๋‹ค.

 

์ •๊ทœํ™”๋ฅผ ์ง„ํ–‰ํ•˜๊ฒŒ ๋˜๋ฉด ๋ฐ์ดํ„ฐ ์ˆ˜์ • ์‹œ์— ์—ฌ๋Ÿฌ ์ด์ƒ ํ˜„์ƒ๋“ค์„ ์ค„์ผ ์ˆ˜ ์žˆ๊ณ , ํ™•์žฅ์— ์šฉ์ดํ•˜์—ฌ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๊ฐ€ ๋ณ€๊ฒฝ๋˜์–ด๋„ ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์ตœ์†Œํ•œ์˜ ์˜ํ–ฅ๋งŒ์„ ๋ฏธ์นœ๋‹ค.

 

์ •๊ทœํ˜•์—๋Š” ๋ช‡ ๋‹จ๊ณ„์˜ nf(normal forms)๊ฐ€ ์žˆ๋Š”๋ฐ ์ฒ˜์Œ ๋‹จ๊ณ„๋ถ€ํ„ฐ ์ˆœ์ฐจ์ ์œผ๋กœ ์ง„ํ–‰ํ•˜๋ฉฐ ์•ž ๋‹จ๊ณ„๋ฅผ ๋งŒ์กฑํ•ด์•ผ ๋‹ค์Œ ๋‹จ๊ณ„๋ฅผ ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค.

๋ณดํ†ต ์‹ค๋ฌด์—์„œ 3nf๊นŒ์ง€ ํ•˜๋ฉด ์ •๊ทœํ™”๋˜์—ˆ๋‹ค๋ผ๊ณ  ๋งํ•œ๋‹ค.

 

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

๋ชจ๋“  attribute์˜ value๋Š” ๋” ์ด์ƒ ๋‚˜๋ˆ ์งˆ ์ˆ˜ ์—†๋Š” ๊ฐ’์ด์–ด์•ผํ•œ๋‹ค. -> ์—ฌ๋Ÿฌ ๊ฐ’์„ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฉด ์•ˆ๋œ๋‹ค.

 

ํšŒ์›๋ฒˆํ˜ธ ํšŒ์›์ด๋ฆ„ ํ”„๋กœ๊ทธ๋žจ
101 ๋ฏผ์ˆ˜ ํ…Œ๋‹ˆ์Šค
102 ์ฒ ์ˆ˜ ๋†๊ตฌ
103 ์˜ํฌ ์ถ•๊ตฌ,๋†๊ตฌ

(์˜ˆ์‹œ ์ฐธ๊ณ : ์ฝ”๋”ฉ์• ํ”Œ)

 

์˜ํฌ์— ํ•ด๋‹นํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ ๋ฐ์ดํ„ฐ๊ฐ€ ๋‘ ๊ฐœ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฏ€๋กœ ์ด๋Š” ์ œ 1 ์ •๊ทœํ˜•์„ ์œ„๋ฐ˜ํ•œ๋‹ค.

 

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

๋ชจ๋“  non-prime attribute๋Š” ๋ชจ๋“  key์— ๋Œ€ํ•ด full funtional dependentํ•ด์•ผํ•œ๋‹ค.
(ํ˜„์žฌ ํ…Œ์ด๋ธ”๊ณผ ์ƒ๊ด€์—†๋Š” ์ปฌ๋Ÿผ๋“ค์„ ๋ถ„๋ฆฌํ•œ๋‹ค.)

 

์ œ 1 ์ •๊ทœํ˜•์„ ์ ์šฉํ•˜์˜€์œผ๋ฉด ์ด์ œ ์ œ 2 ์ •๊ทœํ˜•์„ ์ง„ํ–‰ํ•  ์ฐจ๋ก€์ด๋‹ค.

ํ˜„์žฌ ํ…Œ์ด๋ธ”์—์„œ๋Š” ํšŒ์› ์ •๋ณด์™€ ํ”„๋กœ๊ทธ๋žจ ์ •๋ณด๊ฐ€ ํ˜ผ์žฌํ•ด์žˆ๋‹ค. ์ด๋Ÿฐ ํ…Œ์ด๋ธ” ๊ตฌ์กฐ๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ๋ณ€๊ฒฝํ•ด์•ผํ•  ์‹œ์— ๋งค์šฐ ๋ฒˆ๊ฑฐ๋กœ์šธ ์ˆ˜ ์žˆ๋‹ค.

 

ํšŒ์›๋ฒˆํ˜ธ ํšŒ์›์ด๋ฆ„ ํ”„๋กœ๊ทธ๋žจ ๊ฐ€๊ฒฉ
101 ๋ฏผ์ˆ˜ ํ…Œ๋‹ˆ์Šค 5000
102 ์ฒ ์ˆ˜ ๋†๊ตฌ 7000
103 ์˜ํฌ ์ถ•๊ตฌ 4000
103 ์˜ํฌ ๋†๊ตฌ 7000

(์˜ˆ์‹œ ์ฐธ๊ณ : ์ฝ”๋”ฉ์• ํ”Œ)

 

์˜ˆ์‹œ์—์„œ๋Š” ๊ฐ€๊ฒฉ ์ปฌ๋Ÿผ์ด ํ”„๋กœ๊ทธ๋žจ์— partial funtional dependentํ•˜๋‹ค.

{ํšŒ์›์ด๋ฆ„,ํ”„๋กœ๊ทธ๋žจ} -> ๊ฐ€๊ฒฉ

{ํ”„๋กœ๊ทธ๋žจ} -> ๊ฐ€๊ฒฉ

primary key๊ฐ€ ํšŒ์›๋ฒˆํ˜ธ,ํ”„๋กœ๊ทธ๋žจ์ด์ง€๋งŒ ๊ฐ€๊ฒฉ์€ ํ”„๋กœ๊ทธ๋žจ ํ•˜๋‚˜๋งŒ์œผ๋กœ ๊ฒฐ์ •๋  ์ˆ˜ ์žˆ๋‹ค. -> ํ˜„์žฌ ํ…Œ์ด๋ธ”์— ์ƒ๊ด€ ์—†๋Š” ๋ฐ์ดํ„ฐ๊ฐ€ ๋“ค์–ด๊ฐ„ ๊ฒƒ์ด๋‹ค!

์ด ์ƒํ™ฉ์—์„œ ๊ฐ€๊ฒฉ์ด ๋ณ€๊ฒฝ๋จ์— ๋˜๋ฉด ์ปฌ๋Ÿผ์„ ์ผ์ผ์ด ์ˆ˜์ •ํ•ด์ฃผ์–ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋งค์šฐ ๋น„ํšจ์œจ์ ์ด๋‹ค. ๋”ฐ๋ผ์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ๋ถ„๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.

 

ํ”„๋กœ๊ทธ๋žจ ๊ฐ€๊ฒฉ
ํ…Œ๋‹ˆ์Šค 5000
๋†๊ตฌ 7000
์ถ•๊ตฌ 4000

 

์ด์ œ ๊ฐ€๊ฒฉ์€ ํ”„๋กœ๊ทธ๋žจ์— full functional dependencyํ•˜๋ฉฐ ํ”„๋กœ๊ทธ๋žจ ํ…Œ์ด๋ธ”์— ์—ฐ๊ด€์žˆ๋Š” ์ปฌ๋Ÿผ๋“ค๋งŒ ๋“ค์–ด๊ฐ€ ์žˆ๋‹ค.

๋งŒ์•ฝ ๊ฐ€๊ฒฉ์ด ์ˆ˜์ •๋œ๋‹ค๊ณ  ํ•˜๋”๋ผ๋„ ์ด ํ…Œ์ด๋ธ”์˜ ๊ฐ’๋งŒ ์ˆ˜์ •ํ•˜๋ฉด ๋˜๊ธฐ ๋•Œ๋ฌธ์— ํšจ์œจ์ ์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค.

 

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

๋ชจ๋“  non-prime attribute(ํ‚ค๋ฅผ ์ œ์™ธํ•œ)๋Š” ์–ด๋–ค key์—๋„ transitive FD(์ดํ–‰์  ํ•จ์ˆ˜ ์ข…์†) ํ•˜๋ฉด ์•ˆ๋œ๋‹ค.

 

transitive FD(์ดํ–‰์  ํ•จ์ˆ˜ ์ข…์†) ์ด๋ž€, X -> Y ์ด๊ณ  Y -> Z์ด๋ฉด X -> Z ์ธ ๊ฒฝ์šฐ์ด๋‹ค.

ํ”„๋กœ๊ทธ๋žจ ๊ฐ€๊ฒฉ ๊ฐ•์‚ฌ ์ „ํ™”๋ฒˆํ˜ธ
ํ…Œ๋‹ˆ์Šค 5000 ํ•œ์„์› 010-xxxx
๋†๊ตฌ 7000 ์ด์ง€์˜ 010-xxxx
์ถ•๊ตฌ 4000 ์ด๋ช…ํ•™ 010-xxxx

 

์ด ๊ฒฝ์šฐ์—๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ํ†ตํ•ด ๊ฐ•์‚ฌ๊ฐ€ ๊ฒฐ์ •๋˜๋Š”๋ฐ ๋™์‹œ์— ๊ฐ•์‚ฌ๊ฐ€ ์ „ํ™”๋ฒˆํ˜ธ ๋˜ํ•œ ๊ฒฐ์ •ํ•  ์ˆ˜ ์žˆ๋‹ค.

ํ”„๋กœ๊ทธ๋žจ -> ๊ฐ•์‚ฌ 

๊ฐ•์‚ฌ  -> ์ „ํ™”๋ฒˆํ˜ธ

=> ํ”„๋กœ๊ทธ๋žจ -> ์ „ํ™”๋ฒˆํ˜ธ ๊ฐ™์€ ์ดํ–‰์  ํ•จ์ˆ˜ ์ข…์†์ด ๋ฐœ์ƒํ•œ๋‹ค.

๋‹ค์Œ๊ณผ ๊ฐ™์€ ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๊ฐ•์‚ฌ๊ฐ€ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๊ณผ๋ชฉ์„ ๋‹ด๋‹นํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜์˜€์„ ๋•Œ ์ค‘๋ณต๋œ ๊ฐ•์‚ฌ๋Š” ์—ฌ๋Ÿฌ ๊ฐœ์ผ ๊ฒƒ์ด๋‹ค.

ํ”„๋กœ๊ทธ๋žจ ๊ฐ€๊ฒฉ ๊ฐ•์‚ฌ ์ „ํ™”๋ฒˆํ˜ธ
ํ…Œ๋‹ˆ์Šค 5000 ํ•œ์„์› 010-xxxx
ํ…Œ๋‹ˆ์Šค ์ž…๋ฌธ 3000 ํ•œ์„์› 010-xxxx
๋†๊ตฌ 7000 ์ด์ง€์˜ 010-xxxx
์ถ•๊ตฌ 4000 ์ด๋ช…ํ•™ 010-xxxx

 

๊ทธ๋ ‡๋‹ค๋ฉด ๋งŒ์•ฝ ํ•ด๋‹น ๊ฐ•์‚ฌ๊ฐ€ ์ „ํ™”๋ฒˆํ˜ธ๋ฅผ ๋ณ€๊ฒฝํ•˜์˜€์„ ๊ฒฝ์šฐ ์ผ์ผ์ด ๋ณ€๊ฒฝํ•ด์ฃผ์–ด์•ผ ํ•˜๋ฉฐ ์ด๋Š” ๊ฐฑ์‹  ์ด์ƒ์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค.

๋”ฐ๋ผ์„œ ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ•ด๋‹น ์ปฌ๋Ÿผ์„ ๋ถ„๋ฆฌํ•ด์คŒ์œผ๋กœ์จ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ๋‹ค.

๊ฐ•์‚ฌ ์ „ํ™”๋ฒˆํ˜ธ
ํ•œ์„์› 010-xxxx
์ด์ง€์˜ 010-xxxx
์ด๋ช…ํ•™ 010-xxxx

 

๋ณดํ†ต ์—ฌ๊ธฐ๊นŒ์ง€ ์˜ค๋ฉด ์ •๊ทœํ™” ๋˜์—ˆ๋‹ค๊ณ  ๋งํ•  ์ˆ˜ ์žˆ์ง€๋งŒ BCNF๊นŒ์ง€๋งŒ ๋” ์•Œ์•„๋ณด๋ ค๊ณ  ํ•œ๋‹ค.

 

BCNF

๋ชจ๋“  ์œ ํšจํ•œ non-trivial FD X -> Y ๋Š” X๊ฐ€ ์Šˆํผํ‚ค์—ฌ์•ผํ•œ๋‹ค.

 

๋งŒ์•ฝ ํ…Œ์ด๋ธ”์— ๊ฐ•์˜์‹ค ์ •๋ณด๊นŒ์ง€ ์ถ”๊ฐ€๋˜์—ˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ณด์ž 

ํ”„๋กœ๊ทธ๋žจ ๊ฐ€๊ฒฉ ๊ฐ•์‚ฌ ๊ฐ•์˜์‹ค
ํ…Œ๋‹ˆ์Šค 5000 ํ•œ์„์› 207ํ˜ธ
ํ…Œ๋‹ˆ์Šค ์ž…๋ฌธ 3000 ํ•œ์„์› 207ํ˜ธ
๋†๊ตฌ 7000 ์ด์ง€์˜ 211ํ˜ธ
์ถ•๊ตฌ 4000 ์ด๋ช…ํ•™ 213ํ˜ธ

 

์ด์ œ ๊ฐ•์˜์‹ค์„ ํ†ตํ•ด ํ•ด๋‹น ๊ฐ•์‚ฌ์˜ ์ •๋ณด๋ฅผ ์•Œ ์ˆ˜ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ ๊ตณ์ด ์ค‘๋ณต๋œ ๊ฐ•์‚ฌ์˜ ๋ฐ์ดํ„ฐ๋“ค์„ ๊ฐ€์ง€๊ณ  ์žˆ์–ด์•ผํ• ๊นŒ? ๋ผ๋Š” ์˜๋ฌธ์ด ๋“œ๋Š”๋ฐ ์ด์™€ ๊ด€๋ จ๋œ ๊ฐœ๋…์ด BCNF์ด๋‹ค.

 

ํ…Œ์ด๋ธ”์„ ๋ณด๋ฉด ๊ฐ•์˜์‹ค์„ ํ†ตํ•ด ํ˜„์žฌ ์–ด๋–ค ๊ฐ•์‚ฌ๊ฐ€ ๋ฐฐ์ •๋˜์—ˆ๋Š” ์ง€ ์•Œ ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ๊ฐ•์˜์‹ค -> ๊ฐ•์‚ฌ๋Š” non-trivial FD ๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค.

ํ•˜์ง€๋งŒ ๊ฐ•์˜์‹ค์€ ์Šˆํผํ‚ค๊ฐ€ ์•„๋‹ˆ๋ฏ€๋กœ BCNF๋ฅผ ์œ„๋ฐ˜ํ•œ๋‹ค.

๊ฐ•์˜์‹ค ๊ฐ•์‚ฌ
207ํ˜ธ ํ•œ์„์›
2011ํ˜ธ ์ด์ง€์˜
213ํ˜ธ ์ด๋ช…ํ•™

 

ํ…Œ์ด๋ธ”์„ ๋ถ„๋ฆฌํ•œ ๊ฒฐ๊ณผ ๊ฐ•์˜์‹ค์€ ์Šˆํผํ‚ค๊ฐ€ ๋˜์—ˆ๊ณ  ๋” ์ด์ƒ ์›๋ž˜ ํ…Œ์ด๋ธ”์— ์ค‘๋ณต๋œ ๊ฐ•์‚ฌ ๋ฐ์ดํ„ฐ๋ฅผ ๋„ฃ์ง€ ์•Š์•„๋„ ๋œ๋‹ค.

์ด๋ ‡๊ฒŒ ํ•ด๋‘๋ฉด BCNF๋ฅผ ์ง€ํ‚ค๋ฉด์„œ ์ค‘๋ณต๋œ ๋ฐ์ดํ„ฐ๋“ค์„ ์ตœ์†Œํ™” ํ•  ์ˆ˜ ์žˆ๋‹ค.