μ •κ·œν™” κ°œμš”

  • κ΄€κ³„ν˜• μŠ€ν‚€λ§ˆλ₯Ό 더 μž‘μ€ μ†μ„±μ˜ μ„ΈνŠΈλ‘œ μͺΌκ°œμ–΄ λ°”λžŒμ§ν•œ μŠ€ν‚€λ§ˆλ‘œ λ§Œλ“€μ–΄ κ°€λŠ” κ³Όμ •
  • ν•˜λ‚˜μ˜ 쒅속성이 ν•˜λ‚˜μ˜ λ¦΄λ ˆμ΄μ…˜μ— ν‘œν˜„λ  수 μžˆλ„λ‘ λΆ„ν•΄ν•΄κ°€λŠ” κ³Όμ •
  • λ°μ΄ν„°λ² μ΄μŠ€ 논리적 λ‹¨κ³„μ—μ„œ μˆ˜ν–‰
  • μ •κ·œν™”λœ 데이터 λͺ¨λΈμ€ 일관성, μ •ν™•μ„±, λ‹¨μˆœμ„±, 비쀑볡성, μ•ˆμ •μ„± 등을 보μž₯

 

이상(Anomaly)의 κ°œλ… 및 μ’…λ₯˜

μ •κ·œν™”λ₯Ό κ±°μΉ˜μ§€ μ•ŠμœΌλ©΄, λ°μ΄ν„°λ² μ΄μŠ€ 내에 데이터듀이 λΆˆν•„μš”ν•˜κ²Œ μ€‘λ³΅λ˜μ–΄ λ¦΄λ ˆμ΄μ…˜ μ‘°μž‘ μ‹œ κ³€λž€ν•œ 이상(Anomaly) λ°œμƒ

 

μ˜ˆμ‹œ λ¦΄λ ˆμ΄μ…˜

νšŒμ›μ½”λ“œ νšŒμ›λͺ… κ΅¬μž…ν’ˆλͺ© 가격
123 κΉ€μ΄ˆλ‘ μ΄ˆμ½”λ§› 우유 500
124 강뢄홍 λ”ΈκΈ°λ§› 우유 700
125 이검정 λ°”λ‚˜λ‚˜λ§› 우유 600
126 졜보라 μ΄ˆμ½”λ§› 우유 500
  • μ‚½μž… 이상 
    - λ―ΌνŠΈμ΄ˆμ½”λ§› μš°μœ κ°€ μΆœμ‹œλ˜μ—ˆλŠ”λ° 아직 κ΅¬λ§€ν•œ νšŒμ›μ΄ μ—†λ‹€λ©΄ μ‚½μž… 이상
    (νšŒμ›μ½”λ“œμ™€ νšŒμ›λͺ…에 μ›ν•˜μ§€ μ•Šμ€ null 값이 μ‚½μž…λ¨)
  • μ‚­μ œ 이상
    -이검정씨가 λ°”λ‚˜λ‚˜λ§› 우유 ꡬ맀λ₯Ό μ·¨μ†Œν•˜λ©΄ 이검정 νšŒμ›μ΄ μ‚¬λΌμ§€λŠ” μ‚­μ œ 이상
    (κ΅¬λ§€λ‚΄μ—­λ§Œ μ‚­μ œν•˜λŠ” 것이 μ•„λ‹Œ νšŒμ› μ •λ³΄κΉŒμ§€ μ‚­μ œλ¨)
  • κ°±μ‹  이상
    - μ΄ˆμ½” 우유 가격이 500μ›μ—μ„œ 600μ›μœΌλ‘œ 였λ₯Ό λ•Œ κ°•λΆ„ν™μ”¨μ˜ ꡬ맀 νŠœν”Œλ§Œ λ°”κΎΌλ‹€λ©΄ κ°±μ‹  이상
    (μ΅œλ³΄λΌμ”¨ νŠœν”Œμ˜ μ΄ˆμ½”λ§› 우유 가격 속성값도 κ°±μ‹ ν•˜μ§€ μ•Šμ•˜μ„ λ•Œ λͺ¨μˆœμ΄ λ°œμƒν•¨)

 

μ •κ·œν™” 원칙

  1. μ •λ³΄μ˜ 무손싀 ν‘œν˜„ - ν•˜λ‚˜μ˜ μŠ€ν‚€λ§ˆλ₯Ό λ‹€λ₯Έ μŠ€ν‚€λ§ˆλ‘œ λ³€ν™˜ν•  λ•Œ μ •λ³΄μ˜ 손싀이 μžˆμ–΄μ„œλŠ” μ•ˆλ¨
  2. λΆ„λ¦¬μ˜ 원칙 - ν•˜λ‚˜μ˜ λ…λ¦½λœ 관계성은 ν•˜λ‚˜μ˜ λ…λ¦½λœ λ¦΄λ ˆμ΄μ…˜μœΌλ‘œ λΆ„λ¦¬μ‹œμΌœ ν‘œν˜„
  3. λ°μ΄ν„°μ˜ 쀑볡성이 κ°μ†Œλ˜μ–΄μ•Ό 함

 

μ •κ·œν™” κ³Όμ •πŸŒŸ

