๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
  • ์žฅ์›์ต ๊ธฐ์ˆ ๋ธ”๋กœ๊ทธ
๐Ÿ”ฌweb application/- Database

[๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค] ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ค๊ณ„ - ๋…ผ๋ฆฌ์  ์„ค๊ณ„์˜ ๋ชจ๋“  ๊ฒƒ :: ERD์˜ ํ™•์žฅ

by Wonit 2020. 7. 6.

์šฐ๋ฆฌ๊ฐ€ ์ง€๋‚œ ์‹œ๊ฐ„์— ์•Œ์•„๋ณธ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ค๊ณ„ - ๊ฐœ๋…์  ์„ค๊ณ„์—์„œ ๋‹ค์–‘ํ•œ ๊ฐœ๋…์  ์„ค๊ณ„์˜ ๊ฐœ๋…์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์•˜์ง€๋งŒ ์ •์ž‘ ์ค‘์š”ํ•œ ERD๋Š” ๋‹ค๋ฃจ์ง€ ์•Š์•˜๋‹ค.

๊ทธ ์ด์œ ๋Š” ์›Œ๋‚™ ๋งŽ์€ ๋ถ„๋Ÿ‰์ด๊ธฐ๋„ ํ•˜๋ฉฐ ๊ฐ€์žฅ ์ค‘์š”ํ•˜๊ณ  ์ž˜ ์“ฐ์ด๋Š” ๊ฒƒ์ด๊ธฐ ๋•Œ๋ฌธ์— ๋”ฐ๋กœ ํ•˜๋‚˜์˜ ๊ฒŒ์‹œ๋ฌผ๋กœ ๋นผ๋†“์•˜๋‹ค.

๋งŒ์•ฝ๊ฐœ๋…์  ์„ค๊ณ„์— ๋Œ€ํ•ด์„œ ์กฐ๊ธˆ ๋ถ€์กฑํ•˜๋‹ค๋ฉด๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ค๊ณ„ - ๊ฐœ๋…์  ์„ค๊ณ„ํŒŒํŠธ๋ฅผ ํ•œ ๋ฒˆ ๊ฐ€๋ณ๊ฒŒ ์ฝ๊ณ  ์˜ค๋Š” ๊ฒƒ์„ ์ถ”์ฒœํ•œ๋‹ค.

๋…ผ๋ฆฌ์  ์„ค๊ณ„

๋…ผ๋ฆฌ์  ์„ค๊ณ„ ๋‹จ๊ณ„์—์„œ๋Š” ER๋‹ค์ด์–ด๊ทธ๋žจ์„ ์กฐ๊ธˆ ๋” ๋‹จ๋‹จํ•˜๊ณ  ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๊ฒŒ ํ•˜๋Š”๊ฒƒ์— ๋ชฉํ‘œ๊ฐ€ ์žˆ๋‹ค๊ณ  ํ•ด๋„ ๊ณผ์–ธ์ด ์•„๋‹ˆ๋‹ค. ์ด๋ฒˆ ์‹œ๊ฐ„์€ ๋…ผ๋ฆฌ์  ์„ค๊ณ„์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด๊ธฐ๋„ ํ•˜๋ฉฐ ์ง€๋‚œ ์‹œ๊ฐ„์— ๊ทธ๋ฆฌ์ง€ ๋ชปํ–ˆ๋˜ ERD๋ฅผ ํ•จ๊ป˜ ๊ทธ๋ ค๋ณด๋ฉฐ ์ดํ•ดํ•ด๋ณด์ž.

ERD

Entity-Relation Daigram์œผ๋กœ ์—”ํ‹ฐํ‹ฐ์˜๊ด€๊ณ„์— ๋Œ€ํ•ด์‰ฝ๊ฒŒ ์ž‘์„ฑํ•œ ๊ฒƒ์„ ๋œปํ•˜๊ฒŒ ๋œ๋‹ค.

