Data Modeling & ERD Diagram

1.๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง์ด๋ž€?

๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง์ด๋ž€ ์ •๋ณด์‹œ์Šคํ…œ ๊ตฌ์ถ•์˜ ๋Œ€์ƒ์ด ๋˜๋Š” ์—…๋ฌด ๋‚ด์šฉ์„ ๋ถ„์„ํ•˜์—ฌ ์ดํ•ดํ•˜๊ณ  ์•ฝ์†๋œ ํ‘œ๊ธฐ๋ฒ•์— ์˜ํ•ด ํ‘œํ˜„ ํ•˜๋Š”๊ฑธ ์˜๋ฏธํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด๋ ‡๊ฒŒ ๋ถ„์„๋œ ๋ชจ๋ธ์„ ๊ฐ€์ง€๊ณ  ์‹ค์ œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ๊ฐœ๋ฐœ ๋ฐ ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ์— ์‚ฌ์šฉ๋œ๋‹ค.

ํŠนํžˆ ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”์ƒํ™”ํ•œ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๊ณจ๊ฒฉ์„ ์ดํ•ดํ•˜๊ณ  ๊ทธ ์ดํ•ด๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ SQL ๋ฌธ์žฅ์„ ๊ธฐ๋Šฅ๊ณผ ์„ฑ๋Šฅ์ ์ธ ์ธก๋ฉด์—์„œ ํšจ์œจ์ ์œผ๋กœ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ค๊ณ„์˜ ํ•ต์‹ฌ๊ณผ์ •์ด๋ผ๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค.

2.๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง ์ˆœ์„œ ์ ˆ์ฐจ

2-1.์—…๋ฌด ํŒŒ์•…(์š”๊ตฌ์‚ฌํ•ญ ์ˆ˜์ง‘ ๋ฐ ๋ถ„์„)

์—…๋ฌด ํŒŒ์•…์€ ์–ด๋– ํ•œ ์—…๋ฌด๋ฅผ ์‹œ์ž‘ํ•˜๊ธฐ ์ „์— ํ•ด๋‹นํ•˜๋Š” ์—…๋ฌด์— ๋Œ€ํ•ด์„œ ํŒŒ์•…ํ•˜๋Š” ๋‹จ๊ณ„.

๋ชจ๋ธ๋ง์— ์•ž์„œ ๊ฐ€์ • ๋จผ์ € ํ•ด์•ผํ•  ๊ฒƒ์€ ์–ด๋– ํ•œ ์—…๋ฌด๋ฅผ ๋ฐ์ดํ„ฐํ™”ํ•˜์—ฌ ๋ชจ๋ธ๋ง ํ•  ๊ฒƒ์ธ์ง€์— ๋Œ€ํ•œ ์š”๊ตฌ์‚ฌํ•ญ ์ˆ˜์ง‘์ผ ๊ฒƒ์ด๋‹ค. ์—…๋ฌดํŒŒ์•…์„ ํ•˜๊ธฐ ์ข‹์€ ๋ฐฉ๋ฒ•์€ UI๋ฅผ ์˜๋ขฐ์ธ๊ณผ ํ•จ๊ป˜ ํ™•์ธํ•ด ๋‚˜๊ฐ€๋Š” ๊ฒƒ์ด๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ถ๊ทน์ ์œผ๋กœ ๋งŒ๋“ค์–ด์•ผ ํ•˜๋Š” ๊ฒƒ์ด ๋ฌด์—‡์ธ์ง€ ์•Œ์•„๋ณด์•„์•ผ ํ•œ๋‹ค.

์šฐ๋ฆฌ๊ฐ€ ํ”ํžˆ ์‚ฌ์šฉํ•˜๋Š” ๊ฒŒ์‹œํŒ (Okky) ์„ ์˜ˆ๋กœ ์‚ดํŽด๋ณด์ž

2-2 ๊ฐœ๋…์  ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง

๊ฐœ๋…์  ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง์€ ๋‚ด๊ฐ€ ํ•˜๊ณ ์ž ํ•˜๋Š” ์ผ์˜ ๋ฐ์ดํ„ฐ ๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ๊ตฌ์ƒํ•˜๋Š” ๋‹จ๊ณ„์ด๋‹ค. ๊ฐ ๊ฐœ์ฒด๋“ค๊ณผ ๊ทธ๋“ค๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ๋ฐœ๊ฒฌํ•˜๊ณ  ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•ด ERD ๋‹ค์ด์–ด๊ทธ๋žจ์„ ์‚ฌ์šฉํ•œ๋‹ค.

