μ€λ³΅μ μ΅μννκΈ°μν΄μ μ κ·νλ₯Ό νλ€. λ°μ΄ν°λ² μ΄μ€μ κ°μ₯ ν° λͺ©μ μ μ€λ³΅μ μ κ±°νλ κ²μ΄λ€.
μ? μ€λ³΅μ΄ μμΌλ©΄ μ΄μ νμμ΄ λ°μν μ μλ€.
π² μ΄μ νμ ( Anomaly )
- μμ μ΄μ: μ°μμ μμ λ¬Έμ λ°μ
- μ½μ μ΄μ: NULL κ° λ¬Έμ λ°μ
- μμ μ΄μ: λΆμΌμΉ λ¬Έμ λ°μ
π² ν¨μ μ’ μμ±( Functional Dependency )
μ΄λ€ μμ±μ κ°μ μλ©΄ λ€λ₯Έ μμ± κ°μ΄ μ μΌνκ² μ ν΄μ§λ μμ‘΄ κ΄κ³λ₯Ό μ’ μνλ€κ³ νλ€.
ex. νμ λ²νΈλ₯Ό μλ©΄ νμμ΄λ¦μ μ μ μλ€. νμ§λ§ νμλ²νΈλ‘ νμμ΄ μκ°νλ κ°μ’μ΄λ¦μ μ μΌνκ² μ μλ μλ€. (μ¬λ¬κ°λ₯Ό μκ°ν μ λ μκΈ°λλ¬Έμ)
X κ°κ°μ κ°μ΄ Yμ κ° ν κ°μ λμμ΄ λλ©΄ ‘Xλ Yλ₯Ό ν¨μμ μΌλ‘ κ²°μ νλ€’, X→Yλ‘ νκΈ°νλ€. Xκ° κ²°μ μμ΄λ€.
* ν¨μ μ’ μμ± κ·μΉμ΄ λ§λ€. κ·Έμ€ μ΄ν κ·μΉμ X → Y, Y → Zμ΄λ©΄ X → Zκ° μ±λ¦½νλ€.
π μ΄μνμμ νκ°μ 릴λ μ΄μ (ν μ΄λΈ)μ λκ° μ΄μμ μ λ³΄κ° ν¬ν¨λμ΄μμΌλ©΄ λνλλ€.
π κΈ°λ³Έν€κ° μλλ©΄μ κ²°μ μ(ex. X, κ²°μ κΆμ)μΈ μμ±μ΄ μμΌλ©΄ λ°μνλ€.
π² μ κ·ν ( Normalization )
μ΄μνμμ΄ λ°μνλ 릴λ μ΄μ (ν μ΄λΈ)μ λΆν΄ν΄ μ΄μνμμ μμ λ κ³Όμ μ λ§νλ€.
BCNFκΉμ§ μ§ννλ©΄ λλ€μμ μ΄μνμμ΄ μμ΄μ§λ€. λ°λΌμ BCNFκΉμ§ μ κ·νλ₯Ό μ§ννλ©΄ νμ₯μμ μΆ©λΆνλ€κ³ νλ¨νλ€.
π μ 1 μ κ·ν: λͺ¨λ μμ±κ°μ΄ μμκ°(νλμ κ°)μ κ°μ§λ κ²μ΄λ€.
π μ 2 μ κ·ν: μ 1 μ κ·νμ΄λ©°, κΈ°λ³Έν€κ° μλ μμ±μ΄ κΈ°λ³Έν€μ μμ ν¨μ μ’ μ κ΄κ³μΌ λλ₯Ό λ§νλ€.
* μμ ν¨μ μ’ μ: κΈ°λ³Έν€κ° μ¬λ¬ μμ±μΌλ‘ ꡬμ±λμ΄ μμ λ κΈ°λ³Έν€λ₯Ό ꡬμ±νλ μμ±μ€ νλκ° λ€λ₯Έ μμ±μκ² μ’ μλλ©΄ μλλ€. κΈ°λ³Έν€(A,B) → Cλ₯Ό μ’ μν λ B → Dκ° μ±λ¦½λλ©΄ μλλ€. μ΄λ° κ²½μ° B,Dμ κ°μ§κ³ λ€λ₯Έ ν μ΄λΈμ ꡬμ±ν΄μΌνλ€. κΈ°λ³Έν€λ₯Ό κΈ°μ€μΌλ‘ λ€λ₯Έ μμ±μ΄ λͺ¨λ κΈ°λ³Έν€μ μ’ μλμ΄μΌνλ€.
π μ 3 μ κ·ν: μ 2 μ κ·νμ΄λ©°, κΈ°λ³Έν€κ° μλ μμ±μ΄ κΈ°λ³Έν€μ λΉμ΄νμ μΌλ‘ μ’ μνλ κ²μ΄λ€.
* μ΄νμ μ’ μμ X → Y, Y → Z κ° μ±λ¦½νλ©΄ X → Zκ° μ±λ¦½
μλ μμλ νμμ΄ ν κ°μ’λ§ μ μ²ν μ μλ€κ³ κ°μ ν ν μ΄λΈμ΄λ€. μ΄ κ²½μ° κ°μ’μ΄λ¦κ³Ό μκ°λ£λ₯Ό λ€λ₯Έ ν μ΄λΈλ‘ λΆν΄ν΄μΌνλ€.
νμλ²νΈ | κ°μ’μ΄λ¦ | μκ°λ£ |
101 | μκ³ λ¦¬μ¦ | 10000 |
201 | μκ³ λ¦¬μ¦ | 10000 |
202 | λ°μ΄ν°λ² μ΄μ€ | 15000 |
102 | μλ£κ΅¬μ‘° | 20000 |
π BCNF: ν¨μ μ’ μμ± X → Y κ° μ±λ¦½ν λ λͺ¨λ κ²°μ μμΈ Xκ° ν보ν€μ΄λ©΄ BCNF μ κ·νμ΄λ€. κ°μ΄ μ€λ³΅λ μ μλ μμ±μ κ²°μ μκ° λλ©΄ μλλ€. λ°λΌμ λ³΄ν΅ IDκ°μ μ£Όλ‘ μ¬μ©νλ€. μ¦, κ²°μ μκ° λλ €λ©΄ κΈ°λ³Έν€μ κ°μ μ±ν₯, ν보ν€μ΄μ΄μΌνλ€.
* ν보ν€λ μ€λ³΅κ°μ΄ μλ μμ±μ λ§νλ€.
π² μ°μ΅ λ¬Έμ
* λμ μ£Όλ¬Έ μ κ·ν
β
μ 2 μ κ·ν
μ£Όλ¬Έ (μ£Όλ¬Έλ²νΈ, μ£Όλ¬Έλ μ§, νμλ²νΈ, λμSNO, μλ)
νμμ 보 (νμλ²νΈ, νμμ΄λ¦, νμμ£Όμ, μ νλ²νΈ)
λμμ 보 (λμSNO, λμλͺ , λ¨κ°)
β
↓↓↓↓
β
μ 3 μ κ·ν, BCNF
μ£Όλ¬Έ (μ£Όλ¬Έλ²νΈ, μ£Όλ¬Έλ μ§, νμλ²νΈ)
μ£Όλ¬ΈμμΈ (μ£Όλ¬Έλ²νΈ, λμSNO, μλ)
νμμ 보 (νμλ²νΈ, νμμ΄λ¦, νμμ£Όμ, μ νλ²νΈ)
λμμ 보 (λμSNO, λμλͺ , λ¨κ°)
'π.λμΈνλ > π.μΉ΄μΉ΄μ€ν΄λΌμ°λμ€μΏ¨' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[DB] μΈλ±μ€( Index ) (0) | 2024.01.03 |
---|---|
[DB] λ·° VIEW (0) | 2024.01.03 |
[DB] λΆμ μ§μ(sub query) μ°μ΅λ¬Έμ (0) | 2023.12.29 |
[DB] λΆμ μ§μ(subquery) (0) | 2023.12.29 |
[DB] DML μ°μ΅λ¬Έμ (1) | 2023.12.28 |