μ κ·ν(Normalization)λ?
- κ΄κ³ν λ°μ΄ν°λ² μ΄μ€μ μ€κ³μμ μ€λ³΅μ μ΅μννκ² λ°μ΄ν°λ₯Ό ꡬ쑰ννλ νλ‘μΈμ€.
- μ κ·νμ λͺ©νλ μ΄μμ΄ μλ κ΄κ³λ₯Ό μ¬κ΅¬μ±νμ¬ μκ³ μ μ‘°μ§λ κ΄κ³λ₯Ό μμ±νλ κ².
μ¦, μ κ·νλ₯Ό νλ μ΄μ λ λ°μ΄ν°μ μ€λ³΅μ λ°©μ§νκ³ , ν¨μ¨μ μΌλ‘ λ°μ΄ν°λ₯Ό μ μ₯νκΈ° μν¨μ΄λ€. λν μ€λ³΅λ λ°μ΄ν°λ₯Ό νμ©νμ§ μμμΌλ‘μ¨ λ¬΄κ²°μ±μ μ μ§ν μ μλ€. μ€λ³΅μ λ°©μ§νκΈ° μν΄ κ°μ²΄λ₯Ό λΆλ¦¬νλλ°, μ΄λ μ½μ , μμ , κ°±μ μ΄μ*μ λ°μ κ°λ₯μ±μ μ€μ¬μ€λ€.
* μ΄μ (anomaly)
- 릴λ μ΄μ (=ν μ΄λΈ)μμ μΌλΆ μμ±λ€μ μ’ μμΌλ‘ μΈν΄ λ°μ΄ν°μ μ€λ³΅μ΄ λ°μνμ¬ ν μ΄λΈ μ‘°μ μ λΆμΌμΉκ° λ°μνλ κ².
1. κ°±μ μ΄μ
- λ°λ³΅λ λ°μ΄ν° μ€μ μΌλΆλ§ μμ νλ©΄ λ°μ΄ν°μ λΆμΌμΉκ° λ°μ.
- λ§μ½ μ΄μν¬κ° ν μ΄λΈ μμ μ¬λ¬ λ² μ‘΄μ¬ν κ²½μ°, μ£Όμλ₯Ό λ³κ²½νκ³ μΆμΌλ©΄ μ΄μν¬μ ν΄λΉνλ λͺ¨λ μ΄μ μ£Όμλ₯Ό λ°κΏμΌ νλ€. νλλ§ λ³κ²½νλ©΄ λ°μ΄ν°μ λΆμΌμΉκ° λ°μν κ²μ.
2. μ½μ μ΄μ
- λΆνμν μ 보λ₯Ό ν¨κ» μ μ₯νμ§ μκ³ λ μ΄λ€ μ 보λ₯Ό μ μ₯νλ κ²μ΄ λΆκ°λ₯.
- MOSλΌλ κ³Όλͺ©λ§ μΆκ°νκ³ μΆμλ°, μ£Όμ μ΄λ©μΌ λ± νμμ 보λ₯Ό λ μΆκ°ν΄μΌ ν¨.
3. μμ μ΄μ
- μ μ©ν μ 보λ₯Ό ν¨κ» μμ νμ§ μκ³ λ μ΄λ€ μ 보λ₯Ό μμ νλ κ²μ΄ λΆκ°λ₯.
- ν΄λΉ ν μ΄λΈ μμμ μ΄μν¬λΌλ μ¬λμ λ°μ΄ν°λ₯Ό μμ νκ³ μΆμλ°, μ 보μ²λ¦¬ κ³Όλͺ©κΉμ§ μμ λμ΄ λ²λ¦°λ€.
μ κ·ν μ μ°¨
1. μ 1μ κ·ν (1NF)
- λ°λ³΅μ μΌλ‘ λμ€λ μμ±μ μ κ±°νκ³ , λͺ¨λ μμ±μ΄ μμκ°(νλμ κ°)λ§μΌλ‘ λμ΄ μμ΄μΌ μ 1μ κ·νμ λ§μ‘±νλ€λΌκ³ ν¨.
- μ 1μ κ·ν μλ°° ν μ΄λΈ => μ€λ³΅μ΄ λ°μ => κ³΅κ° λλΉ, μ΄μ λ°μ => λ¬΄κ²°μ± μλ°° κ°λ₯.
2. μ 2μ κ·ν (2NF)
- μ 1μ κ·νμ λ§μ‘±ν΄μΌ νλ©°, λΆλΆν¨μμ μ’ μμ μ κ±°νμ¬ μμ ν¨μμ μ’ μμ λ§μ‘±νλ μ κ·ν.
* ν¨μμ μ’ μμ΄λ?
- μ΄λ€ 릴λ μ΄μ Rμμ Xμ Yλ₯Ό κ°κ° Rμ μ νΈλ¦¬λ·°νΈ μ§ν©μ λΆλΆ μ§ν©μ΄λΌκ³ ν κ²½μ° (=R ν μ΄λΈμ μ¬λ¬ μμ± μ€μμ Xμ Yκ° μ‘΄μ¬), Xμ κ° κ°κ°μ λνμ¬ μκ°μ κ΄κ³μμ΄ νμ Y κ°μ΄ νλλ§ μ°κ΄λμ΄ μμ λ, Yλ Xμ ν¨μμ μ’ μμ΄λΌκ³ νλ€. μ΄λ Xλ κ²°μ μ, Yλ μ’ μμλΌκ³ νλ€.
- κΈ°νΈλ‘ νκΈ°ν λλ X → Y
- ν¨μμ μ’ μμ μ’ λ₯μλ μμ ν¨μμ μ’ μ, λΆλΆ ν¨μμ μ’ μ, μ΄νμ ν¨μ μ’ μμ΄ μλ κ².
[λΆλΆ ν¨μμ μ’ μ]
- 릴λ μ΄μ μμ κΈ°λ³Έν€κ° 볡ν©ν€μΌ κ²½ν, κΈ°λ³Έν€λ₯Ό ꡬμ±νλ μμ± μ€ μΌλΆμκ²λ§ μ’ μλ κ²½μ°.
- μ΄ ν μ΄λΈμμ κΈ°λ³Έν€λ (νμλ²νΈ, μκ°κ³Όλͺ©) μ΄λ©°, μ΄ λμ μμμΌ μ±μ μ μλ³ν μ μλ€. κ·Έλ¬λ νμλ²νΈ νλλ§μΌλ‘ μ΄λ¦μ μλ³νλ κ΄κ³λ μ‘΄μ¬ν¨μΌλ‘ 'μ΄λ¦' μμ±μ κΈ°λ³Έν€μ λΆλΆ ν¨μ μ’ μ‘±λ κ΄κ³λ€.
[μμ ν¨μμ μ’ μ]
- λ°λΌμ 'μ΄λ¦' μμ±μ λΆλ¦¬νλ©΄, μ±μ ν μ΄λΈμ (νμλ²νΈ, μκ°κ³Όλͺ©) μΌλ‘ μ±μ λ§μ μλ³ν μ μλ μμ ν¨μμ μ’ μ μνκ° λ¨.- μ΄λ, μ 2μ κ·νμ λ§μ‘±νλ€κ³ ν¨.
3. μ 3μ κ·ν (3NF)
- μ 2μ κ·νμ λ§μ‘±ν΄μΌ νλ©°, μ΄νμ ν¨μ μ’ μ κ΄κ³λ₯Ό μ κ±°νμ¬ λΉμ΄νμ ν¨μ μ’ μ κ΄κ³λ₯Ό λ§μ‘±νλ μ κ·ν.
[μ΄νμ ν¨μμ μ’ μ]
- 릴λ μ΄μ μμ X, Y, Z λΌλ 3κ°μ μμ±μ΄ μμ λ, X → Y, Y → Z λΌλ μ’ μ κ΄κ³κ° μμ κ²½μ°, X → Z κ° μ±λ¦½λλ κ²½μ°.
- μ μ²λ²νΈλ₯Ό μλ©΄ νμλ²νΈλ₯Ό μ μ μκ³ , νμλ²νΈλ₯Ό μλ©΄ νμμ·¨λ―Έλ₯Ό μ μ μλ κ΄κ³.
- νμλ²νΈμ νμμ·¨λ―Έ μμ±μ λΆλ¦¬νλ©΄ μ μ² ν μ΄λΈμ λΉμ΄νμ ν¨μ μ’ μ μνκ° λ κ²μ.
4. BCNF (Boyce / Codd Normal Form)
- μ 3μ κ·νμ λ§μ‘±ν΄μΌ νλ©°, κ²°μ μκ° ν보ν€κ° μλ ν¨μ μ’ μμ μ κ±°νμ¬, λͺ¨λ κ²°μ μκ° ν보ν€μ¬μΌ νλ€λ κ².
- ν΄λΉ ν μ΄λΈμμ κΈ°λ³Έν€κ° λ μ μλ μ‘°ν©(=ν보ν€)μ (νλ², κ³Όλͺ©) , (νλ², κ΅μ) μ΄λ€.* (νλ², κ΅μ) λ μλλλ‘λ©΄ ν νμμ΄ κ°μ κ΅μμ μμ μ μ¬λ¬κ° λ€μ μ μμΌλ―λ‘ μλμ§λ§, ν΄λΉ ν μ΄λΈμμλ κ°λ₯.
- μ¬κΈ°μ ν¨μμ μ’ μ κ΄κ³λ₯Ό μ°ΎμΌλ©΄, (νλ², κ³Όλͺ©) μΌλ‘ κ΅μλ₯Ό μλ³ν μ μλ€. λν μ΄ ν μ΄λΈμμ (κ΅μ)λ κ³Όλͺ©μ κ²°μ νκ³ μλ€.
- κ·Έλ°λ° λ¬Έμ λ κ΅μκ° κ³Όλͺ©μ κ²°μ νλ κ²°μ μμ΄μ§λ§, ν보ν€κ° μλλΌλ κ²μ΄λ€.
- λ°λΌμ BCNFλ₯Ό λ§μ‘±νλ €λ©΄, λͺ¨λ κ²°μ μκ° ν보ν€μ¬μΌ ν¨μΌλ‘ κ΅μ μμ±μ λΆλ¦¬νμ¬ μκ° ν μ΄λΈμ λͺ¨λ κ²°μ μκ° ν보ν€κ° λλλ‘ νλ€.
5. μ 4μ κ·ν (4NF)
- 릴λ μ΄μ Rμμ λ€μΉμ’ μ* A → B κ° μ‘΄μ¬ν λ Rμ λͺ¨λ μμ±λ€μ΄ Aμ ν¨μμ’ μμ΄λ©΄ Rμ μ 4μ κ·νμ λ§μ‘±νλ€κ³ ν¨.
- μ¦, Rμ λͺ¨λ μμ± Xμ λν΄ A → X μ΄κ³ Aκ° ν보ν€.
[ν¨μμ μ’ μκ³Ό λ€μΉ μ’ μ μ°¨μ΄μ ]
* ν¨μμ μ’ μ
- 릴λ μ΄μ μμ μμ΄λ μμ±μ΄ μκ³ , μ£Όλ―Όλ²νΈ μμ±μ΄ μλ€κ³ ν λ, μμ΄λ μμ±μ μλ©΄ μ£Όλ―Όλ²νΈ μμ±μ μ μ μμ.
- μ΄λ μμ΄λ → μ£Όλ―Όλ²νΈ λ‘ νννκ³ ν¨μμ μ’ μμ΄λΌκ³ ν¨.
- ν¨μμ μ’ μμμ μ€μν κ²μ 1 : 1λ‘ λμλμΌ νλ€λ κ².
* λ€μΉ μ’ μ
- κ·Έλ¬λ, λ€μΉμ’ μμ 1 : λ€ λμκ΄κ³μ.- 릴λ μ΄μ μμ μμ΄λ μμ±μ΄ μκ³ , μκ°κ³Όλͺ© μμ±μ΄ μλ€κ³ ν λ, νλμ μμ΄λλ μ¬λ¬κ° κ³Όλͺ©μ μκ°ν μ μμΌλ―λ‘ μ΄ κ΄κ³λ ν¨μμ μ’ μμμ λ€μΉ μ’ μμ΄λΌκ³ ν¨.
- μμ΄λ ->> μκ°κ³Όλͺ© μΌλ‘ νν.
- λ€μΉ μ’ μμ μ΄μμ΄ λ°μν μ μμΌλ―λ‘ λΆν΄ λμ΄μΌ νκ³ μ΄κ±°μ μ 4μ κ·νμ΄λΌκ³ ν¨.
- κ·Έλ¬λ λΆν΄ μ΄νμλ μλ―Έ μλ μ°κ²°μ΄ μ μ§λμ΄μΌ ν¨.
- κ±°μ μ¬μ©νμ§ μλλ€κ³ λ°°μ΄ κ±Έλ‘ κΈ°μ΅,,,,
6. μ 5μ κ·ν (5NF)
- 릴λ μ΄μ Rμ μ‘΄μ¬νλ λͺ¨λ μ‘°μΈ μ’ μ(JD : Join Dependency) μ΄ Rμ ν보ν€λ₯Ό ν΅ν΄ μ±λ¦½λλ©΄ μ 5μ κ·νμ λ§μ‘±νλ€κ³ ν¨.
- νμν λ°μ΄ν°κ° μ¬λΌμ§μ§ μλ 무μμ€ λΆν΄κ° λκ³ , νμμλ λ°μ΄ν°κ° μκΈ°μ§ μλ λΉλΆκ°μ λΆν΄κ° λ 릴λ μ΄μ
* 무μμ€ μ‘°μΈ : νλμ 릴λ μ΄μ μ μ¬λ¬ κ°μ 릴λ μ΄μ μΌλ‘ λΆν΄ν ν, 곡ν΅(μλ³μ) μμ±μΌλ‘ μ‘°μΈνμ¬ λ°μ΄ν° μμ€ μμ΄ μλμ 릴λ μ΄μ μΌλ‘ 볡μν μ μλ κ²½μ°.
* λΉλΆκ°μ μ‘°μΈ : μ‘°μΈν κ²°κ³Όμ μλ 릴λ μ΄μ μ μλ λ°μ΄ν°κ° μ‘΄μ¬νμ§ μλ κ²½μ°.