๋ญ ์ •๋ณด ์ฒ˜๋ฆฌ ๊ธฐ์‚ฌ๋ผ๋˜์ง€ ์—ฌ๋Ÿฌ ์‹œํ—˜์— ๋‚˜์˜ฌ ๋•Œ๋Š” Peter Chan์ด๋ผ๋Š” ๋ถ„์ด ๋งŒ๋“ค์—ˆ๋‹ค ๋ผ๋Š” ์ด์•ผ๊ธฐ๊ฐ€ ๋‚˜์˜ค๋ฉด ๋ฐ”๋กœ ERD๋ฅผ ์ƒ๊ฐํ•˜๋Š” ๊ทธ ERD๋ฅผ ์˜ค๋Š˜ ํ•œ ๋ฒˆ ํŒŒํ—ค์ณ๋ณด์ž.

ERD์˜ ๊ตฌ์„ฑ ์š”์†Œ

ERD๋Š” ๊ฐœ๋…์  ์„ค๊ณ„์˜ ๊ฒฐ๊ณผ ๋‹ต๊ฒŒ ๊ฐœ๋…์  ์„ค๊ณ„์˜ ๋ชจ๋“  ์š”์†Œ๊ฐ€ ๋“ค์–ด๊ฐ„๋‹ค.

  • ์—”ํ‹ฐํ‹ฐ
  • ์†์„ฑ
  • ๊ด€๊ณ„

์—”ํ‹ฐํ‹ฐ

์ƒํ™œ ์ฝ”๋”ฉ

์†์„ฑ

์ƒํ™œ ์ฝ”๋”ฉ

๊ด€๊ณ„

์ƒํ™œ ์ฝ”๋”ฉ

๊ณผ ๊ฐ™์€ 3 ์š”์†Œ๋กœ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ๊ณ 

ํ‘œ์ค€ ERD ๊ธฐํ˜ธ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

ERD ๋งŒ๋“ค๊ธฐ

๋ฐฑ๋ฌธ์ด ๋ถˆ์—ฌ์ผํƒ€. ๋ฐฑ๋ฒˆ ๋ณด๋Š” ๊ฒƒ ๋ณด๋‹ค ์ง์ ‘ํ•ด๋ณด๋Š” ๊ฒƒ์ด ๋‚ซ๋‹ค. ์ง์ ‘ ํ•œ ๋ฒˆ ERD๋ฅผ ๋งŒ๋“œ๋Š” ์‹ค์Šต์„ ํ•ด๋ณด์ž.

๋ฌธ์ œ ์ƒํ™ฉ

ํ•™์‹ ์˜ˆ์•ฝ ์‹œ์Šคํ…œ์„ ๋งŒ๋“ค๊ณ  ์‹ถ๋‹ค. ํ•™์‹ ์˜ˆ์•ฝ ์‹œ์Šคํ…œ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

ํ•™์ƒ์€ ํ•™๋ฒˆ๊ณผ ์ด๋ฆ„, ํ•™๊ณผ๋กœ ๋‚˜ํƒ€๋‚ธ๋‹ค.

ํ•™์‹์€ ์‹๋‹น ์ด๋ฆ„๊ณผ ๋ฉ”๋‰ด, ๋‚ ์งœ, ์ œ๊ณต ํƒ€์ž…์œผ๋กœ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.

๋ฉ”๋‰ด๋Š” ๋ฉ”๋‰ด ์ด๋ฆ„๊ณผ ๋ฉ”๋‰ด ์„ ํ˜ธ๋„๋ฅผ ์•Œ ์ˆ˜ ์žˆ๋Š” ์ข‹์•„์š” ์ˆ˜๋ฅผ ๊ฐ–์Šต๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ์š”๊ตฌ ์‚ฌํ•ญ ๊ธฐ์ˆ ์„œ๊ฐ€ ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ–ˆ์„ ๋•Œ ๊ฐœ๋…์  ์„ค๊ณ„์˜ ์›์น™์— ๋”ฐ๋ผ์„œ ์—”ํ‹ฐํ‹ฐ์™€ ์†์„ฑ, ๊ด€๊ณ„์— ๋Œ€ํ•ด์„œ ๋ถ„๋ฅ˜ํ•ด๋ณด์ž.

ํ•™์‹ ์˜ˆ์•ฝ ์‹œ์Šคํ…œ์„ ๋งŒ๋“ค๊ณ  ์‹ถ๋‹ค. ํ•™์‹ ์˜ˆ์•ฝ ์‹œ์Šคํ…œ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค.

ํ•™์ƒ์€ ํ•™๋ฒˆ๊ณผ ์ด๋ฆ„, ํ•™๊ณผ๋กœ ๋‚˜ํƒ€๋‚ธ๋‹ค.

