๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
CS/DB+SQL

ERD

by Edlin 2022. 7. 17.

ER Diagram

  • ER ๋‹ค์ด์–ด๊ทธ๋žจ์€ ๋†’์€ ํ€„๋ฆฌํ‹ฐ๋กœ DB๋ฅผ ์„ค๊ณ„ํ•˜๋„๋ก ๋•๋Š”๋‹ค.
  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„ค๊ณ„, ๊ด€๋ฆฌ, ์œ ์ง€๋ฅผ ์œ„ํ•ด ์‚ฌ์šฉ๋œ๋‹ค.
  • Communication์˜ ์ˆ˜๋‹จ์ด๊ธฐ๋„ ํ•˜๋‹ค.

1. ERD?

  • Entity Relationship Diagram
  • Entity์˜ ๊ด€๊ณ„๋ฅผ ๋‹ค์ด์–ด๊ทธ๋žจ ํ˜•ํƒœ๋กœ ํ‘œํ˜„
  • ๊ตฌ์กฐ์  ๋‹ค์ด์–ด๊ทธ๋žจ(Structural Diagram) ์ค‘ ํ•˜๋‚˜
    • System์˜ Major Entity
    • Inter-Relationship among Entities


2. ์–ธ์ œ ERD๋ฅผ ๊ทธ๋ฆด๊นŒ?

  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์‹œ๊ฐํ™”์™€ ๋ฌผ๋ฆฌ์  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋””์ž์ธ์„ ์œ„ํ•ด ๊ฐœ๋ฐœ๋จ
  • ํ•˜์ง€๋งŒ ๊ทธ ์™ธ์—๋„ ERD๋Š” ๋‹ค์–‘ํ•˜๊ฒŒ ์‚ฌ์šฉ๋  ์ˆ˜ ์žˆ๋‹ค.

1) ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋””์ž์ธ

  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ง์ ‘ ์กฐ์ž‘ํ•˜๋Š” ๊ฒƒ์€ ์œ„ํ—˜์ด ๋”ฐ๋ฅด๋Š” ์ผ์ด๋‹ค
  • ERD๋ฅผ ์ด์šฉํ•˜์—ฌ ๋จผ์ € ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋””์ž์ธ์„ ์–ด๋–ค ์‹์œผ๋กœ ๋ฐ”๊ฟ€ ๊ฒƒ์ธ์ง€์— ๊ด€ํ•ด ๊ณ„ํšํ•  ์ˆ˜ ์žˆ๋‹ค.
  • ์ฆ‰, ๋ณ€ํ™”๋ฅผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ง์ ‘ ์ฃผ๊ธฐ ์ „ ์„ค๊ณ„๋ฅผ ํ†ตํ•ด ์•ˆ์ •์„ฑ์„ ํ™•์ธํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

2) ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋””๋ฒ„๊น…

  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ์ด์Šˆ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ์€ ๊ฝค ํž˜๋“  ์ผ์ด๋‹ค.
  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ๋งŽ์€ ํ…Œ์ด๋ธ”๋“ค์„ ํฌํ•จํ•˜๊ณ  ์žˆ๊ณ  ํ…Œ์ด๋ธ”๋“ค์˜ ์š”๊ตฌ์‚ฌํ•ญ๋„ ๊ฐ๊ธฐ ๋‹ค๋ฅด๋‹ค.
  • ERD๋Š” ํ…Œ์ด๋ธ”, ํ…Œ์ด๋ธ” ์š”๊ตฌ์‚ฌํ•ญ์— ๊ด€ํ•œ ์ •๋ณด๋ฅผ ์‹œ๊ฐ์ ์œผ๋กœ ๋‹ด๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋””๋ฒ„๊น…์„ ํ•˜๊ธฐ ๊ฐ„ํŽธํ•˜๋‹ค.

3) ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ƒ์„ฑ ๋ฐ ํŒจ์นญ

  • ERD๋ฅผ ๊ทธ๋ฆฌ๋ฉด ์ž๋™์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋‹ค.
  • MySQL์—์„œ๋Š” ERD๋ฅผ ํ…Œ์ด๋ธ”๋กœ ๋ฐ”๊ฟ”์ฃผ๋Š” ์ž‘์—…์„ ์ง€์›ํ•œ๋‹ค.
  • ํ…Œ์ด๋ธ”๋“ค๊ณผ ๊ทธ๋“ค์˜ ๊ด€๊ณ„๋ฅผ ERD ๋กœ ๋ฐ”๊พธ์–ด ํ‘œํ˜„ํ•ด์ค„ ์ˆ˜๋„ ์žˆ๋‹ค.

4) ์š”๊ตฌ์‚ฌํ•ญ ์ˆ˜์ง‘

  • ํ…Œ์ด๋ธ”์˜ ์ „์ฒด์  ํ๋ฆ„์„ ๋‹ด๊ณ  ์žˆ๊ณ  ๋ฌผ๋ฆฌ์  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋กœ ๋ฐ”๊ฟ€ ๋•Œ์˜ ์ด๋ฆ„์— ๊ด€ํ•œ ์ •๋ณด๋„ ๋‹ด๊ณ  ์žˆ์„ ์ˆ˜ ์žˆ๋‹ค.
  • ๊ณ ๊ฐ์˜ ์š”๊ตฌ์‚ฌํ•ญ์„ ์ž˜ ํ‘œํ˜„ํ•˜์˜€๋Š”์ง€, ๋†“์นœ ๊ฒƒ์€ ์—†๋Š”์ง€๋ฅผ ์ง๊ด€์ ์œผ๋กœ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ์žฅ์ ์ด ์žˆ๋‹ค.

3. ERD Notations

1) Entity

  • ์‹œ์Šคํ…œ ์•ˆ์—์„œ ๊ฐœ๋…์ ์ธ ํ˜•ํƒœ์ด๋‹ค.
  • ์‚ฌ๋žŒ, ์—ญํ• , ๊ฐ์ฒด, ๊ฐœ๋…, ์‚ฌ๊ฑด ๋“ฑ์„ ํ…Œ์ด๋ธ”๋กœ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ๋‹ค.
  • ERD์—์„œ๋Š” ํ…Œ์ด๋ธ”์ด๋ผ๋Š” ๋ช…์นญ๋Œ€์‹  Entity๋กœ ์‚ฌ์šฉํ•œ๋‹ค.

2) Entity Attributes (๊ตฌ์„ฑ์š”์†Œ)

  • Primary Key
    • ๋ฐ์ดํ…Œ๋น„์ด์Šค ํ…Œ์ด๋ธ”์—์„œ ์ตœ์†Œ์„ฑ๊ณผ ์œ ์ผ์„ฑ์„ ๋งŒ์กฑํ•˜๋Š” ํ‚ค์ด๋‹ค.
    • ์ตœ์†Œ์„ฑ: ํ‚ค๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ์—ด์˜ ๊ฐœ์ˆ˜๊ฐ€ ์ตœ์†Œ์ด๋‹ค.
    • ์œ ์ผ์„ฑ: ์„ ํƒํ•œ ์นผ๋Ÿผ(์—ด)์— ๋”ฐ๋ผ ๊ฐ๊ฐ์˜ ๋ ˆ์ฝ”๋“œ๋ฅผ ๊ตฌ๋ถ„ํ•  ์ˆ˜ ์žˆ๋‹ค.
    • e.g. ์ฃผ๋ฏผ๋“ฑ๋ก๋ฒˆํ˜ธ, ํ•™๋ฒˆ
  • Foreign Key
    • ์‹๋ณ„๊ด€๊ณ„์™€ ๋น„์‹๋ณ„ ๊ด€๊ณ„๋ฅผ ๊ฒฐ์ •์ง“๋Š”๋‹ค.
    • ๋ถ€๋ชจ ํ…Œ์ด๋ธ”์˜ Primary Key ํ˜น์€ Unique Key๋ฅผ ์ž์‹ ์˜ Primary Key๋กœ ์‚ผ์œผ๋ฉด ์‹๋ณ„ ๊ด€๊ณ„
    • ๋ถ€๋ชจ ํ…Œ์ด๋ธ”์˜ Primary Key ํ˜น์€ Unique Key๋ฅผ ์™ธ๋ž˜ํ‚ค๋กœ์„œ๋งŒ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ์—๋Š” ๋น„์‹๋ณ„ ๊ด€๊ณ„
      • ์ด๋•Œ, ์™ธ๋ž˜ํ‚ค๋Š” Unique ํ•  ํ•„์š”๋Š” ์—†๋‹ค. (๋ ˆ์ฝ”๋“œ๋ฅผ ๊ตฌ๋ถ„ํ•˜์ง€ ์•Š์•„๋„ ๋œ๋‹ค, ์—ฌ๋Ÿฌ ๋ฒˆ ๋“ฑ์žฅํ•  ์ˆ˜ ์žˆ๋‹ค)
  • Relationship
    • ๋‘ ํ…Œ์ด๋ธ” ๊ฐ„ ์–ด๋–ค ๊ด€๊ณ„๋ฅผ ํ˜•์„ฑํ•˜๊ณ  ์žˆ๋Š”๊ฐ€
    • 1:1, 1:N, N:M์˜ ๊ด€๊ณ„๊ฐ€ ์žˆ๋‹ค.
  • Cardinality
    • 1:1, 1:N, N:M