์—…๋ฌดํŒŒ์•… ๋‹จ๊ณ„์—์„œ ๊ฒฐ์ •ํ–ˆ๋˜ ๊ฒŒ์‹œํŒ ๋ฐ์ดํ„ฐ ๊ตฌ์ƒ์„ ๊ฐœ๋…์  ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋กœ ๊ตฌํ˜„ํ•œ ๊ฒƒ.

๊ฒŒ์‹œํŒ์—๋Š” ๋Œ€ํ‘œ์ ์œผ๋กœ ๊ฒŒ์‹œํŒ ์ด์šฉ์ž์˜ ํšŒ์› ์ •๋ณด, ๋กœ๊ทธ์ธ ์ •๋ณด, ๊ทธ๋ฆฌ๊ณ  ๊ฒŒ์‹œํŒ์˜ ๊ฒŒ์‹œ๊ธ€, ๋Œ“๊ธ€์ด ์žˆ๋‹ค.

2-3 ๋…ผ๋ฆฌ์  ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง

๊ฐœ๋…์ ์ธ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์ด ์™„์„ฑ๋˜๋ฉด, ๊ตฌ์ฒดํ™”๋œ ์—…๋ฌด ์ค‘์‹ฌ์˜ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์„ ๋งŒ๋“œ๋Š”๋ฐ, ์ด๊ฒƒ์„ ๋…ผ๋ฆฌ์ ์ธ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง์ด๋ผ๊ณ  ํ•œ๋‹ค. ์ด ๋‹จ๊ณ„์—์„œ ์—…๋ฌด์— ๋Œ€ํ•œ Key, ์†์„ฑ, ๊ด€๊ณ„๋“ฑ์„ ํ‘œ์‹œํ•˜๋ฉฐ, ์ •๊ทœํ™”๋ฅผ ์ˆ˜ํ–‰ํ•œ๋‹ค. ์ •๊ทœํ™”๋Š” ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์˜ ์ผ๊ด€์„ฑ์„ ํ™•๋ณดํ•˜๊ณ  ์ค‘๋ณต์„ ์ œ๊ฑฐํ•˜์—ฌ ์‹ ๋ขฐ์„ฑ์žˆ๋Š” ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ์–ป๋Š”๋ฐ ๋ชฉ์ ์ด ์žˆ๋‹ค.

์ด๋•Œ, ๋‹จ์ˆœํžˆ ์ถ”์ƒ์ ์ธ ๋ฐ์ดํ„ฐ์—์„œ ๋ณด๋‹ค ๊ตฌ์ฒดํ™”ํ•œ ๋ฐ์ดํ„ฐ๋กœ ์ž‘์„ฑํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ํšŒ์›์ •๋ณด์˜ ์•„์ด๋””, ๋น„๋ฐ€๋ฒˆํ˜ธ์— ๊ฐ ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ๋ช…์‹œํ•˜๊ณ , ๊ฐ ๋ฐ์ดํ„ฐ๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ์ •๋ฐ€ํ•˜๊ฒŒ ๋งบ์–ด์ฃผ๋ฉฐ ํ…Œ์ด๋ธ”์˜ ํ‚ค(Key)๋ฅผ ์ง€์ •ํ•ด์ค€๋‹ค.

2-4 ๋ฌผ๋ฆฌ์  ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง

๋ฌผ๋ฆฌ์  ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง์€ ์ตœ์ข…์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ๊ด€๋ฆฌํ•  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์„ ํƒํ•˜๊ณ , ์„ ํƒํ•œ ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค์— ์‹ค์ œ ํ…Œ์ด๋ธ”์„ ๋งŒ๋“œ๋Š” ์ž‘์—…์„ ๋งํ•œ๋‹ค. ์‹œ๊ฐ์ ์ธ ๊ตฌ์กฐ๋ฅผ ๋งŒ๋“ค์—ˆ์œผ๋ฉด ๊ทธ๊ฒƒ์„ ์‹ค์ œ๋กœ SQL ๋กœ ์™„์„ฑํ•˜๋Š” ๋‹จ๊ณ„๋ผ๊ณ  ๋ณด๋ฉด ๋œ๋‹ค.

๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง ์ ˆ์ฐจ ์ •๋ฆฌ

1. ๊ฒŒ์‹œํŒ์˜ ํ™”๋ฉด์— ์–ด๋– ํ•œ ๊ฒƒ๋“ค์ด ํ•„์š”ํ•œ์ง€์— ๋Œ€ํ•œ ๊ฐœ๋…์„ ์žก๊ธฐ (์š”๊ตฌ์‚ฌํ•ญ ์ˆ˜์ง‘)

2.๊ฒŒ์‹œํŒ์˜ ํ™”๋ฉด์— ํ‘œํ˜„๋˜๋Š” ๋ฐ์ดํ„ฐ๋ฅผ ํŒŒ์•…ํ•ด ๊ด€๊ณ„๋ฅผ ์„ค์ •(๊ฐœ๋…์  ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง)

3.๊ฐœ๋…์  ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง ํ•œ ๊ฒƒ์„ ํ‘œ๋กœ ๋งŒ๋“ค๊ธฐ (๋…ผ๋ฆฌ์  ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง)

4.์‹ค์ œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ…Œ์ด๋ธ”๋กœ ๋งŒ๋“ค๊ธฐ (๋ฌผ๋ฆฌ์  ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง)

3. ERD ๊ทธ๋ฆฌ๊ธฐ

ERD (Entity Relationship Diagram)๋Š” ๋‹จ์–ด์—์„œ ์˜๋ฏธํ•˜๋Š” ๊ทธ๋Œ€๋กœ 'Entity ๊ฐœ์ฒด'์™€ 'Relationship๊ด€๊ณ„'๋ฅผ ์ค‘์ ์ ์œผ๋กœ ํ‘œ์‹œํ•˜๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ตฌ์กฐ๋ฅผ ํ•œ ๋ˆˆ์— ์•Œ์•„๋ณด๊ธฐ ์œ„ํ•ด ๊ทธ๋ ค๋†“๋Š” ๋‹ค์ด์–ด๊ทธ๋žจ์ด๋‹ค. ๊ฐœ์ฒด ๊ด€๊ณ„๋„๋ผ๊ณ ๋„ ๋ถˆ๋ฆฌ๋ฉฐ ์š”๊ตฌ๋ถ„์„์‚ฌํ•ญ์—์„œ ์–ป์€ ์—”ํ‹ฐํ‹ฐ์™€ ์†์„ฑ๋“ค์˜ ๊ด€๊ณ„๋ฅผ ๊ทธ๋ฆผ์œผ๋กœ ํ‘œํ˜„ํ•œ ๊ฒƒ์ด๋‹ค.

์—”ํ‹ฐํ‹ฐ(Entity)

  • ์—”ํ‹ฐํ‹ฐ๋Š” ์ •์˜ ๊ฐ€๋Šฅํ•œ ์‚ฌ๋ฌผ ๋˜๋Š” ๊ฐœ๋…์„ ์˜๋ฏธํ•œ๋‹ค.

  • ์‚ฌ๋žŒ๋„ ๋ ์ˆ˜ ์žˆ์œผ๋ฉฐ ํ”„๋กœํ•„์ด๋‚˜ ๋„์„œ์ •๋ณด์™€ ๊ฐ™์€ ๋ฌดํ˜•์˜ ์ •๋ณด๋„ ๋ฐ์ดํ„ฐํ™”๊ฐ€ ๊ฐ€๋Šฅํ•˜๋‹ค.

  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ํ…Œ์ด๋ธ”์ด ์—”ํ‹ฐํ‹ฐ๋กœ ํ‘œํ˜„๋œ๋‹ค๊ณ  ๋ณด๋ฉด ๋œ๋‹ค.

  • ์˜ˆ๋ฅผ๋“ค์–ด ํ•™์ƒ Entity๋Š” ์•„๋ž˜์˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด ํ‘œํ˜„๋œ๋‹ค.