ํ•™์‹์€ ์‹๋‹น ์ด๋ฆ„๊ณผ ๋ฉ”๋‰ด, ๋‚ ์งœ, ์ œ๊ณต ํƒ€์ž…์œผ๋กœ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค.

๋ฉ”๋‰ด๋Š” ๋ฉ”๋‰ด ์ด๋ฆ„๊ณผ ๋ฉ”๋‰ด ์„ ํ˜ธ๋„๋ฅผ ์•Œ ์ˆ˜ ์žˆ๋Š” ์ข‹์•„์š” ์ˆ˜๋ฅผ ๊ฐ–์Šต๋‹ˆ๋‹ค.

์ด๋Ÿฐ ๋ถ„์„์ด ์™„๋ฃŒ๋˜์—ˆ๋‹ค๋ฉด ์ด์ œ ๋“œ๋””์–ด ERD์— ํƒ€์ž…์„ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋‹ค.

์—”ํ‹ฐํ‹ฐ ํ•™์ƒ, ํ•™์‹, ๋ฉ”๋‰ด
์†์„ฑ ์ด๋ฆ„, ํ•™๊ณผ, ์‹๋‹น ์ด๋ฆ„, ๋ฉ”๋‰ด, ๋‚ ์งœ, ์ œ๊ณต ํƒ€์ž…, ๋ฉ”๋‰ด ์ด๋ฆ„,์„ ํ˜ธ๋„
๊ด€๊ณ„ ๋ฉ”๋‰ด-ํ•™์‹(ํฌํ•จํ•œ๋‹ค), ํ•™์ƒ-๋ฉ”๋‰ด(์ข‹์•„์š”)

๊ทธ๋Ÿผ ๋จผ์ € ์—”ํ‹ฐํ‹ฐ์— ๋”ฐ๋ฅธ์†์„ฑ์„ ๊ทธ๋ ค๋ณด์ž.

์ด๋ ‡๊ฒŒ ์„ธ ๊ฐœ์˜ ์—”ํ‹ฐํ‹ฐ๊ฐ€ ๊ทธ๋ ค์กŒ๋‹ค.

์ด์ œ ๊ด€๊ณ„๋ฅผ ์ถ”๊ฐ€์‹œ์ผœ๋ณด์ž. ๊ด€๊ณ„๋Š” ์ข‹์•„์š”์™€ ํฌํ•จํ•œ๋‹ค๋งŒ ์ถ”๊ฐ€์‹œํ‚ค๋ฉด ๋œ๋‹ค.

๊ทธ๋ฆฌ๊ณ  ๋งˆ์ง€๋ง‰์œผ๋กœ ์†์„ฑ๋“ค๋งŒ ์ถ”๊ฐ€์‹œ์ผœ์ค€๋‹ค๋ฉด ERD๋Š” ๊ฑฐ์˜ ์™„์„ฑ ๋˜์—ˆ๋‹ค๊ณ  ํ•  ์ˆ˜ ์žˆ๋‹ค.

์ด์ œ ๋งˆ์ง€๋ง‰ ๋‚จ์€๊ด€๊ณ„์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์ž.

๊ด€๊ณ„

Cardinality

Cardinality ๋Š”3๊ฐ€์ง€์˜ ๊ด€๊ณ„๋ฅผ ๋œปํ•œ๋‹ค.

  1. ์ผ๋Œ€์ผ
  2. ์ผ๋Œ€๋‹ค
  3. ๋‹ค๋Œ€๋‹ค

์ด ๊ฒƒ์„ ๊ทธ๋ฆผ์œผ๋กœ ํ‘œํ˜„ํ•˜์ž๋ฉด

์ด ๊ด€๊ณ„๋ฅผ ERD์—์„œ ํ‘œํ˜„ํ•˜๊ณ ์ž ํ•œ๋‹ค๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.

Optionality

Optionality๋Š” ์žˆ์„ ์ˆ˜๋„ ์žˆ๊ณ  ์—†์„ ์ˆ˜๋„ ์žˆ์Œ์„๋‚˜ํƒ€๋‚ธ๊ฒƒ์ด๋‹ค.

  • Optional : ์„ ํƒ
  • Mandatory : ํ•„์ˆ˜

 

๋Œ“๊ธ€