λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
  • μž₯원읡 κΈ°μˆ λΈ”λ‘œκ·Έ
πŸ”¬web application/- Database

[λ°μ΄ν„°λ² μ΄μŠ€] λ°μ΄ν„°λ² μ΄μŠ€ 섀계 - κ°œλ…μ  μ„€κ³„μ˜ λͺ¨λ“  것

by Wonit 2020. 7. 6.

Conceptual Design

κ°œλ…μ  섀계

κ°œλ…μ  μ„€κ³„λž€ μš”κ΅¬μ‚¬ν•­ 뢄석 λ‹¨κ³„μ—μ„œ λ‚˜μ˜€λŠ” μš”κ΅¬μ‚¬ν•­ κΈ°μˆ μ„œ, λͺ…μ„Έμ„œλ“±μ„ ν† λŒ€λ‘œ ERD둜 λ³€κ²½ν•˜λŠ” 과정을 λ‚˜νƒ€λ‚Έλ‹€.

 

μš°λ¦¬κ°€ ν•„μš”ν•œ 정보λ₯Ό λ°μ΄ν„°λ² μ΄μŠ€ν™” μ‹œν‚€κΈ° μœ„ν•΄μ„œ μ‘΄μž¬ν•˜λŠ” 단계쀑 ν•˜λ‚˜μ΄λ‹€.


κ°œλ…μ  μ„€κ³„λŠ” νŠΉμ • DBMS νˆ΄μ— κ΅­ν•œλ˜μ§€ μ•ŠλŠ”λ‹€.

 

λ‹€μŒμ€ λ‚΄κ°€ ν•œ ν”„λ‘œμ νŠΈμ—μ„œ μž‘μ„±ν–ˆλ˜ ERDλ₯Ό λ‚˜νƒ€λ‚Έ 것이닀.

 

 

이 ERDλ₯Ό 그리기 μœ„ν•΄μ„œ μ°¨κ·Όμ°¨κ·Ό μ•Œμ•„κ°€ 보도둝 ν•˜μž.

μš©μ–΄

κ°œλ…μ  λ°μ΄ν„°λ² μ΄μŠ€λ₯Ό 닀루기 μœ„ν•΄μ„œλŠ” λ‹€μŒκ³Ό 같은 μš©μ–΄μ— λŒ€ν•œ 이해가 ν•„μš”ν•˜λ‹€.

 

μ•žμ„  κ²Œμ‹œλ¬Όμ—μ„œ 잠깐 μ„€λͺ…ν–ˆμ§€λ§Œ

  • μ—”ν‹°ν‹°
  • 관계
  • 속성

이 μ„Έ 가지가 κ°œλ…μ  λ°μ΄ν„°λ² μ΄μŠ€μ—μ„œ λ‚˜μ˜€λŠ” κ°œλ…λ“€μ΄λ‹€.

 

이번 κΈ°νšŒμ— κ°„λ‹¨ν•˜κ²Œ μ•Œμ•„λ³΄κ³  λ„˜μ–΄κ°€μž.

 

κ°„λ‹¨ν•œ 예λ₯Ό λ“€μ–΄ 엔티티와 관계, 속성에 λŒ€ν•΄μ„œ μ΄ν•΄μ‹œμΌœ 보겠닀.

μ—”ν‹°ν‹°

EntityλŠ” μ‰½κ²Œ 말 ν•΄μ„œ λͺ…사에 ν•΄λ‹Ήν•˜λŠ” 사물이닀. μš°λ¦¬κ°€ Data둜 ν‘œν˜„ν•˜λ €λŠ” κ²ƒμœΌλ‘œ μ—¬λŸ¬ 속성을 κ°–κ³  μžˆμ–΄μ•Ό ν•œλ‹€.

μœ„μ™€ 같은 ꡐ싀이 μ‘΄μž¬ν•œλ‹€κ³  ν–ˆμ„ λ•Œ μš°λ¦¬κ°€ 이 κ·Έλ¦Όμ—μ„œ λ³΄μ΄λŠ” 사물을 ν•˜λ‚˜μ”© 이야기 ν•΄λ³΄μž.

  1. 책상
  2. 칠판
  3. μ°½λ¬Έ
  4. 의자
    ...

이런 λͺ¨λ“  것듀이 μ—”ν‹°ν‹°κ°€ 될 수 μžˆλ‹€.

 

이λ₯Ό λ‹€μ‹œ λ§ν•΄μ„œ 이둠적으둜 μ„€λͺ…ν•˜μžλ©΄ ν˜„μ‹€ μ„Έκ³„μ˜ λŒ€μƒμ²΄λ‘œ μœ ν˜•, λ¬΄ν˜•μ˜ μ •λ³΄λ‘œμ¨ μ„œλ‘œ μ—°κ΄€λœ λͺ‡ 개의 μ†μ„±μœΌλ‘œ κ΅¬μ„±λ˜λŠ” 것이닀.