์—”ํ‹ฐํ‹ฐ ์†์„ฑ(Attribute)

  • ์—”ํ‹ฐํ‹ฐ์—๋Š” ๊ฐœ์ฒด๊ฐ€ ๊ฐ–๊ณ ์žˆ๋Š” ์†์„ฑ(Attribute)์„ ํฌํ•จํ•œ๋‹ค.

  • ์˜ˆ๋ฅผ๋“ค์–ด ํ•™์ƒ ์—”ํ‹ฐํ‹ฐ๋ผ๋ฉด, ํ•™๋ฒˆ, ์ด๋ฆ„, ์ฃผ์†Œ, ์ „๊ณต ..๋“ฑ ์†์„ฑ๋“ค์ด ์žˆ๋‹ค.

  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ํ…Œ์ด๋ธ”์˜ ๊ฐ ํ•„๋“œ(์ปฌ๋Ÿผ)๋“ค์ด ์—”ํ‹ฐํ‹ฐ ์†์„ฑ์ด๋ผ๊ณ  ๋ณด๋ฉด ๋œ๋‹ค.

์—”ํ‹ฐํ‹ฐ ๋„๋ฉ”์ธ(Domain)

  • ๋„๋ฉ”์ธ์€ ์†์„ฑ์˜ ๊ฐ’, ํƒ€์ž…, ์ œ์•ฝ์‚ฌํ•ญ ๋“ฑ์— ๋Œ€ํ•œ ๊ฐ‘์˜ ๋ฒ”์œ„๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

  • ์‚ฌ์šฉ์ž ๊ธฐํ˜ธ์— ๋”ฐ๋ผ ์†์„ฑ ํƒ€์ž…๋งŒ ๊ทธ๋ฆด์ˆ˜๋„ ์žˆ๊ณ , ๊ฐ€๋…์„ฑ์„ ์œ„ํ•ด์„œ ์ƒ๋žตํ•  ์ˆ˜๋„ ์žˆ๋‹ค.

  • ์ด๋•Œ ๋ฐ์ดํ„ฐ ํƒ€์ž…์„ ๋ช…์‹œํ• ๋•Œ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ์ง€์›ํ•˜๋Š” ํƒ€์ž…์— ๋งž๊ฒŒ ํ•ด์•ผํ•œ๋‹ค.

์—”ํ‹ฐํ‹ฐ ๋ถ„๋ฅ˜

  • ์—”ํ‹ฐํ‹ฐ๋Š” ์ €์žฅํ•˜๋Š” ๋ฐ์ดํ„ฐ ์ •๋ณด ์ฃผ์ œ์— ๋”ฐ๋ผ ์ข…๋ฅ˜๊ฐ€ ๋‹ค์–‘ํ•˜๋‹ค.

  • ๊ณ ๊ฐ ์ •๋ณด๊ฐ™์€ ์‹ค์ œ๋กœ ๋ฌผ๋ฆฌ์ ์ธ ํ˜•ํƒœ๋กœ ์žˆ๋Š” ์ •๋ณด์™€ ๊ตฌ๋งค ์ด๋ ฅ๊ฐ™์€ ๋ฌดํ˜•์ ์ด๊ณ  ๊ฐœ๋…์ ์ธ ์ •๋ณด๊ฐ€ ์žˆ๋‹ค.

  • ์ด ์—”ํ‹ฐํ‹ฐ ๋ถ„๋ฅ˜ ๊ตฌ๋ถ„์„ ์ž˜ ํ•ด์ฃผ์–ด์•ผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ค๊ณ„์— ์žˆ์–ด ๊ฐ ๋ฐ์ดํ„ฐ ์ฃผ์ œ์— ๋งž๊ฒŒ ๋ชจ๋ธ๋ง์„ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ๋‹ค.

๋‹ค์Œ์€ ์œ„์—์„œ ๋งŒ๋“  ํ•™์ƒ ์—”ํ‹ฐํ‹ฐ์— ํ•™์ƒ๋ณ„ ์ทจ๋ฏธ๋ฅผ ํ‘œํ˜„ํ•˜๋Š” ์—”ํ‹ฐํ‹ฐ๋ฅผ ์ถ”๊ฐ€ํ•˜์˜€๋‹ค. ํ•™์ƒ ์—”ํ‹ฐํ‹ฐ๋Š” ์œ ํ˜• ์—”ํ‹ฐํ‹ฐ์— ์†ํ•˜์—ฌ, ํ•™์ƒ๋ณ„ ์ทจ๋ฏธ๋Š” ๋ฌดํ˜• ์—”ํ‹ฐํ‹ฐ์— ์†ํ•˜๊ฒŒ ๋œ๋‹ค.

