๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

Database/SQLD & SQLP

[SQLD] ์ œ 1์ ˆ. ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์˜ ์ดํ•ด - 9. ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์˜ ํ‘œ๊ธฐ๋ฒ•์ธ ERD์˜ ์ดํ•ด

[์ถœ์ฒ˜ : SQL ์ „๋ฌธ๊ฐ€ ๊ฐ€์ด๋“œ(2013 EDITION)]

 

9. ๋ฐ์ดํ„ฐ ๋ชจ๋ธ์˜ ํ‘œ๊ธฐ๋ฒ•์ธ ERD์˜ ์ดํ•ด

๊ฐ€. ๋ฐ์ดํ„ฐ ๋ชจ๋ธ ํ‘œ๊ธฐ๋ฒ•

  • 1976๋…„ ํ”ผํ„ฐ์ฒธ - Entity-Relationship model (E-R Model) ํ‘œ๊ธฐ๋ฒ• ๊ฐœ๋ฐœ
  • ์—”ํ„ฐํ‹ฐ๋ฅผ ์‚ฌ๊ฐํ˜•์œผ๋กœ ํ‘œํ˜„ํ•˜๊ณ  ๊ด€๊ณ„๋ฅผ ๋งˆ๋ฆ„๋ชจ, ์†์„ฑ์„ ํƒ€์›ํ˜•์œผ๋กœ ํ‘œํ˜„

