λ°μ΄ν„°λ² μ΄μŠ€ μ •κ·œν™” μ™„λ²½ κ°€μ΄λ“œ

좜제 λΉˆλ„: 상
빈좜 νƒœκ·Έ: 쒅속성, μ •κ·œν™” 단계, 이상 ν˜„μƒ

데이터 쒅속성 (Data Dependency)

κΈ°λ³Έ κ°œλ…

  • μ •μ˜: 데이터와 또 λ‹€λ₯Έ 데이터가 μ„œλ‘œ μ˜μ‘΄κ΄€κ³„λ₯Ό κ°€μ§€λŠ” 것
    • Aκ°€ 변경될 λ•Œ B도 λ³€κ²½λ˜κ³ , Aκ°€ μ‚­μ œλ  λ•Œ B도 μ‚­μ œλ¨
  • 데이터 μ’…μ†μ„±μœΌλ‘œ 인해 λ³€κ²½, μ‚½μž…, μ‚­μ œ λ“± μ œμ•½μ΄ λ”°λ₯΄κ±°λ‚˜ 무결성이 훼손됨
  • μ’…λ₯˜: ν•¨μˆ˜ 쒅속, λ‹€κ°€(λ‹€μΉ˜)쒅속, 쑰인 쒅속

ν•¨μˆ˜ 쒅속 (Functional Dependency)

  • ν•œ 속성이 λ‹€λ₯Έ 속성을 μœ μΌν•˜κ²Œ 식별할 수 μžˆλŠ” μƒνƒœ
  • A속성이 B속성을 μœ μΌν•˜κ²Œ 식별: A -> B
  • κ΅¬μ„±μš”μ†Œ:
    • κ²°μ •μž(Determinant): 쒅속성 규λͺ…μ˜ κΈ°μ€€ 속성, μœ μΌν•¨, 쀑볡 λΉ„ν—ˆμš©
    • μ’…μ†μž(Dependent): κ²°μ •μžμ— μ˜ν•΄ 값이 μ •ν•΄μ§€λŠ” 속성, 쀑볡 ν—ˆμš©

λ‹€κ°€(λ‹€μΉ˜) 쒅속 (MultiValued Dependency)

  • ν•˜λ‚˜μ˜ κ²°μ •μžκ°€ λ‹€λ₯Έ μ—¬λŸ¬ κ΄€λ ¨μ—†λŠ” μ†μ„±μ˜ 값을 결정함
  • μ’…μ†μžλΌλ¦¬λŠ” μ„œλ‘œ 관련이 μ—†μŒ
  • ν‘œκΈ°: G ->> H | J
  • μ˜ˆμ‹œ: ν•™λ²ˆ -> 이름 λŒ€μ—¬νšŸμˆ˜

쑰인 쒅속 (Join Dependency)

  • μ…‹ μ΄μƒμ˜ λ¦΄λ ˆμ΄μ…˜μœΌλ‘œ λΆ„ν•΄ν•œ λ’€ λ‹€μ‹œ μ‘°μΈν•˜μ—¬ 볡원할 수 있음
  • 곡톡킀λ₯Ό κΈ°μ€€μœΌλ‘œ λ‹€μ‹œ μ‘°μΈλ˜μ–΄ 볡원할 수 μžˆμ–΄μ•Ό 함

페포 (Closure)

κΈ°λ³Έ κ°œλ…

  • μ •μ˜: νŠΉμ • 속성에 μ’…μ†λ˜μ—ˆλ‹€κ³  μΆ”λ‘  κ°€λŠ₯ν•œ λͺ¨λ“  μ†μ„±μ˜ μ§‘ν•©
  • 예: νšŒμ›λ²ˆν˜Έ μ†μ„±μ˜ 폐포 = νšŒμ›λ²ˆν˜Έ+