ERD ํ‚ค์™€ ์ œ์•ฝ ์กฐ๊ฑด ํ‘œ๊ธฐ๋ฒ•

์ฃผ์‹๋ณ„์ž(PK)

  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ…Œ์ด๋ธ”์˜ Primary Key๋ฅผ ํ‘œํ˜„

  • ์ค‘๋ณต์ด ์—†๊ณ  NULL ๊ฐ’์ด ์—†๋Š” ์œ ์ผํ•œ ๊ฐ’์— ์ง€์ •ํ•˜๋Š” ์‹๋ณ„์ž

  • ์•„๋ž˜ ๊ทธ๋ฆผ๊ณผ ๊ฐ™์ด โ—† ๋‹ค์ด์•„๋ชฌ๋“œ๋กœ ํ‘œํ˜„ํ•˜๊ธฐ๋„ ํ•˜๊ณ  ์•„๋‹ˆ๋ฉด ์—ด์‡ ๋กœ๋„ ํ‘œํ˜„ํ•˜๊ธฐ๋„ ํ•œ๋‹ค.

  • ๊ทธ๋ฆฌ๊ณ  ์ฃผ ์‹๋ณ„์ž๋Š” ์œ ์ผํ•œ ์†์„ฑ์ด๋ฏ€๋กœ ๋‹ค๋ฅธ ์†์„ฑ๊ณผ์˜ ๋ช…ํ™•ํ•œ ๊ตฌ๋ถ„์„ ์œ„ํ•ด ๊ตฌ๋ถ„์„ ์„ ๋‘๊ธฐ๋„ ํ•œ๋‹ค.

NOT NULL

  • ํ•ด๋‹น ์†์„ฑ์— ๋“ค์–ด๊ฐˆ ๊ฐ’์— Null ์„ ๋น„ํ—ˆ์šฉํ•œ๋‹ค๋ฉด, N ํ˜น์€ NN์„ ์ ๋Š”๋‹ค.

  • ๋งŒ์ผ Null ํ—ˆ์šฉํ•œ๋‹ค๋ฉด N์„ ์ ์ง€ ์•Š๋Š”๋‹ค.

์™ธ๋ž˜ ์‹๋ณ„์ž(FK)

  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ…Œ์ด๋ธ”์˜ Foreign Key๋ฅผ ํ‘œํ˜„

  • ์™ธ๋ž˜ ์‹๋ณ„์ž ์—ญ์‹œ key์˜ ์ผ์ข…์ด๋ผ ERD ์—”ํ‹ฐํ‹ฐ์—๋„ ์—ด์‡  ์•„์ด์ฝ˜์œผ๋กœ ํ‘œ์‹œํ•œ๋‹ค. (ํ”„๋กœ๊ทธ๋žจ์— ๋”ฐ๋ผ ๋‹ค๋ฅผ ์ˆ˜ ์žˆ๋‹ค)

  • ์™ธ๋ž˜ ์‹๋ณ„์ž๋ฅผ ํ‘œ์‹œํ•  ๋•Œ์—๋Š” ์„ ์„ ์ด์–ด์ฃผ๋Š”๋ฐ ๊ฐœ์ฒด์™€ ๊ด€๊ณ„๋ฅผ ๋”ฐ์ ธ ํ‘œ์‹œํ•œ๋‹ค.

ERD ์—”ํ‹ฐํ‹ฐ ๊ด€๊ณ„ ํ‘œ๊ธฐ๋ฒ•

