1 μ΄μ νμ
μ΄μ(anomaly) νμμ΄λ?
λΆνμν λ°μ΄ν° μ€λ³΅μΌλ‘ μΈν΄ 릴λ μ΄μ μ λν λ°μ΄ν° μ½μ ·μμ ·μμ μ°μ°μ μνν λ λ°μν μ μλ λΆμμ©
μ΄μ νμμ μ’ λ₯
- μ½μ
μ΄μ(insertion anomaly)
- 릴λ μ΄μ μ μ λ°μ΄ν°λ₯Ό μ½μ νλ €λ©΄ λΆνμν λ°μ΄ν°λ ν¨κ» μ½μ ν΄μΌ νλ λ¬Έμ
- κ°±μ μ΄μ(update anomaly)
- 릴λ μ΄μ μ μ€λ³΅λ ν¬νλ€ μ€ μΌλΆλ§ μμ νμ¬ λ°μ΄ν°κ° λΆμΌμΉνκ² λλ λͺ¨μμ΄ λ°μνλ λ¬Έμ
- μμ μ΄μ(deletion anomaly)
- 릴λ μ΄μ μμ ν¬νμ μμ νλ©΄ κΌ νμν λ°μ΄ν°κΉμ§ μμ€λλ μ°μ μμ νμμ΄ λ°μνλ λ¬Έμ
μμ
릴λ μ΄μ :
- μ½μ
μ΄μ
- μμ§ μ΄λ²€νΈμ μ°Έμ¬νμ§ μμ μμ΄λκ° “melon”, μ΄λ¦μ΄ “μ±μμ©”, λ±κΈμ΄ “gold”μΈ μ κ· κ³ κ°μ λ°μ΄ν°λ μ΄λ²€νΈμ°Έμ¬ 릴λ μ΄μ μ μ½μ ν μ μμ – μ½μ νλ €λ©΄ μ€μ λ‘ μ°Έμ¬νμ§ μμ μμ μ΄λ²€νΈλ²νΈλ₯Ό μ½μ ν΄μΌ ν¨
- κ°±μ μ΄μ
- μμ΄λκ° “apple”μΈ κ³ κ°μ λ±κΈμ΄ “gold”μμ “vip”λ‘ λ³κ²½λμλλ°, μΌλΆ ν¬νμ λν΄μλ§ λ±κΈμ΄ μμ λλ€λ©΄ “apple” κ³ κ°μ΄ μλ‘ λ€λ₯Έ λ±κΈμ κ°μ§λ λͺ¨μμ΄ λ°μ
- μμ μ΄μ
- μμ΄λκ° “orange”μΈ κ³ κ°μ΄ μ΄λ²€νΈ μ°Έμ¬λ₯Ό μ·¨μν΄ κ΄λ ¨ ν¬νμ μμ νκ² λλ©΄ μ΄λ²€νΈ μ°Έμ¬μ κ΄λ ¨μ΄ μλ κ³ κ°μμ΄λ, κ³ κ°μ΄λ¦, λ±κΈ λ°μ΄ν°κΉμ§ μμ€λ¨
02 ν¨μ μ’ μ
ν¨μ μ’ μμ΄λ?
- X → Yλ‘ νν(Xλ κ²°μ μ, Yλ μ’ μμ)
- “Xκ° Yλ₯Ό ν¨μμ μΌλ‘ κ²°μ νλ€”
- “Yκ° Xμ ν¨μμ μΌλ‘ μ’ μλμ΄ μλ€”μ κ°μ μλ―Έ
- 릴λ μ΄μ λ΄μ λͺ¨λ ν¬νμμ νλμ X κ°μ λν Y κ°μ΄ νμ νλμ
- Xμ Yλ νλμ 릴λ μ΄μ μ ꡬμ±νλ μμ±λ€μ λΆλΆ μ§ν©
ν¨μ μ’ μ κ΄κ³ νλ¨ μ μ μ μ¬ν
- μμ± μ체μ νΉμ±κ³Ό μλ―Έλ₯Ό κΈ°λ°μΌλ‘ ν¨μ μ’
μμ±μ νλ¨ν΄μΌ ν¨
- μμ± κ°μ κ³μ λ³ν μ μμΌλ―λ‘ νμ¬ λ¦΄λ μ΄μ μ ν¬ν¨λ μμ± κ°λ§μΌλ‘ νλ¨νλ©΄ μλ¨
- μΌλ°μ μΌλ‘ κΈ°λ³Έν€μ ν보ν€λ 릴λ μ΄μ μ λ€λ₯Έ λͺ¨λ μμ±λ€μ ν¨μμ μΌλ‘ κ²°μ ν¨
- κΈ°λ³Έν€λ ν보ν€κ° μλμ΄λ λ€λ₯Έ μμ± κ°μ μ μΌνκ² κ²°μ νλ μμ±μ ν¨μ μ’ μ κ΄κ³μμ κ²°μ μκ° λ μ μμ
- κ²°μ μμ μ’ μμκ° κ°κ±°λ, κ²°μ μκ° μ’ μμλ₯Ό ν¬ν¨νλ κ²μ²λΌ λΉμ°ν ν¨μ μ’ μ κ΄κ³λ κ³ λ €νμ§ μμ
μμ
릴λ μ΄μ :
ν¨μ μ’ μ κ΄κ³ νμ :
ν¨μ μ’ μ λ€μ΄μ΄κ·Έλ¨(ν¨μ μ’ μ κ΄κ³λ₯Ό λμννμ¬ ννν κ²) :
μ’ λ₯
- μμ ν¨μ μ’
μ(FFD; Full Functional Dependency)
- 릴λ μ΄μ μμ μμ± μ§ν© Yκ° μμ± μ§ν© Xμ ν¨μμ μΌλ‘ μ’ μλμ΄ μμ§λ§, μμ± μ§ν© Xμ μ μ²΄κ° μλ μΌλΆλΆμλ μ’ μλμ§ μμμ μλ―Έ
- μΌλ°μ μΌλ‘ ν¨μ μ’ μμ μμ ν¨μ μ’ μμ μλ―Έν¨
- μ) λΉμ²¨μ¬λΆλ {κ³ κ°μμ΄λ, μ΄λ²€νΈλ²νΈ}μ μμ ν¨μ μ’ μλ¨
- λΆλΆ ν¨μ μ’
μ(PFD; Partial Functional Dependency)
- 릴λ μ΄μ μμ μμ± μ§ν© Yκ° μμ± μ§ν© Xμ μ μ²΄κ° μλ μΌλΆλΆμλ ν¨μμ μΌλ‘ μ’ μλ¨μ μλ―Έ
- μ) κ³ κ°μ΄λ¦μ {κ³ κ°μμ΄λ, μ΄λ²€νΈλ²νΈ}μ λΆλΆ ν¨μ μ’ μλ¨
03 κΈ°λ³Έ μ κ·νκ³Ό μ κ·ν κ³Όμ
μ κ·νλ?
- κ°λ
- ν¨μ μ’
μμ±μ μ΄μ©ν΄ 릴λ μ΄μ
μ μ°κ΄μ±μ΄ μλ μμ±λ€λ‘λ§ κ΅¬μ±λλλ‘ λΆν΄(decomposition)ν΄μ, μ΄μ νμμ΄ λ°μνμ§ μλ μ¬λ°λ₯Έ 릴λ μ΄μ
μΌλ‘ λ§λ€μ΄ κ°λ κ³Όμ
- κΈ°λ³Έ λͺ©ν : κ΄λ ¨μ΄ μλ ν¨μ μ’ μμ±μ λ³κ°μ 릴λ μ΄μ μΌλ‘ νν
- ν¨μ μ’
μμ±μ μ΄μ©ν΄ 릴λ μ΄μ
μ μ°κ΄μ±μ΄ μλ μμ±λ€λ‘λ§ κ΅¬μ±λλλ‘ λΆν΄(decomposition)ν΄μ, μ΄μ νμμ΄ λ°μνμ§ μλ μ¬λ°λ₯Έ 릴λ μ΄μ
μΌλ‘ λ§λ€μ΄ κ°λ κ³Όμ
- μ£Όμ μ¬ν
- μ κ·νλ₯Ό ν΅ν΄ 릴λ μ΄μ
μ 무μμ€ λΆν΄(nonloss decomposition)λμ΄μΌ ν¨
- 릴λ μ΄μ μ΄ μλ―Έμ λλ±ν 릴λ μ΄μ λ€λ‘ λΆν΄λμ΄μΌ νκ³ , λΆν΄λ‘ μΈν μ 보 μμ€μ΄ λ°μνμ§ μμμΌ ν¨
- λΆν΄λ 릴λ μ΄μ λ€μ μμ° μ‘°μΈνλ©΄ λΆν΄ μ μ 릴λ μ΄μ μΌλ‘ 볡μ κ°λ₯ν΄μΌ ν¨
- μ κ·νλ₯Ό ν΅ν΄ 릴λ μ΄μ
μ 무μμ€ λΆν΄(nonloss decomposition)λμ΄μΌ ν¨
μ κ·ν(NF; Normal Form)μ΄λ?
- 릴λ μ΄μ μ΄ μ κ·νλ μ λ
- κ° μ κ·νλ§λ€ μ μ½μ‘°κ±΄μ΄ μ‘΄μ¬
- μ κ·νμ μ°¨μκ° λμμ§μλ‘ μꡬλλ μ μ½μ‘°κ±΄μ΄ λ§μμ§κ³ μ격ν΄μ§
- 릴λ μ΄μ μ νΉμ±μ κ³ λ €ν΄μ μ ν©ν μ κ·νμ μ ν
μ 1 μ κ·ν(1NF; First Normal Form)
릴λ μ΄μ μ λͺ¨λ μμ±μ΄ λλ λΆν΄λμ§ μλ μμ κ°(atomic value)λ§ κ°μ§λ©΄ (λ€μ€ κ° μμ± X) μ 1 μ κ·νμ λ§μ‘±ν¨
μ 1 μ κ·νμ λ§μ‘±ν΄μΌ κ΄κ³ λ°μ΄ν°λ² μ΄μ€μ 릴λ μ΄μ μ΄ λ μκ²©μ΄ μμ
μ 2 μ κ·ν(2NF; Second Normal Form)
릴λ μ΄μ μ΄ μ 1 μ κ·νμ μνκ³ , κΈ°λ³Έν€κ° μλ λͺ¨λ μμ±μ΄ κΈ°λ³Έν€μ μμ ν¨μ μ’ μλλ©΄ μ 2 μ κ·νμ λ§μ‘±ν¨
Q. μ 1 μ κ·νμ μνλ 릴λ μ΄μ μ΄ μ 2 μ κ·νμ λ§μ‘±νκ² νλ €λ©΄?
A. λΆλΆ ν¨μ μ’ μμ μ κ±°νκ³ λͺ¨λ μμ±μ΄ κΈ°λ³Έν€μ μμ ν¨μ μ’ μλλλ‘ λΆν΄ν΄μΌν¨.
μμ
μ 3 μ κ·ν(3NF; Third Normal Form)
릴λ μ΄μ μ΄ μ 2 μ κ·νμ μνκ³ , κΈ°λ³Έν€κ° μλ λͺ¨λ μμ±μ΄ κΈ°λ³Έν€μ μ΄νμ ν¨μ μ’ μμ΄ λμ§ μμΌλ©΄ μ 3 μ κ·νμ λ§μ‘±ν¨
Q. μ 2 μ κ·νμ μνλ 릴λ μ΄μ μ΄ μ 3 μ κ·νμ λ§μ‘±νκ² νλ €λ©΄?
A. λͺ¨λ μμ±μ΄ κΈ°λ³Έν€μ μ΄νμ ν¨μ μ’ μμ΄ λμ§ μλλ‘ λΆν΄
μ΄νμ ν¨μ μ’ μ(transitive FD)μ΄λ?
릴λ μ΄μ μ ꡬμ±νλ 3κ°μ μμ± μ§ν© X, Y, Zμ λν΄ ν¨μ μ’ μ κ΄κ³ X → Yμ Y → Zκ° μ‘΄μ¬νλ©΄ λ Όλ¦¬μ μΌλ‘ X → Zκ° μ±λ¦½λλλ°, μ΄λ Zκ° Xμ μ΄νμ μΌλ‘ ν¨μ μ’ μλμλ€κ³ ν¨
μμ
보μ΄μ€/μ½λ μ κ·ν(BCNF; Boyce/Codd Normal Form)
릴λ μ΄μ μ ν¨μ μ’ μ κ΄κ³μμ λͺ¨λ κ²°μ μκ° ν보ν€μ΄λ©΄ 보μ΄μ€/μ½λ μ κ·νμ μνλ€.
νμμ±
- νλμ 릴λ μ΄μ μ μ¬λ¬ κ°μ ν보ν€κ° μ‘΄μ¬νλ κ²½μ°, μ 3 μ κ·νκΉμ§ λͺ¨λ λ§μ‘±ν΄λ μ΄μ νμμ΄ λ°μν μ μμ
κ°ν μ 3 μ κ·ν(strong 3NF)
- ν보ν€λ₯Ό μ¬λ¬ κ° κ°μ§κ³ μλ 릴λ μ΄μ μ λ°μν μ μλ μ΄μ νμμ ν΄κ²°νκΈ° μν΄ μ 3 μ κ·νλ³΄λ€ μ’ λ μ격ν μ μ½μ‘°κ±΄μ μ μ
- 보μ΄μ€/μ½λ μ κ·νμ μνλ λͺ¨λ 릴λ μ΄μ μ μ 3 μ κ·νμ μνμ§λ§, μ 3 μ κ·νμ μνλ λͺ¨λ 릴λ μ΄μ μ΄ λ³΄μ΄μ€/μ½λ μ κ·νμ μνλ κ²μ μλ
μμ
μ 4 μ κ·ν
릴λ μ΄μ μ΄ λ³΄μ΄μ€/μ½λ μ κ·νμ λ§μ‘±νλ©΄μ, ν¨μ μ’ μμ΄ μλ λ€μΉ μ’ μ(MVD; Multi Valued Dependency)μ μ κ±°νλ©΄ μ 4 μ κ·νμ μν¨
μ 5 μ κ·ν
릴λ μ΄μ μ΄ μ 4 μ κ·νμ λ§μ‘±νλ©΄μ, ν보ν€λ₯Ό ν΅νμ§ μλ μ‘°μΈ μ’ μ (JD; Join Dependency)μ μ κ±°νλ©΄ μ 5 μ κ·νμ μν¨
μ κ·ν μ μ£Όμμ¬ν
- λͺ¨λ 릴λ μ΄μ μ΄ μ 5 μ κ·νμ μν΄μΌλ§ λ°λμ§ν κ²μ μλ
- μΌλ°μ μΌλ‘ μ 3 μ κ·νμ΄λ 보μ΄μ€/μ½λ μ κ·νμ μνλλ‘ λ¦΄λ μ΄μ μ λΆν΄νμ¬ λ°μ΄ν° μ€λ³΅μ μ€μ΄κ³ μ΄μ νμμ ν΄κ²°νλ κ²½μ°κ° λ§μ
'DB' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
10μ₯ ν볡과 λ³ν μ μ΄ (0) | 2021.06.20 |
---|---|
IE νκΈ°λ² (0) | 2021.06.20 |
8μ₯ λ°μ΄ν°λ² μ΄μ€ μ€κ³ (0) | 2021.06.20 |
7μ₯ λ°μ΄ν°λ² μ΄μ€ μΈμ΄ SQL (0) | 2021.04.17 |
6μ₯ κ΄κ³ λ°μ΄ν° μ°μ° (0) | 2021.04.17 |
5μ₯ κ΄κ³ λ°μ΄ν° λͺ¨λΈ (0) | 2021.03.17 |