쒅속성 μΆ”λ‘  κ·œμΉ™

  1. λ°˜μ‚¬(Reflexicity): Yκ°€ X의 뢀뢄집합일 λ•Œ X->Y 성립
  2. 증가(Augmentation): X->Y이면 XZ->YZ 성립
  3. 이행(Transitivity): X->Y이고 Y->Z이면 X->Z 성립
  4. κ²°ν•©(Union): X->Y이고 X->Z이면 X->YZ 성립
  5. λΆ„ν•΄(Decomposition): X->YZ이면 X->Y이고 X->Z 성립
  6. μ˜μ‚¬μ΄ν–‰(Pseudo Transitivity): X->Y이고 YZ->W이면, XZ->W 성립

μ •κ·œν™” (Normalization)

κ°œλ…

  • μ •μ˜: 쀑볡성을 μ΅œμ†Œν™”ν•˜κ³  μ •λ³΄μ˜ 일관성을 보μž₯
  • 논리 데이터 λͺ¨λΈλ§ 상세화에 κ°€μž₯ μ€‘μš”ν•œ 단계

β­μ •κ·œν˜• 단계⭐

  • λΉ„μ •κ·œν˜•: μ •κ·œν™” μ§„ν–‰ μ•ˆλœ μƒνƒœ
  • κΈ°λ³Έ μ •κ·œν˜•:
    • 1NF
    • 2NF (λΆ€λΆ„ ν•¨μˆ˜ 쒅속 제거)
    • 3NF (이행적 ν•¨μˆ˜ 쒅속 제거)
    • BCNF
  • κ³ κΈ‰ μ •κ·œν˜•:
    • 4NF (λ‹€μΉ˜ 쒅속 제거)
    • 5NF (쑰인 쒅속 제거)

μ •κ·œν™” νŠΉμ§•

  • μ •ν™•μ„±, μΌμΉ˜μ„±, λ‹¨μˆœμ„±, 비쀑볡성, μ•ˆμ •μ„± 보μž₯
  • λΆ„ν•΄ νŒλ‹¨κΈ°μ€€ 제곡
  • 무결성 μœ μ§€ κ°€λŠ₯
  • μœ μ—°ν•œ 데이터 ꡬ좕 κ°€λŠ₯ (단, 물리적 μ ‘κ·Όκ²½λ‘œ λ³΅μž‘ν™”)

이상 ν˜„μƒ

  • λͺ©μ : 데이터 μ‚½μž…, κ°±μ‹ , μ‚­μ œμ—μ„œ λ°œμƒν•˜λŠ” μ΄μƒν˜„μƒ 제거
  • μ’…λ₯˜:
    • μ‚½μž… 이상: νŠœν”Œ μ‚½μž… μ‹œ κ΄€λ ¨μ—†λŠ” 정보 ν•¨κ»˜ μ‚½μž…
    • κ°±μ‹  이상: νŠœν”Œ κ°±μ‹  μ‹œ 데이터 뢈일치
    • μ‚­μ œ 이상: νŠœν”Œ μ‚­μ œ μ‹œ κ΄€λ ¨λœ 정보 ν•¨κ»˜ μ‚­μ œ