๊ฐ ์—”ํ‹ฐํ‹ฐ ์œ ํ˜•๋“ค์„ ๋งŒ๋“ค์—ˆ์œผ๋ฉด, ์—”ํ‹ฐํ‹ฐ ๋ผ๋ฆฌ ๊ด€๊ณ„๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ ์„ ์„ ์ด์–ด ๊ด€๊ณ„๋ฅผ ๋งบ์–ด์•ผ ํ•œ๋‹ค. ์—”ํ‹ฐํ‹ฐ ๋ผ๋ฆฌ ๊ด€๊ณ„ ์„ ์„ ๊ทธ์„๋•Œ ์‹ค์„ ์œผ๋กœ ๊ทธ์„์ง€ ์ ์„ ์œผ๋กœ ๊ทธ์„์ง€ ๋‚˜๋‰˜๋Š”๋ฐ, ๋‘ ์—”ํ‹ฐํ‹ฐ ๊ด€๊ณ„์—์„œ ๋ถ€๋ชจ์˜ ํ‚ค๋ฅผ ์ž์‹์—์„œ PK๋กœ ์‚ฌ์šฉํ•˜๋Š”์ง€ ์ผ๋ฐ˜ ์†์„ฑ์œผ๋กœ ์‚ฌ์šฉํ•˜์ง€์— ๋”ฐ๋ผ์„œ ํ‘œ๊ธฐ๊ฐ€ ๋‹ค๋ฅด๊ฒŒ ๋œ๋‹ค.

์‹ค์„ ์œผ๋กœ ๊ทธ์œผ๋ฉด ๊ฐ•ํ•œ ๊ด€๊ณ„๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๊ฒƒ์ด๋ฉฐ '์‹๋ณ„์ž ๊ด€๊ณ„'๋ผ๊ณ  ๋ถˆ๋ฆฌ์šฐ๋ฉฐ, ์ ์„ ์œผ๋กœ ๊ทธ์œผ๋ฉด ์•ฝํ•œ ๊ด€๊ณ„๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๊ฒƒ์ด๋ฉฐ '๋น„์‹๋ณ„์ž ๊ด€๊ณ„'๋ผ๊ณ  ๋ถˆ๋ฆฌ์šฐ๊ฒŒ ๋œ๋‹ค.

์‹๋ณ„์ž ๊ด€๊ณ„

  • ์‹ค์„ ์œผ๋กœ ํ‘œํ˜„

  • ๋ถ€๋ชจ ์ž์‹ ๊ด€๊ณ„์—์„œ ์ž์‹์ด ๋ถ€๋ชจ์˜ ์ฃผ ์‹๋ณ„์ž๋ฅผ ์™ธ๋ž˜ ์‹๋ณ„์ž๋กœ ์ฐธ์กฐํ•ด์„œ ์ž์‹ ์˜ ์ฃผ ์‹๋ณ„์ž๋กœ ์„ค์ •

  • ์•„๋ž˜ ๊ทธ๋ฆผ์—์„  ์ž์‹ ์—”ํ‹ฐํ‹ฐ(ํ•™์ƒ๋ณ„ ์ทจ๋ฏธ)๊ฐ€ ๋ถ€๋ชจ ์—”ํ‹ฐํ‹ฐ(ํ•™์ƒ)์˜ ํ•™๋ฒˆ์„ ์ž์‹ ์˜ ์ฃผ ์‹๋ณ„์ž๋กœ ์„ค์ •ํ•˜์˜€๋‹ค.

๋น„์‹๋ณ„์ž ๊ด€๊ณ„

  • ์ ์„ ์œผ๋กœ ํ‘œํ˜„

  • ๋ถ€๋ชจ ์ž์‹ ๊ด€๊ณ„์—์„œ ์ž์‹์ด ๋ถ€๋ชจ์˜ ์ฃผ ์‹๋ณ„์ž๋ฅผ ์™ธ๋ž˜ ์‹๋ณ„์ž๋กœ ์ฐธ์กฐํ•ด์„œ ์ผ๋ฐ˜ ์†์„ฑ์œผ๋กœ ์‚ฌ์šฉ.

  • ์•„๋ž˜ ๊ทธ๋ฆผ์—์„  ์ž์‹ ์—”ํ‹ฐํ‹ฐ(์‚ฌ์›์ •๋ณด)๊ฐ€ ๋ถ€๋ชจ ์—”ํ‹ฐํ‹ฐ(๋ถ€์„œ์ •๋ณด)์˜ ๋ถ€์„œ์ฝ”๋“œ๋ฅผ ์ผ๋ฐ˜ ์†์„ฑ์œผ๋กœ ๋‘์—ˆ๋‹ค.

ERD ๊ด€๊ณ„์˜ ์นด๋””๋„๋ฆฌํ‹ฐ