속성

Attribute(속성)λŠ” λ°μ΄ν„°μ˜ κ°€μž₯ μž‘μ€ 논리적 λ‹¨μœ„μ΄λ‹€.

 

책상 을 μš°λ¦¬κ°€ μœ„μ—μ„œ 엔티티라고 μ •μ˜ν–ˆλŠ”λ° μ—”ν‹°ν‹°λŠ” μ†μ„±μ˜ 집합이라고 μ„€λͺ…ν•  수 μžˆλ‹€κ³  ν–ˆλ‹€.

 

그럼 μ±…μƒμ΄λΌλŠ” μ—”ν‹°ν‹°μ˜ 속성은 μ•„λ§ˆ λ‹€μŒκ³Ό 같을 것이닀.

 

  1. λ‚˜λ¬΄ 판자
  2. 철제 닀리
  3. λ‚˜λ¬΄ 재질
    ...

ν•˜λ‚˜μ˜ μ±…μƒμ—λŠ” μœ„μ™€ 같은 속성이 μ‘΄μž¬ν•˜λŠ”λ° 이λ₯Ό λ‹€μ‹œ 이둠적으둜 μ„€λͺ…ν•˜μžλ©΄, λ°μ΄ν„°μ˜ κ°€μž₯ μž‘μ€ 논리적 λ‹¨μœ„κ°€ λœλ‹€.

 

λ˜ν•œ μ—”ν‹°ν‹° μžμ²΄κ°€ μƒˆλ‘œμš΄ 속성이 될 수 μžˆλ‹€.

 

예λ₯Ό λ“€μ–΄ μš°λ¦¬λŠ” κ΅μ‹€μ΄λΌλŠ” μ—”ν‹°ν‹°λ₯Ό μ •μ˜ν•  수 μžˆλŠ”λ°, κ΅μ‹€μ΄λΌλŠ” μ—”ν‹°ν‹°μ—λŠ” μ±…μƒμ˜ 수, 의자의 수, μΉ νŒλ“±λ“±κ³Ό 같은 속성을 κ°€μ§ˆ 수 있기 λ•Œλ¬Έμ΄λ‹€.

 

μ΄λŸ¬ν•œ μ†μ„±μ—λŠ” λ‹€μ–‘ν•œ λ°©μ‹μœΌλ‘œ λ‚˜λ‰˜κ²Œ λœλ‹€.

 

  • λ‹¨μˆœ 속성과 볡합 속성.
  • 단일 κ°’ 속성과 닀쀑 κ°’ 속성.
  • μ£Ό μ‹λ³„μž

단일 κ°’ 속성과 닀쀑 κ°’ 속성은 ν•œ 속성이 μ—¬λŸ¬κ°œμ˜ 값을 κ°€μ§ˆ 수 μžˆμ„ λ•Œ ν‘œν˜„ν•˜κ²Œλœλ‹€.


그리고 쑰금 μ€‘μš”ν•œ λ‚΄μš©μΈ μ£Ό μ‹λ³„μžλŠ” 속성 κ°’ ν•˜λ‚˜λ‘œ 속성을 ꡬ뢄할 수 μžˆλŠ” 속성을 λœ»ν•œλ‹€.

 

예둜 λ“€μ–΄ μš°λ¦¬κ°€ μ£Όλ―Ό λ²ˆν˜ΈλŠ” ν•˜λ‚˜μ§€λ§Œ 이름은 μ—¬λŸ¬ 이름이 같을 수 μžˆλŠ” 것을 λΆ„μ„ν•˜μžλ©΄ μ£Όλ―Ό λ²ˆν˜ΈλŠ” 단일 κ°’ 속성이 될 수 μžˆμ§€λ§Œ, 이름은 단일 κ°’ 속성이 될 수 μ—†λ‹€.

관계

μ—”ν‹°ν‹° μ‚¬μ΄μ˜ 연관성을 ν‘œν˜„ν•˜λŠ” κ°œλ…μœΌλ‘œ 두 개의 μ—”ν‹°ν‹° νƒ€μž… μ‚¬μ΄μ˜ 업무적인 연관성을 λ…Όλ¦¬μ μœΌλ‘œ ν‘œν˜„ν•œ 것이닀.

 

이런 관계λ₯Ό μš°λ¦¬κ°€ ν”„λ‘œκ·Έλž˜λ°μ„ ν•˜λ©° λ§Œλ‚˜κ²Œ 될 Mapping이라고 ν•˜λŠ” 것이 λœλ‹€.


