π μ κ·νλ₯Ό ν΄μΌνλ μ΄μ κ° λκ°μ?
A. μλͺ»λ ν μ΄λΈ μ€κ³λ‘ μΈν΄ μ΄μνμ(Anomaly)μ΄ λ°μνκΈ° λλ¬Έμ΄λ€.
μλ£λ₯Ό μ½μ ν λ μλνμ§ μμ μλ£κΉμ§ μ½μ ν΄μΌλ§ μλ£λ₯Ό ν μ΄λΈμ μΆκ°κ° κ°λ₯ν νμ
ex) κΈ°λ³Έν€κ° {Student ID, Course ID} μΈ κ²½μ° -> Courseλ₯Ό μκ°νμ§ μμ νμμ Course IDκ° μλ νμμ΄ λ°μνλ€. κ²°κ΅ Course IDλ₯Ό Nullλ‘ ν μλ°μ μλλ°, κΈ°λ³Έν€λ Nullμ΄ λ μ μμΌλ―λ‘, Tableμ μΆκ°λ μ μμ!!
κ΅³μ΄ μ½μ νκΈ° μν΄μλ 'λ―Έμκ°'κ³Ό κ°μ Course IDλ₯Ό λ§λ€μ΄μΌ ν¨.
λΆνμν λ°μ΄ν°λ₯Ό μΆκ°ν΄μΌμ§, μ½μ ν μ μλ μν© = Insertion Anomaly
μ€λ³΅λ λ°μ΄ν° μ€ μΌλΆλ§ μμ λμ΄ λ°μ΄ν° λͺ¨μμ΄ μΌμ΄λλ νμ
ex) μ΄λ€ νμμ μ 곡 (Department) μ΄ "μ»΄ν¨ν°μμ μμ "μΌλ‘ λ°λλ κ²½μ°.
λͺ¨λ Departmentλ₯Ό "μμ "μΌλ‘ λ°κΎΈμ΄μΌ ν¨. κ·Έλ¬λ μΌλΆλ₯Ό κΉλΉ‘νκ³ λ°κΎΈμ§ λͺ»νλ κ²½μ°, μ λλ‘ νμ λͺ»ν¨.
μΌλΆλ§ λ³κ²½νμ¬, λ°μ΄ν°κ° λΆμΌμΉ νλ λͺ¨μμ λ¬Έμ = Update Anomaly
μ΄λ€ μ 보λ₯Ό μμ νλ©΄, μλνμ§ μμ λ€λ₯Έ μ 보κΉμ§ μμ λμ΄λ²λ¦¬λ νμ
ex) λ§μ½ μ΄λ€ νμμ΄ μκ°μ μ² ννλ κ²½μ°, {Student ID, Course ID, Department, Course ID, Grade}μ μ 보 μ€
Student ID, Department μ κ°μ νμμ λν μ 보λ ν¨κ» μμ λ¨.
νν μμ λ‘ μΈν΄ κΌ νμν λ°μ΄ν°κΉμ§ ν¨κ» μμ λλ λ¬Έμ = Deletion Anomaly