μ •κ·œν˜• 단계별 μ„€λͺ…

  1. 제1μ •κ·œν˜• (1NF)
    • λͺ¨λ“  μ†μ„±μ˜ 도메인이 μ›μžκ°’μ„ 가짐
    • μ›μžκ°’μ΄ μ•„λ‹Œ 값을 κ°€μ§€λŠ” 속성 제거
    • 쀑볡 μ œκ±°κ°€ μ•„λ‹Œ μ›μžκ°’ 보μž₯
  2. 제2μ •κ·œν˜• (2NF)
    • λͺ¨λ“  속성이 μ™„μ „ ν•¨μˆ˜ 쒅속을 가짐
    • μ™„μ „ ν•¨μˆ˜ 쒅속: μ’…μ†μžκ°€ λͺ¨λ“  κ²°μ •μžμ— 쒅속
    • λΆ€λΆ„ ν•¨μˆ˜ 쒅속: μ’…μ†μžκ°€ 일뢀 κ²°μ •μžμ— 쒅속
    • μ˜ˆμ‹œ:
      • λΆ€λΆ„ν•¨μˆ˜μ’…μ†: ν•™λ²ˆ->이름
      • μ™„μ „ν•¨μˆ˜μ’…μ†: {ν•™λ²ˆ,κ³Όλͺ©}->성적
  3. 제3μ •κ·œν˜• (3NF)
    • 이행적 ν•¨μˆ˜ 쒅속을 κ°€μ§„ 속성이 제거된 λ¦΄λ ˆμ΄μ…˜ μŠ€ν‚€λ§ˆ
    • μ˜ˆμ‹œ: λ„μ„œμ½”λ“œ->λ„μ„œλͺ…, λ„μ„œλͺ…->μ €μž, λ„μ„œμ½”λ“œ->μ €μž
    • λͺ¨λ“  속성이 λ¦΄λ ˆμ΄μ…˜μ˜ 기본킀에 μ΄ν–‰μ μœΌλ‘œ μ’…μ†λ˜μ§€ μ•ŠμŒ
  4. BCNF (Boyce-Codd μ •κ·œν˜•)
    • κ²°μ •μžκ°€ 후보킀가 μ•„λ‹Œ ν•¨μˆ˜ 쒅속이 제거된 μŠ€ν‚€λ§ˆ
    • λ¦΄λ ˆμ΄μ…˜μ΄ 3NF이고 λͺ¨λ“  κ²°μ •μžκ°€ 후보킀
    • μ‹€μ œμ μΈ μ •κ·œν™”μ˜ λͺ©ν‘œκ°€ λ˜λŠ” 단계
  5. 제4μ •κ·œν˜• (4NF)
    • λ‹€μΉ˜μ’…μ†μ„±μ„ κ°€μ§„ 속성을 제거
    • 예: κ³Όλͺ© -Β» 강사 ν”„λ‘œκ·Έλž¨
  6. 제5μ •κ·œν˜• (5NF)
    • 쑰인 쒅속을 제거
    • 쑰인 쒅속성이 후보킀λ₯Ό ν†΅ν•΄μ„œλ§Œ 성립

논리 데이터 λͺ¨λΈ ν’ˆμ§ˆ 검증

쒋은 데이터 λͺ¨λΈμ˜ 쑰건

  • μš”κ΅¬μ‚¬ν•­μ΄ 빠짐없이 κ΅¬ν˜„
  • μ‹œμŠ€ν…œ μš΄μ˜μ— μ΅œμ ν™”
  • (단, 객관적인 기쀀이 μ—†μ–΄ 평가가 어렀움)

데이터 λͺ¨λΈμ˜ ν‰κ°€μš”μ†Œ

  • μ™„μ „μ„±: μ™„μ „νžˆ(빠짐없이) ν’ˆμ§ˆ 평가
  • 쀑볡 배제: ν•„μš”μ— 따라 데이터λ₯Ό μΌλΆ€λŸ¬ μ€‘λ³΅μ‹œν‚΄
  • 업무 κ·œμΉ™: μ΄ν•΄κ΄€κ³„μžλ“€μ΄ λ™μΌν•œ νŒλ‹¨ ν•˜μ— 데이터 μ‘°μž‘
  • 데이터 μž¬μ‚¬μš©: 톡합 섀계λ₯Ό ν†΅ν•œ μž¬μ‚¬μš©μ„± ν–₯상
  • μ•ˆμ •μ„± 및 ν™•μž₯μ„±
  • κ°„κ²°μ„±
  • μ˜μ‚¬μ†Œν†΅

논리 데이터 λͺ¨λΈ ν’ˆμ§ˆ κΈ°μ€€

  • μ •ν™•μ„±
  • μ™„μ „μ„± (λˆ„λ½ μ΅œμ†Œν™”)
  • μ€€κ±°μ„± (데이터 ν‘œμ€€, ν‘œμ€€ν™” κ·œμΉ™, 법적 μš”κ±΄ μ€€μˆ˜)
  • μ΅œμ‹ μ„±
  • 일관성 (톡합성)
  • ν™œμš©μ„±