μ†μ„±μ˜ 바탕색이 ν•˜μ–€μƒ‰μ΄λ©΄ λ¦΄λ ˆμ΄μ…˜μ΄ μ •κ·œν™” 전이고, μ΄ˆλ‘μƒ‰μ΄λ©΄ λ¦΄λ ˆμ΄μ…˜μ΄ μ •κ·œν™” ν›„ μž…λ‹ˆλ‹€!

  • 1NF (제1μ •κ·œν˜•)
    • λ¦΄λ ˆμ΄μ…˜μ— μ†ν•œ λͺ¨λ“  도메인이 μ›μžκ°’μœΌλ‘œλ§Œ λ˜μ–΄μžˆλŠ” μ •κ·œν˜•
      제 1 μ •κ·œν˜•
       
    • λ°”λ‚˜λ‚˜μ™€ λ”ΈκΈ°κ°€ 같이 μžˆμ—ˆλ˜ 속성 값을 각각의 μ›μžκ°’μœΌλ‘œ μ •κ·œν™”

 

  • 2NF (제2μ •κ·œν˜•)
    • R이 1NF이고, κΈ°λ³Έν‚€κ°€ μ•„λ‹Œ λͺ¨λ“  속성이 기본킀에 λŒ€ν•˜μ—¬ μ™„μ „ ν•¨μˆ˜μ  쒅속을 λ§Œμ‘±ν•˜λŠ” μ •κ·œν˜•
    • 제 2 μ •κ·œν˜•
    • λΆ€λΆ„ν•¨μˆ˜ 쒅속을 μ œκ±°ν•˜κΈ° μœ„ν•΄ λ¦΄λ ˆμ΄μ…˜μ„ λΆ„λ¦¬ν•˜μ—¬ μ •κ·œν™”

 

  • 3NF (제3μ •κ·œν˜•)
    • R이 2NF이고, κΈ°λ³Έν‚€κ°€ μ•„λ‹Œ λͺ¨λ“  속성이 기본킀에 λŒ€ν•΄ 이행적 쒅속을 λ§Œμ‘±ν•˜μ§€ μ•ŠλŠ” μ •κ·œν˜•
    • 제 3 μ •κ·œν™”
    • 이행적 쒅속(A이면 B이고, B이면 Cλ‹€)λ₯Ό λ§Œμ‘±ν–ˆλ˜(가격이 20이면, ν• μΈμœ¨μ΄ 10이닀)κ΄€κ³„λ‘œ μ •κ·œν™”

 

  • BCNF (Boyce-Codd μ •κ·œν˜•)
    • κ²°μ •μžκ°€ λͺ¨λ‘ 후보킀인 μ •κ·œν˜•
    • κ²°μ •μžμ΄λ©΄μ„œ 후보킀가 μ•„λ‹Œ 것 제거
    • 3NFμ—μ„œ 후보킀가 μ—¬λŸ¬ 개 μ‘΄μž¬ν•˜κ³  μ„œλ‘œ μ€‘μ²©λ˜λŠ” κ²½μš°μ— μ μš©ν•˜λŠ” κ²½μš°μ— μ μš©ν•˜λŠ” κ°•ν•œ 제 3μ •κ·œν˜•
    • μ˜ˆμ‹œ1
    • ↑μœ„μ™€ 같은 원 λ¦΄λ ˆμ΄μ…˜μ—μ„œ 3NFκΉŒμ§€ μ§„ν–‰ν•˜λ©΄ ↓두 λ¦΄λ ˆμ΄μ…˜κ³Όκ°™λ‹€.
    • μ˜ˆμ‹œ1의 3NF 만쑱
    • ↑μ΄λ•Œ, κ³Όλͺ©μ— μ€‘λ³΅λ˜λŠ” DBκ³Όλͺ©μ΄ μ‘΄μž¬ν•¨!(Primary Key μ œμ•½μ‘°κ±΄ μœ„λ°°)
    • BCNF 이행
    • λ”°λΌμ„œ κΈ°λ³Έν‚€λŠ” (ν•™λ²ˆ+κ³Όλͺ©)이 λ˜λ„λ‘ 함
    • 즉 λͺ¨λ“  κ²°μ •μžκ°€ 후보킀가 λ˜λ„λ‘ ν•œλ‹€.

 

  • 4NF (제4μ •κ·œν˜•)
    • λ‹€μΉ˜μ’…μ† 제거
  • 5NF (제5μ •κ·œν˜•)
    • 쑰인 쒅속성 이용

 

μ •κ·œν™” λͺ©μ 

  1. 데이터 ꡬ쑰의 μ•ˆμ •μ„± 및 무결성을 μœ μ§€
  2. μ–΄λ– ν•œ λ¦΄λ ˆμ΄μ…˜μ΄λ”λΌλ„ λ°μ΄ν„°λ² μ΄μŠ€ λ‚΄μ—μ„œ ν‘œν˜„μ΄ κ°€λŠ₯함
  3. 효과적인 검색 μ•Œκ³ λ¦¬μ¦˜ 생성
  4. λ°μ΄ν„°μ˜ 쀑볡을 λ°°μ œν•˜μ—¬ μ΄μƒμ˜ λ°œμƒ λ°©μ§€
  5. 데이터 μ‚½μž… μ‹œ λ¦΄λ ˆμ΄μ…˜μ„ μž¬κ΅¬μ„±ν•  ν•„μš”μ„± κ°μ†Œ
  6. 데이터 λͺ¨ν˜•μ˜ λ‹¨μˆœν™”
  7. κ°œμ²΄μ™€ μ†μ„±μ˜ λˆ„λ½μ—¬λΆ€ 확인 κ°€λŠ₯

+ Recent posts