πŸ’» Computer Science/DB

[섀계 및 ꡬ좕]PART 02 논리적 λ°μ΄ν„°λ² μ΄μŠ€ 섀계 3μž₯

kkh1902 2022. 2. 2. 20:45
728x90
λ°˜μ‘ν˜•

ν•™μŠ΅ λͺ©ν‘œ

  • 데이터 λͺ¨λΈλ§μ— μ‚¬μš©λ˜λŠ” κ°œλ…λ“€μ„ μ΄ν•΄ν•œλ‹€.
  • λͺ¨λΈλ§ λ„κ΅¬μ˜ μ‚¬μš©λ²•μ„ μ΅νžŒλ‹€.
  • ν˜„μ‹€μ„Έκ³„μ˜ 업무λ₯Ό λΆ„μ„ν•˜μ—¬ 이λ₯Ό λͺ¨λΈλ‘œ ν‘œν˜„ν•˜λŠ” 방법을 λ°°μš΄λ‹€.
  • μ‹€μ œ 데이터 λͺ¨λΈλ§μ—μ„œ μ΄μŠˆκ°€ λ˜λŠ” λ¬Έμ œλ“€μ„ μ΄ν•΄ν•œλ‹€.

단원 λͺ©ν‘œ

  • 데이터 λͺ¨λΈλ§μ˜ κΈ°λ³Έ μš”μ†ŒμΈ μ—”ν‹°ν‹°, 속성, κΈ°λ³Έ κ°œλ…μ„ μ΄ν•΄ν•œλ‹€.
  • μ£Όμ‹λ³„μžμ™€ μ™Έλž˜μ‹λ³„μžλ₯Ό μ΄ν•΄ν•œλ‹€.
  • ERDλ₯Ό κ·Έλ¦¬λŠ” 방법을 μ΅νžŒλ‹€.

3.1 κ°œμš”

  • 논리적 λ°μ΄ν„°λ² μ΄μŠ€ μ„€κ³„λž€ ν˜„μ‹€μ„Έκ³„μ˜ 업무λ₯Ό λΆ„μ„ν•˜μ—¬ 이λ₯Ό μ•½μ†λœ ν‘œκΈ°λ²•μ„ μ‚¬μš©ν•˜μ—¬ κ°œλ…μ  λͺ¨λΈ(ERD)둜 ν‘œν˜„ν•˜λŠ” 과정을 λ§ν•˜λ©° 전체 λ°μ΄ν„°λ² μ΄μŠ€ μ„€κ³„μ—μ„œ 핡심적인 뢀뢄이닀.
  • ν˜„μ‹€μ„Έκ³„ ν‘œν˜„ : μ—”ν‹°ν‹°(entity) , 속성(attribute), 관계(relationship)

3.2 μ—”ν‹°ν‹°

3.2.1 μ—”ν‹°ν‹°μ˜ μ •μ˜

  • μ—”ν‹°ν‹°λŠ” ν˜„μ‹€μ„Έκ³„λ₯Ό 데이터 κ΄€μ μ—μ„œ λͺ¨λΈλ§ν•  λ•Œ μ‚¬μš©λ˜λŠ” 핡심적인 κ°œλ…μ΄λ‹€.
  • μ—”ν‹°ν‹°λž€ μ—…λ¬΄μ˜ 관심 λŒ€μƒμ΄ λ˜λŠ” 정보λ₯Ό κ°–κ³  μžˆκ±°λ‚˜ 그에 λŒ€ν•œ 정보λ₯Ό 관리할 ν•„μš”κ°€ μžˆλŠ” μœ ν˜•, λ¬΄ν˜•μ˜ 사물(개체)λ₯Ό λ§ν•œλ‹€.

3.2.2 μ—”ν‹°ν‹°μ˜ λΆ„λ₯˜

  1. μœ ν˜• μ—”ν‹°ν‹°
  2. λ¬΄ν˜• μ—”ν‹°ν‹°
  3. λ¬Έμ„œ μ—”ν‹°ν‹°
  4. 이λ ₯ μ—”ν‹°ν‹°
  5. μ½”λ“œ μ—”ν‹°ν‹°