๊ด€๊ณ„๊ฐ€ ์กด์žฌํ•˜๋Š” ๋‘ entity์‚ฌ์ด์— ํ•œ entity์—์„œ ๋‹ค๋ฅธ entity ๋ช‡๊ฐœ์˜ ๊ฐœ์ฒด์™€ ๋Œ€์‘๋˜๋Š”์ง€ ์ œ์•ฝ์กฐ๊ฑด์„ ํ‘œ๊ธฐํ•˜๊ธฐ์œ„ํ•ด ์„ ์„ ๊ทธ์–ด ํ‘œํ˜„ํ•œ๋‹ค. ๋Œ€ํ‘œ์ ์œผ๋กœ Mapping Cardinality์˜ ์ข…๋ฅ˜๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

ํ•˜์ง€๋งŒ ERD ๋‹ค์ด์–ด๊ทธ๋žจ์— ์œ„์™€๊ฐ™์ด ์„  ๋“ค์„ ๋ง‰ ๊ธ‹๋Š”๋‹ค๋ฉด ๊ฐ€๋…์„ฑ์ด ๋งค์šฐ ์•ˆ์ข‹์•„์ง€๊ณ  ํ‘œ๊ฐ€ ๋”๋Ÿฌ์›Œ์ง€๊ธฐ ๋•Œ๋ฌธ์—, ์ด๋Ÿฌํ•œ ์—”ํ‹ฐํ‹ฐ๊ฐ„์˜ 1 ๋Œ€ ๋‹ค์˜ ๊ด€๊ณ„๋ฅผ ํ‘œ๊ธฐ ํ•˜๊ธฐ ์œ„ํ•ด ERD์—์„œ๋Š” ์„ ์˜ ๋ ๋ชจ์–‘์„ ๋‹ค๋ฅด๊ฒŒ ํ‘œ์‹œํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•œ๋‹ค.

One-to-One Cardinality (1:1 ๊ด€๊ณ„)

  • ํ•™์ƒ ์‹ ์ฒด์ •๋ณด๋Š” 1:1๋กœ ๋งค์นญ๋œ๋‹ค.

  • ํ•œ๋ช…์˜ ํ•™์ƒ์€ ํ•˜๋‚˜์˜ ์‹ ์ฒด์ •๋ณด๋ฅผ ๊ฐ–๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

One-to-Many Cardinality (1:N ๊ด€๊ณ„)

  • ํ•œ๋ช…์˜ ํ•™์ƒ์€ ์—ฌ๋Ÿฌ๊ฐœ์˜ ์ทจ๋ฏธ๋ฅผ ๊ฐ€์งˆ์ˆ˜๋„ ์žˆ๋‹ค.

Many-to-Many Cardinality (M:N ๊ด€๊ณ„)

  • ์ œํ’ˆ ์—”ํ‹ฐํ‹ฐ ์ž…์žฅ์—์„œ, TV ์ œํ’ˆ์€ ๋Œ€์šฐ ํ‹ฐ๋น„, ์‚ผ์„ฑ ํ‹ฐ๋น„, ์• ํ”Œ ํ‹ฐ๋น„ ๊ฐ™์€ ์—ฌ๋Ÿฌ ์ œ์กฐ์—…์ฒด ์ œํ’ˆ์ด ์žˆ์„ ์ˆ˜ ์žˆ๋‹ค.์ด๋Š” ๋ƒ‰์žฅ๊ณ ๋‚˜ ์„ธํƒ๊ธฐ๋„ ๋งˆ์ฐฌ๊ฐ€์ง€์ด๋‹ค.

  • ์—ฌ๋Ÿฌ ๊ธฐ์—…์—์„œ ์ž์‹  ๋งŒ์˜ ์ƒํ‘œ๋ฅผ ์ƒ์‚ฐํ•œ๋‹ค. ์ œ์กฐ์—…์ฒด ์—”ํ‹ฐํ‹ฐ ์ž…์žฅ์—์„œ, ์‚ผ์„ฑ ์ œ์กฐ์—…์ฒด๋Š” ์„ธํƒ๊ธฐ๋งŒ ์ƒ์‚ฐํ•˜๋Š”๊ฒŒ ์•„๋‹ˆ๋ผ MP3๋„ ๊ฐ™์ด ์ƒ์‚ฐํ•œ๋‹ค.์‹ค์ œ๋กœ ์‚ผ์„ฑ์ด๋‚˜ ์• ํ”Œ ํšŒ์‚ฌ๋Š” ๊ฐ€์ „์ œํ’ˆ, ์Šค๋งˆํŠธํฐ, ์ „์ž๊ธฐ๊ธฐ ๋“ฑ ์—ฌ๋Ÿฌ ์ข…๋ฅ˜์˜ ์ œํ’ˆ์„ ์ƒ์‚ฐํ•œ๋‹ค.

  • ๋”ฐ๋ผ์„œ ์ œํ’ˆ๊ณผ ์ œ์กฐ์—…์ฒด ๊ด€๊ณ„๋Š” ๋‹ค ๋Œ€ ๋‹ค ๊ด€๊ณ„ ๋œ๋‹ค.

