πŸ”¬web application/- Database

[λ°μ΄ν„°λ² μ΄μŠ€] λ°μ΄ν„°λ² μ΄μŠ€ 섀계 - 논리적 μ„€κ³„μ˜ λͺ¨λ“  것 :: ERD의 ν™•μž₯

Wonit 2020. 7. 6. 16:38

μš°λ¦¬κ°€ μ§€λ‚œ μ‹œκ°„μ— μ•Œμ•„λ³Έλ°μ΄ν„°λ² μ΄μŠ€ 섀계 - κ°œλ…μ  μ„€κ³„μ—μ„œ λ‹€μ–‘ν•œ κ°œλ…μ  μ„€κ³„μ˜ κ°œλ…μ— λŒ€ν•΄μ„œ μ•Œμ•„λ³΄μ•˜μ§€λ§Œ μ •μž‘ μ€‘μš”ν•œ 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 : ν•„μˆ˜