# Anomaly



μ •κ·œν™”λ₯Ό ν•΄μ•Όν•˜λŠ” μ΄μœ λŠ” 잘λͺ»λœ ν…Œμ΄λΈ” μ„€κ³„λ‘œ 인해 Anomaly (이상 ν˜„μƒ)κ°€ λ‚˜νƒ€λ‚˜κΈ° λ•Œλ¬Έμ΄λ‹€.

이 νŽ˜μ΄μ§€μ—μ„œλŠ” Anomalyκ°€ 무엇인지 μ‚΄νŽ΄λ³Έλ‹€.

예) {Student ID, Course ID, Department, Course ID, Grade}

  1. # μ‚½μž… 이상 (Insertion Anomaly)

    κΈ°λ³Έν‚€κ°€ {Student ID, Course ID} 인 경우 -> Courseλ₯Ό μˆ˜κ°•ν•˜μ§€ μ•Šμ€ 학생은 Course IDκ°€ μ—†λŠ” ν˜„μƒμ΄ λ°œμƒν•¨. κ²°κ΅­ Course IDλ₯Ό Null둜 ν•  μˆ˜λ°–μ— μ—†λŠ”λ°, κΈ°λ³Έν‚€λŠ” Null이 될 수 μ—†μœΌλ―€λ‘œ, Table에 좔가될 수 μ—†μŒ.

    ꡳ이 μ‚½μž…ν•˜κΈ° μœ„ν•΄μ„œλŠ” 'λ―Έμˆ˜κ°•'κ³Ό 같은 Course IDλ₯Ό λ§Œλ“€μ–΄μ•Ό 함.

    λΆˆν•„μš”ν•œ 데이터λ₯Ό 좔가해야지, μ‚½μž…ν•  수 μžˆλŠ” 상황 = Insertion Anomaly

  2. # κ°±μ‹  이상 (Update Anomaly)

    λ§Œμ•½ μ–΄λ–€ ν•™μƒμ˜ 전곡 (Department) 이 "μ»΄ν“¨ν„°μ—μ„œ μŒμ•…"으둜 λ°”λ€ŒλŠ” 경우.

    λͺ¨λ“  Departmentλ₯Ό "μŒμ•…"으둜 λ°”κΎΈμ–΄μ•Ό 함. κ·ΈλŸ¬λ‚˜ 일뢀λ₯Ό κΉœλΉ‘ν•˜κ³  바꾸지 λͺ»ν•˜λŠ” 경우, μ œλŒ€λ‘œ νŒŒμ•… λͺ»ν•¨.

    μΌλΆ€λ§Œ λ³€κ²½ν•˜μ—¬, 데이터가 뢈일치 ν•˜λŠ” λͺ¨μˆœμ˜ 문제 = Update Anomaly

  3. # μ‚­μ œ 이상 (Deletion Anomaly)

    λ§Œμ•½ μ–΄λ–€ 학생이 μˆ˜κ°•μ„ μ² νšŒν•˜λŠ” 경우, {Student ID, Course ID, Department, Course ID, Grade}의 정보 쀑

    Student ID, Department 와 같은 학생에 λŒ€ν•œ 정보도 ν•¨κ»˜ μ‚­μ œλ¨.

    νŠœν”Œ μ‚­μ œλ‘œ 인해 κΌ­ ν•„μš”ν•œ λ°μ΄ν„°κΉŒμ§€ ν•¨κ»˜ μ‚­μ œλ˜λŠ” 문제 = Deletion Anomaly

μ΅œμ’… μˆ˜μ • : 12/17/2022, 7:23:59 AM