3.2.3 μ—”ν‹°ν‹°μ˜ μ„±μ§ˆ

  1. μ—…λ¬΄μ—μ„œμ˜ ν•„μš”μ„±
    1. 아무리 κ·Έ 사물이 관리해야 ν•  정보λ₯Ό 가지고 μžˆλ‹€ν•˜λ”λΌλ„ μ—…λ¬΄μ˜ 관심 λŒ€μƒμ΄ μ•„λ‹ˆκ±°λ‚˜ 업무 μ ˆμ°¨μƒμ—μ„œ μ‚¬μš©λ˜μ§€ μ•ŠλŠ”λ‹€λ©΄ μ—”ν‹°ν‹°λ‘œ ν‘œν˜„ν•  ν•„μš”κ°€ μ—†λ‹€.
  2. 두 개 μ΄μƒμ˜ μΈμŠ€ν„΄μŠ€ μ†Œμœ 
  3. μ†μ„±μ˜ μ†Œμœ 
    1. μ„€λͺ…ν•  속성을 가지고 μžˆμ–΄μ•Όν•œλ‹€.

3.3 속성

  • μ†μ„±μ΄λž€ μ—”ν‹°ν‹°μ—μ„œ 관리해야 ν•  μ΅œμ†Œ λ‹¨μœ„μ˜ 정보 ν•­λͺ©μ„ λ§ν•˜λ©° μ—”ν‹°ν‹°λŠ” ν•˜λ‚˜ μ΄μƒμ˜ 속성을 ν¬ν•¨ν•œλ‹€.
  • νŠΉμ„±μ— 따라
    • κΈ°λ³Έ 속성
      • 업무 뢄석 κ³Όμ •μ—μ„œ μ—…λ¬΄μ˜ 관심 λŒ€μƒμœΌλ‘œ λΆ„λ₯˜λœ 정보 ν•­λͺ©λ“€λ‘œ 전체 속성듀 μ€‘μ—μ„œ κ°€μž₯ λ§Žμ€ 비쀑을 μ°¨μ§€ν•œλ‹€
    • μœ λ„ 속성
      • λ‹€λ₯Έ μ†μ„±μ˜ κ°’λ“€λ‘œλΆ€ν„° μœ λ„λ  수 μžˆλŠ” 속성을 λ§ν•œλ‹€.
    • 섀계 속성
      • ν˜„μ‹€μ„Έκ³„μ—λŠ” μ‘΄μž¬ν•˜μ§€ μ•Šμ§€λ§Œ 섀계λ₯Ό 보닀 효과적으둜 ν•  수 있기 μœ„ν•΄μ„œ, ν˜Ήμ€ λ‚˜μ€‘μ— 정보 μ‹œμŠ€ν…œμ΄ 운용될 λ•Œμ˜ ν•„μš”μ„± λ•Œλ¬Έμ— κ°•μ œμ μœΌλ‘œ λ§Œλ“€μ–΄μ£ΌλŠ” 속성

3.4 관계

3.4.1 κ΄€κ³„μ˜ μ •μ˜

  • κ΄€κ³„λž€ 두 μ—”ν‹°ν‹° μ‚¬μ΄μ˜ 관련성을 λ‚˜νƒ€λ‚΄λŠ” μš©μ–΄μ΄λ‹€.
  • 두 μ—”ν‹°ν‹°κ°€ 관계가 μžˆλ‹€λŠ” μ˜λ―ΈλŠ” μƒν˜Έ κ³΅μœ ν•˜λŠ” 속성이 μžˆλ‹€λŠ” μ˜λ―Έμ΄λ‹€.

3.4.2 κ΄€κ³„μ˜ μΉ΄λ””λ‚ΌλŸ¬ν‹°

  • 두 μ—”ν‹°ν‹° κ°„μ˜ 관계λ₯Ό 보닀 ꡬ체적으둜 ν‘œν˜„ν•˜λŠ” λ°©λ²•μ˜ ν•˜λ‚˜λ‘œ 각 엔티티에 속해 μžˆλŠ” μΈμŠ€ν„΄μŠ€λ“€ 간에 수적으둜 μ–΄λ–€ 관계에 μžˆλŠ”μ§€λ₯Ό λ‚˜νƒ€λ‚΄λŠ” κ°œλ…μ΄λ‹€.
  • 1:1, 1:N , N:M