4. ๊ฐœ๋…์ , ๋…ผ๋ฆฌ์ , ๋ฌผ๋ฆฌ์  ๋ฐ์ดํ„ฐ ๋ชจ๋ธ

1) ๊ฐœ๋…์  ๋ฐ์ดํ„ฐ ๋ชจ๋ธ

  • ๋น„์ฆˆ๋‹ˆ์Šค ๋ชฉ์ ์œผ๋กœ ๋งŒ๋“œ๋Š” ๋ชจ๋ธ
  • Entity์™€ Relation์„ ๋‚˜ํƒ€๋ƒ„

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

  • Entity, Relation, Column

3) ๋ฌผ๋ฆฌ์  ๋ฐ์ดํ„ฐ ๋ชจ๋ธ

  • ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์‹ค์ œ์ ์ธ ๋””์ž์ธ ์ฒญ์‚ฌ์ง„
  • Entity, RRelation, Column + ์–ด๋–ป๊ฒŒ ๋ฐ์ดํ„ฐ๊ฐ€ ์ €์žฅ๋  ๊ฒƒ์ธ์ง€์— ๊ด€ํ•œ Type, Name ๋“ฑ์— ๋Œ€ํ•œ ๋‚ด์šฉ๋„ ์ถ”๊ฐ€๋œ๋‹ค.

5. Data Flow Diagram(DFD)์™€ ERD

  • ์‹œ์Šคํ…œ ํ๋ฆ„๋„: ์‹œ์Šคํ…œ์˜ ๊ณผ์ •์„ ๋‹ค์ด์–ด๊ทธ๋žจ์œผ๋กœ ๋‚˜ํƒ€๋‚ธ ๊ฒƒ
  • DFD์™€ ERD๋ฅผ ํ•จ๊ป˜ ์ด์šฉํ•˜์—ฌ ์‹œ์Šคํ…œ ํ๋ฆ„๋„๋ฅผ ๊ตฌ์„ฑํ•  ์ˆ˜๋„ ์žˆ์Œ
  • Business Process Model and Notation(BPMN)์™€ ERD๋ฅผ ํ•จ๊ป˜ ๋ฌถ์–ด ์ „์ฒด ์‹œ์Šคํ…œ ํ๋ฆ„๋„๋ฅผ ๊ตฌ์„ฑํ•  ์ˆ˜๋„ ์žˆ์Œ

 

๋ณธ ๋‚ด์šฉ์€ ๋‹ค์Œ ์‚ฌ์ดํŠธ๋ฅผ ๋ฒˆ์—ญํ•˜์—ฌ ์ •๋ฆฌํ•œ ๋‚ด์šฉ์ž…๋‹ˆ๋‹ค.
https://www.visual-paradigm.com/guide/data-modeling/what-is-entity-relationship-diagram/#erd-data-models-conceptual
 

What is Entity Relationship Diagram (ERD)?

Design Database Faster, Better and Easier Are you looking for a Free ERD tool for creating data models faster, easier and quicker? Visual Paradigm Community Edition provides you with an ERD editor for database design. It is an international award-winning m

www.visual-paradigm.com

 

๋Œ“๊ธ€