Many-to-Many Cardinality ๊ด€๊ณ„์˜ ํ•ด์†Œ

  • ๊ทธ๋Ÿฐ๋ฐ ๋‘ ์—”ํ‹ฐํ‹ฐ๊ฐ€ ๋‹ค ๋Œ€ ๋‹ค ๊ด€๊ณ„์— ์žˆ๋Š” ๊ฒฝ์šฐ, ๋‘๊ฐœ์˜ ์—”ํ‹ฐํ‹ฐ๋งŒ์œผ๋กœ๋Š” ์„œ๋กœ๋ฅผ ํ‘œํ˜„ํ•˜๋Š”๋ฐ ๋ถ€์กฑํ•˜๋‹ค.

  • ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง์—์„œ๋Š” M:N ๊ด€๊ณ„๋ฅผ ์™„์„ฑ๋˜์ง€ ์•Š์€ ๋ชจ๋ธ๋กœ ๊ฐ„์ฃผํ•˜์—ฌ, ๋‘ ์—”ํ‹ฐํ‹ฐ์˜ ๊ด€๊ณ„๋ฅผ 1:N, N:1 ๋กœ ์กฐ์ •ํ•˜๋Š” ์ž‘์—…์ด ํ•„์š”ํ•˜๋‹ค.

  • ๋”ฐ๋ผ์„œ ๋‘ ์—”ํ‹ฐํ‹ฐ์˜ ๊ด€๋ จ์„ฑ์„ ํ‘œํ˜„ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์ค‘๊ฐ„์— ๋˜ ๋‹ค๋ฅธ ์—”ํ‹ฐํ‹ฐ๋ฅผ ํ•„์š”๋กœ ํ•œ๋‹ค. ์ด ์ค‘๊ฐ„ ์—”ํ‹ฐํ‹ฐ(์—…์ฒด๋ณ„ ์ œํ’ˆ)๊ฐ€ ๋‘ ์—”ํ‹ฐํ‹ฐ์˜ ๊ณต์œ  ์†์„ฑ ์—ญํ• ์„ ํ•˜๊ฒŒ ๋œ๋‹ค.

  • ์ด ๋ถ€๋ถ„์€ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง์—์„œ ๊ณต์‹ ์ฒ˜๋Ÿผ ์ ์šฉ๋˜๋Š” ๊ทœ์น™์ด๋ฉฐ, ERD ํ”„๋กœ๊ทธ๋žจ์—์„œ M:N์„ ์žก๊ฒŒ ๋œ๋‹ค๋ฉด ์ž๋™์œผ๋กœ ์•„๋ž˜์™€ ๊ฐ™์ด ์กฐ์ • ์ž‘์—…์ด ํ–‰ํ•ด์ง€๊ฒŒ ๋œ๋‹ค.

ERD ๊ด€๊ณ„์˜ ์ฐธ์—ฌ๋„

  • ๊ด€๊ณ„์„  ๊ฐ ์ธก์˜ ๋์ž๋ฝ์— ๊ธฐํ˜ธ๋ฅผ ํ‘œ์‹œํ•œ๋‹ค.

  • '|' ํ‘œ์‹œ๊ฐ€ ์žˆ๋Š” ๊ณณ์€ ๋ฐ˜๋“œ์‹œ ์žˆ์–ด์•ผ ํ•˜๋Š” ๊ฐœ์ฒด. (ํ•„์ˆ˜)

  • 'O' ํ‘œ์‹œ๊ฐ€ ์žˆ๋‹ค๋ฉด ์—†์–ด๋„ ๋˜๋Š” ๊ฐœ์ฒด. (์„ ํƒ)

Last updated