3.4.3 κ΄€κ³„μ˜ 참여도

  • 참여도(partiality)μ—λŠ” ν•„μˆ˜(mendatory), 선택(optional) 두 가지가 μžˆλ‹€.
  • 선택 관계 : 기쀀이 λ˜λŠ” μ—”ν‹°ν‹°μ˜ μΈμŠ€ν„΄μŠ€μ™€ λŒ€μ‘λ˜λŠ” μΈμŠ€ν„΄μŠ€κ°€ μƒλŒ€λ°© 엔티티에 μžˆμ„ 수 도 있고 없을 μˆ˜λ„ μžˆμ„ λ•Œ
    • μΉ΄λ””λ‚ΌλŸ¬ν‹° μ•žμ— λ™κ·ΈλΌλ―Έλ‘œ ν‘œμ‹œν•œλ‹€.
  • ν•„μˆ˜ 관계 : μ–΄λŠ ν•œ μͺ½μ΄ μ‘΄μž¬ν•˜λ©΄ λ‹€λ₯Έ μͺ½λ„ λ°˜λ“œμ‹œ μ‘΄μž¬ν•΄μ•Ό ν•˜λŠ” 관계
    • μΉ΄λ””λ‚ΌλŸ¬ν‹° μ•žμ— ‘ | ‘라 ν‘œμ‹œν•œλ‹€.

3.4.4 λΆ€λͺ¨ 엔티티와 μžμ‹ μ—”ν‹°ν‹°

  • 두 μ—”ν‹°ν‹°κ°€ λΆ€λͺ¨-μžμ‹ 관계가 μžˆλ‹€λ©΄ 일반적으둜 λΆ€λͺ¨ 엔티티와 μžμ‹ μ—”ν‹°ν‹°μ˜ κ°€λ””λ‚ΌλŸ¬ν‹°λŠ” 1:N이고 μ°Έμ—¬λ„λŠ” λΆ€λͺ¨ μͺ½μ΄ ν•„μˆ˜ , μžμ‹μͺ½μ΄ 선택

3.5 μ£Όμ‹λ³„μžμ™€ μ™Έλž˜μ‹λ³„μž

  • μ£Όμ‹λ³„μž(Primary identifier)와 μ™Έλž˜μ‹λ³„μž(Foreign identifer)의 κ°œλ…μ€ κ΄€κ³„ν˜• λͺ¨λΈμ—μ„œ κΈ°λ³Έν‚€( primary key) 와 μ™Έλž˜ν‚€(foregin key)의 κ°œλ…μ— λŒ€μ‘ν•œλ‹€.
  • μ£Όμ‹λ³„μžλŠ” μ—”ν‹°ν‹° λ‚΄μ—μ„œ μΈμŠ€ν„΄μŠ€μ™€ μΈμŠ€ν„΄μŠ€λ₯Ό κ΅¬λ³„ν•˜λŠ” κΈ°μ€€μ˜ 역할을 ν•œλ‹€.
  • μ™Έλž˜μ‹λ³„μžλŠ” 엔티티와 μ—”ν‹°ν‹°λ₯Ό μ—°κ²°ν•΄μ£ΌλŠ” 고리의 역할을 ν•œλ‹€.
    • λ‹€λ₯Έ 엔티티와 연결고리 역할을 ν•œλ‹€.
    • μžμ‹ μ—”ν‹°ν‹°μ˜ μ™Έλž˜μ‹λ³„μžλŠ” λΆ€λͺ¨ μ—”ν‹°ν‹°μ˜ μ£Όμ‹λ³„μžμ™€ μ—°κ²°λœλ‹€.
  • λͺ¨λΈλ§μ—μ„œλŠ” ‘ν‚€’λΌλŠ” μš©μ–΄ λŒ€μ‹ μ— μ‹λ³„μžλΌκ³  μ“΄λ‹€.
728x90
λ°˜μ‘ν˜•