[μ •λ³΄μ²˜λ¦¬κΈ°μ‚¬ μ‹€κΈ°] μ •κ·œν™”μ™€ λ°˜μ •κ·œν™”

2022. 7. 19. 20:33

μ •κ·œν™” (Normalization)

ν…Œμ΄λΈ” μ†μ„±λ“€μ˜ μƒν˜Έμ’…μ†κ΄€κ³„ νŠΉμ„±μ„ μ΄μš©ν•΄ ν…Œμ΄λΈ”μ„ 무손싀 λΆ„ν•΄ν•˜λŠ” κ³Όμ •

λͺ©μ 

  • κ°€λŠ₯ν•œ 쀑볡성을 μ œκ±°ν•˜μ—¬ μ‚½μž…, μ‚­μ œ, κ°±μ‹  μ΄μƒμ˜ λ°œμƒ κ°€λŠ₯성을 쀄인닀.
  • λ°μ΄ν„°μ˜ 일관성과 정확성을 μœ μ§€ν•œλ‹€.
  • μ‹œμŠ€ν…œμ˜ μ„±λŠ₯을 ν–₯μƒμ‹œν‚€κ³  개발 및 운영의 νŽΈμ˜μ„±μ„ 높인닀.

 

μ •κ·œν™” κ³Όμ •

λΉ„μ •κ·œ λ¦΄λ ˆμ΄μ…˜

      ↓ 도메인이 μ›μžκ°’ (λͺ¨λ“  속성 값이 μ›μžκ°’(ν•˜λ‚˜μ˜ κ°’)으둜만 λ˜μ–΄ μžˆλŠ” μ •κ·œν˜•) (제 1μ •κ·œν™”)

1NF (1st Normal Form)

      ↓ 뢀뢄적 ν•¨μˆ˜ 쒅속 제거 (κΈ°λ³Έν‚€μ˜ 일뢀에 μ˜ν•΄μ„œ 값이 결정될 수 μžˆλŠ” 경우λ₯Ό μ—†μ•°) (제 2μ •κ·œν™”)

2NF

      ↓ μ΄ν–‰ν•¨μˆ˜ 쒅속 제거 (A→B 이고 B→C μΌλ•Œ A→C 인 경우 제거) (제 3μ •κ·œν™”)

3NF

      ↓ κ²°μ •μž ν•¨μˆ˜μ΄λ©΄μ„œ 후보킀 μ•„λ‹Œ 것 제거 (ν…Œμ΄λΈ”μ˜ κ²°μ •μžκ°€ 후보킀인 경우)

BCNF (Boyce-Codd Normal Form : λͺ¨λ“  κ²°μ •μžκ°€ 후보킀인 μ •κ·œν˜•)

      ↓ λ‹€μΉ˜ 쒅속 제거 (닀쀑값 쒅속(Multi Valued Dependency)(A→→B)이 μ‘΄μž¬ν•  경우)

4NF

       ↓ 쑰인 쒅속 제거 (ν…Œμ΄λΈ”μ˜ λͺ¨λ“  쑰인 쒅속이 후보킀λ₯Ό ν†΅ν•΄μ„œλ§Œ μ„±λ¦½λ˜λŠ” 경우)

5NF

 

 

λ°˜μ •κ·œν™” (Denormalization)

= λΉ„μ •κ·œν™”. μ •κ·œν™”λœ 데이터 λͺ¨λΈμ„ μ˜λ„μ μœΌλ‘œ 톡합, 쀑볡, λΆ„λ¦¬ν•˜μ—¬ μ •κ·œν™” 원칙을 μœ„λ°°ν•˜λŠ” ν–‰μœ„

νŠΉμ§•

  • μ‹œμŠ€ν…œμ˜ μ„±λŠ₯을 ν–₯μƒμ‹œν‚€κ³  개발 및 운영의 νŽΈμ˜μ„± 즉 관리 νš¨μœ¨μ„±μ„ 높일 수 μžˆλ‹€.
  • λ°μ΄ν„°μ˜ 일관성 및 정합성이 μ €ν•˜λ  수 μžˆλ‹€.
  • κ³Όλ„ν•œ λ°˜μ •κ·œν™”λŠ” 였히렀 μ„±λŠ₯을 μ €ν•˜μ‹œν‚¬ 수 μžˆλ‹€.

방법

  • ν…Œμ΄λΈ” 톡합 : joinν•΄ μ‚¬μš©ν•˜λŠ” κ²½μš°κ°€ λ§Žμ€ 두 ν…Œμ΄λΈ”μ„ ν•œ ν…Œμ΄λΈ”λ‘œ ν•©μΉ˜κΈ°
  • ν…Œμ΄λΈ” λΆ„ν•  : ν…Œμ΄λΈ”μ„ 수직/μˆ˜ν‰μœΌλ‘œ λΆ„ν• 
  • 쀑볡 ν…Œμ΄λΈ” μΆ”κ°€ : μž‘μ—…μ˜ νš¨μœ¨μ„±μ„ ν–₯μƒμ‹œν‚€κΈ° μœ„ν•΄ ν…Œμ΄λΈ”μ„ μΆ”κ°€(집계/μ§„ν–‰/νŠΉμ •λΆ€λΆ„ν¬ν•¨ ν…Œμ΄λΈ”)
  • 쀑볡 속성 μΆ”κ°€ : μ‘°μΈμ‹œ 데이터 쑰회 경둜λ₯Ό λ‹¨μΆ•ν•˜κΈ° μœ„ν•΄ 자주 μ‚¬μš©ν•˜λŠ” 속성을 ν•˜λ‚˜ 더 μΆ”κ°€ν•˜κΈ°

BELATED ARTICLES

more