๋‚˜. ERD(Entity Relationship Diagram) ํ‘œ๊ธฐ๋ฒ•์„ ์ด์šฉํ•˜์—ฌ ๋ชจ๋ธ๋งํ•˜๋Š” ๋ฐฉ๋ฒ•

  • ERD : ๊ฐ ์—…๋ฌด๋ถ„์„์—์„œ ๋„์ถœ๋œ ์—”ํ„ฐํ‹ฐ์™€ ์—”ํ„ฐํ‹ฐ๊ฐ„์˜ ๊ด€๊ณ„๋ฅผ ์ดํ•ดํ•˜๊ธฐ ์‰ฝ๊ฒŒ ๋„์‹ํ™”๋œ ๋‹ค์ด์–ด๊ทธ๋žจ์œผ๋กœ ํ‘œ์‹œํ•˜๋Š” ๋ฐฉ๋ฒ•
  • ํ•ด๋‹น ์—…๋ฌด์—์„œ ๋ฐ์ดํ„ฐ์˜ ํ๋ฆ„๊ณผ ํ”„๋กœ์„ธ์Šค์˜ ์—ฐ๊ด€์„ฑ์„ ์ด์•ผ๊ธฐํ•˜๋Š”๋ฐ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ํ‘œ๊ธฐ๋ฒ•์ด์ž ์‚ฐ์ถœ๋ฌผ

  1) ERD ์ž‘์—… ์ˆœ์„œ

  • ERD ์ž‘์„ฑ ์ˆœ์„œ : โ‘  ์—”ํ„ฐํ‹ฐ๋ฅผ ๊ทธ๋ฆฐ๋‹ค → โ‘ก ์—”ํ„ฐํ‹ฐ๋ฅผ ์ ์ ˆํ•˜๊ฒŒ ๋ฐฐ์น˜ํ•œ๋‹ค → โ‘ข ์—”ํ„ฐํ‹ฐ๊ฐ„ ๊ด€๊ณ„๋ฅผ ์„ค์ •ํ•œ๋‹ค → โ‘ฃ ๊ด€๊ณ„๋ช…์„ ๊ธฐ์ˆ ํ•œ๋‹ค → โ‘ค ๊ด€๊ณ„์˜ ์ฐธ์—ฌ๋„๋ฅผ ๊ธฐ์ˆ ํ•œ๋‹ค → โ‘ฅ ๊ด€๊ณ„์˜ ํ•„์ˆ˜์—ฌ๋ถ€๋ฅผ ๊ธฐ์ˆ ํ•œ๋‹ค

  2) ์—”ํ„ฐํ‹ฐ ๋ฐฐ์น˜

  • ์ผ๋ฐ˜์ ์œผ๋กœ ์‚ฌ๋žŒ์˜ ๋ˆˆ์€ ์™ผ์ชฝ์—์„œ ์˜ค๋ฅธ์ชฝ, ์œ„์ชฝ์—์„œ ์•„๋ž˜์ชฝ์œผ๋กœ ์ด๋™ํ•˜๋Š” ๊ฒฝํ–ฅ์ด ์žˆ์œผ๋ฏ€๋กœ, ๋”ฐ๋ผ์„œ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง์—์„œ๋„ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ์—”ํ„ฐํ‹ฐ๋ฅผ ์™ผ์ชฝ ์ƒ๋‹จ์— ๋ฐฐ์น˜ํ•˜๊ณ  ์ด๊ฒƒ์„ ์ค‘์‹ฌ์œผ๋กœ ๋‹ค๋ฅธ ์—”ํ„ฐํ‹ฐ๋ฅผ ๋‚˜์—ดํ•˜๋ฉด์„œ ์ „๊ฐœ

 

  3) ERD ๊ด€๊ณ„์˜ ์—ฐ๊ฒฐ

  • ์—”ํ„ฐํ‹ฐ ๋ฐฐ์น˜๊ฐ€ ์™„๋ฃŒ๋˜๋ฉด ๊ด€๊ณ„๋ฅผ ์ •์˜ํ•œ ๋ถ„์„์„œ๋ฅผ ๋ณด๊ณ  ์„œ๋กœ ๊ด€๋ จ ์žˆ๋Š” ์—”ํ„ฐํ‹ฐ๊ฐ„์— ๊ด€๊ณ„ ์„ค์ •
  • ์ดˆ๊ธฐ์—๋Š” ๋ชจ๋“œ Primary Key๋กœ ์†์„ฑ์ด ์ƒ์†๋˜๋Š” ์‹๋ณ„์ž ๊ด€๊ณ„๋ฅผ ์„ค์ •
  • ์ค‘๋ณต๋˜๋Š” ๊ด€๊ณ„ ๋˜๋Š” Circle ๊ด€๊ณ„๊ฐ€ ๋ฐœ์ƒํ•˜์ง€ ์•Š๋„๋ก ์œ ์˜

 

  4) ERD ๊ด€๊ณ„๋ช…์˜ ํ‘œ์‹œ

  • ๊ด€๊ณ„์„ค์ •์ด ์™„๋ฃŒ๋˜๋ฉด ์—ฐ๊ฒฐ๋œ ๊ด€๊ณ„์— ๊ด€๊ณ„์ด๋ฆ„์„ ๋ถ€์—ฌ (ex. ํฌํ•จํ•˜๋‹ค, ํฌํ•จ๋˜๋‹ค, ์ถœ๊ณ ํ•˜๋‹ค, ๋ณด๊ด€๋˜๋‹ค, ์ €์žฅํ•˜๋‹ค ๋“ฑ)
  • ๊ด€๊ณ„์ด๋ฆ„์€ ํ˜„์žฌํ˜•์„ ์‚ฌ์šฉํ•˜๊ณ  ์ง€๋‚˜์น˜๊ฒŒ ํฌ๊ด„์ ์ธ ์šฉ์–ด(ex. ์ด๋‹ค, ๊ฐ€์ง„๋‹ค ๋“ฑ)๋Š” ์‚ฌ์šฉํ•˜์ง€ ์•Š๋„๋ก ํ•จ
  • ๊ด€๊ณ„์˜ ๋ช…์นญ์ด ๋‚˜ํƒ€๋‚˜์ง€ ์•Š์•„๋„ ERD์˜ ํ๋ฆ„์ด ๋ช…ํ™•ํ•˜๊ฒŒ ๋“œ๋Ÿฌ๋‚˜๋ฏ€๋กœ ์‹ค์ œ ํ”„๋กœ์ ํŠธ์—์„œ๋Š” ๊ด€๊ณ„์˜ ๋ช…์นญ์„ ํฌ๊ฒŒ ๊ณ ๋ คํ•˜์ง€ ์•Š์•„๋„ ๋ฌด๋ฐฉ. ๋Œ€๋ถ€๋ถ„์˜ ๊ด€๊ณ„๋Š” ์—”ํ„ฐํ‹ฐ์˜ ์„ฑ์งˆ๊ณผ ์ฃผ์‹๋ณ„์ž๋ฅผ ๋ณด๊ณ  ์œ ์ถ” ๊ฐ€๋Šฅ

 

  5) ERD ๊ด€๊ณ„ ๊ด€๊ณ„์ฐจ์ˆ˜์™€ ์„ ํƒ์„ฑ ํ‘œ์‹œ

  • ๊ด€๊ณ„์— ๋Œ€ํ•œ ์ด๋ฆ„์„ ๋ชจ๋‘ ์ง€์ •ํ•˜์˜€์œผ๋ฉด ๊ด€๊ณ„๊ฐ€ ์ฐธ์—ฌํ•˜๋Š” ์„ฑ๊ฒฉ ์ค‘ ์—”ํ„ฐํ‹ฐ ๋‚ด์— ์ธ์Šคํ„ด์Šค๋“ค์ด ์–ผ๋งˆ๋‚˜ ๊ด€๊ณ„์— ์ฐธ์—ฌํ•˜๋Š”์ง€๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๊ด€๊ณ„์ฐจ์ˆ˜(Cardinality)๋ฅผ ํ‘œํ˜„

IE ํ‘œ๊ธฐ๋ฒ•