두 μ—”ν‹°ν‹° μ‚¬μ΄μ˜ μ–΄λ–€ 관계가 μ‘΄μž¬ν•œλ‹€λ©΄ λ§ˆλ¦„λͺ¨ λͺ¨μ–‘μœΌλ‘œ ν‘œν˜„ν•œλ‹€.

 

κ΄€κ³„μ—λŠ” λ‹€μŒκ³Ό 같은 관계가 μ‘΄μž¬ν•œλ‹€.

  • 1:1 관계
  • 1:N 관계
  • N:M 관계

λ”± 보면 μ•Œ 수 μžˆλ“―μ΄ ν•˜λ‚˜μ˜ μ—”ν‹°ν‹° ν˜Ήμ€ μ—¬λŸ¬ μ—”ν‹°ν‹°κ°€ λͺ‡ 개의 엔티티와 관계λ₯Ό μ–΄λ–»κ²Œ λ§Ίκ³  μžˆλŠλƒμ— λ”°λΌμ„œ λ‹¬λΌμ§ˆ 수 μžˆλ‹€.


쑰금 더 μžμ„Ένžˆ μ•Œμ•„λ³΄μžλ©΄

μΌλŒ€μΌ 관계

μΌλŒ€μΌ κ΄€κ³„λŠ” ν•œ λͺ…μ˜ μ‘°μ’…μ‚¬λŠ” ν•˜λ‚˜μ˜ λΉ„ν–‰κΈ°λ§Œ λΉ„ν–‰ν•  수 μžˆλ‹€. λΌλŠ” 쑰건에 ν•΄λ‹Ήν•œλ‹€.

 

이 말은 즉,

 

ν•˜λ‚˜μ˜ λΉ„ν–‰κΈ°λŠ” ν•œ λͺ…μ˜ 비행사에 μ˜ν•΄ μš΄ν–‰λ˜κ³  ν•œ λͺ…μ˜ λΉ„ν–‰κΈ° μ‘°μ’…μ‚¬λŠ” ν•˜λ‚˜μ˜ λΉ„ν–‰κΈ°λ§Œ μ‘°μ’…ν•  수 μžˆμ„ λ•Œ μΌλŒ€μΌ 관계라고 ν•œλ‹€.

 

ν˜Ήμ€

 

ν•œ λͺ…μ˜ μ‹ λž‘μ€ ν•œ λͺ…μ˜ μ‹ λΆ€λ§Œ κ°–κ³  ν•œ λͺ…μ˜ μ‹ λΆ€λŠ” ν•˜λ‚˜μ˜ μ‹ λž‘μ„ κ°–κ³  μžˆμ„ λ•Œ 도 μžˆμ„ 수 μžˆκ² λ‹€.

 

μΌλŒ€λ‹€ 관계

μœ„μ˜ 쑰건을 쑰금 λ³€κ²½ν•΄μ„œ μΌλΆ€λ‹€μ²˜μ œμΈ 세상에 μ‚΄κ³  μžˆλ‹€κ³  치면, 말도 μ•ˆλ˜μ§€λ§Œ  

 

ν•œ λͺ…μ˜ μ‹ λΆ€λŠ” μ—¬λŸ¬ λͺ…μ˜ μ‹ λž‘μ„ κ°–λŠ”λ‹€, ν˜Ήμ€! ν•œλͺ…μ˜ μ‹ λž‘μ€ μ—¬λŸ¬ λͺ…μ˜ μ‹ λΆ€λ₯Ό κ°–λŠ”λ‹€.

 

μΌλŒ€λ‹€ 관계가 쓰일 수 μžˆλ‹€.

λ‹€λŒ€λ‹€ 관계

 

λ‹€λŒ€λ‹€ κ΄€κ³„λŠ” μš°λ¦¬κ°€ 쑰금 경계 ν•΄μ•Ό ν•œλ‹€.

 

μ™œλƒλ©΄ 뒀에 κ°€μ„œλŠ” μš°λ¦¬κ°€ λ‹€λŒ€λ‹€ 관계λ₯Ό μ—°κ΄€ 관계 Mapping이라고 ν•˜μ—¬ 뢄리λ₯Ό μ‹œν‚¬ 것이기 λ•Œλ¬Έμ— λ¨Όμ € λ‹€λŒ€λ‹€λŠ” 쑰금 κ²½κ³„ν•˜λ©° μ΄ν•΄ν•΄λ³΄μž.

 

우리 μƒν™œμ—μ„œλŠ” μ•„λ§ˆ ν•œ 개의 λ¬Όν’ˆμ€ μ—¬λŸ¬ λͺ…μ˜ 고객이 ꡬ맀할 수 있고 고객읜 μ—¬λŸ¬ λ¬Όν’ˆμ„ ꡬ맀할 수 μžˆλ‹€.

 

 

 

 

λŒ“κΈ€