0. λ©΄μ μ§λ¬Έ
- μ΄μ νμμ΄ λκΉμ?
- μ½μ μ΄μ(Insertion Anomaly)μ λν΄μ μ€λͺ ν΄μ£ΌμΈμ.
- κ°±μ μ΄μ(Update Anomaly)μ λν΄μ μ€λͺ ν΄μ£ΌμΈμ.
- μμ μ΄μ(Deletion Anomaly)μ λν΄μ μ€λͺ ν΄μ£ΌμΈμ.
- ν¨μ μ’ μμ±μ΄ 무μμΈκ°μ?
- μμ ν¨μμ μ’ μμ λκ°μ?
- λΆλΆ ν¨μμ μ’ μμ λκ°μ?
- μ΄νμ ν¨μμ μ’ μμ λκ°μ?
- μ κ·ν(Normalization)μ λν΄μ μ€λͺ ν΄μ£ΌμΈμ.
- μ 1 μ κ·νμ λν΄μ μ€λͺ ν΄μ£ΌμΈμ.
- μ 2 μ κ·νμ λν΄μ μ€λͺ ν΄μ£ΌμΈμ.
- μ 3 μ κ·νμ λν΄μ μ€λͺ ν΄μ£ΌμΈμ.
- BCNF μ κ·νμ λν΄μ μ€λͺ ν΄μ£ΌμΈμ.
- λ°μ κ·νμ λν΄μ μ€λͺ ν΄μ£ΌμΈμ.
1. μ΄μ νμ
- κ°λ : λ°μ΄ν°λ² μ΄μ€ μ€κ³ μ λ°μν μ μλ λΉμ μμ μΈ μν©
- μ£Όλ‘ λΉμ κ·νλ λ°μ΄ν°λ² μ΄μ€μμ λ°μνλ©°, λ°μ΄ν°μ μ½μ , κ°±μ , μμ κ³Όμ μμ μΌκ΄μ±μ΄ κΉ¨μ§κ±°λ μμνμ§ λͺ»ν λ¬Έμ λ€μ΄ λ°μνλ κ²μ μλ―Έ
- μ’
λ₯
- μ½μ μ΄μ: μ λ°μ΄ν°λ₯Ό μ½μ νκΈ° μν΄ λΆνμν λ°μ΄ν°λ ν¨κ» μ½μ ν΄μΌ νλ λ¬Έμ
- κ°±μ μ΄μ: μ€λ³΅ νν μ€ μΌλΆλ§ λ³κ²½νμ¬ λ°μ΄ν°κ° λΆμΌμΉνκ² λλ λͺ¨μμ λ¬Έμ
- μμ μ΄μ: ννμ μμ νλ©΄ κΌ νμν λ°μ΄ν°κΉμ§ ν¨κ» μμ λλ λ°μ΄ν° μμ€μ λ¬Έμ
- λ°μ΄ν° μ κ·νλ₯Ό ν΅ν΄ ν΄κ²° κ°λ₯
μ½μ μ΄μ
- κ°λ : μ λ°μ΄ν°λ₯Ό μ½μ νκΈ° μν΄ λΆνμν λ°μ΄ν°λ ν¨κ» μ½μ ν΄μΌ νλ λ¬Έμ
- νΉμ λ°μ΄ν°λ₯Ό μ½μ νκΈ° μν΄ λΆνμν μ 보λ ν¨κ» μ λ ₯ν΄μΌ νκ±°λ, μΌλΆ λ°μ΄ν°λ₯Ό μ λ ₯ν μ μλ μν©μ΄ λ°μ κ°λ₯
- μλ₯Ό λ€μ΄, νμκ³Ό μμ μ 보λ₯Ό νλμ ν μ΄λΈμ μ μ₯νλ κ²½μ°, νμμ΄ μμ§ μμ μ λ±λ‘νμ§ μμμ§λ§ νμ μ 보λ₯Ό μ½μ ν΄μΌ ν λ, μμ μ λ³΄κ° μμ΄μ λ°μ΄ν°λ₯Ό μ½μ νμ§ λͺ»νλ κ²½μ°κ° λ°μ κ°λ₯
κ°±μ μ΄μ
- κ°λ : μ€λ³΅ νν μ€ μΌλΆλ§ λ³κ²½νμ¬ λ°μ΄ν°κ° λΆμΌμΉνκ² λλ λͺ¨μμ λ¬Έμ
- λμΌν μ λ³΄κ° μ¬λ¬ κ³³μ μ€λ³΅ μ μ₯λμ΄ μμ κ²½μ°, ν κ³³μμ λ°μ΄ν°λ₯Ό μμ νμ λ λ€λ₯Έ κ³³μμλ μμ λμ§ μμ λ°μ΄ν° λΆμΌμΉκ° λ°μ κ°λ₯
- μλ₯Ό λ€μ΄, Jeongμ΄λΌλ IDλ₯Ό κ°μ§ κ³ κ°μ λ±κΈμ΄ SilverμΌλ, μ΄ κ³ κ°μ μ₯λ°κ΅¬λμ λ΄κΈ΄ μνμ΄ 1 3κ°κ° μλ€κ³ ν΄λ³΄μ. μ΄λ, μ΄ κ³ κ°μ λ±κΈμ΄ Goldλ‘ λ°λλ€λ©΄, μ΄ κ³ κ°μ μ₯λ°κ΅¬λμ μλ μν κ°κ°μ κ³ κ°μ λ±κΈ λͺ¨λ Goldλ‘ λ°λμ΄μΌ νλ€. ν ν μ΄λΈμμ λ±κΈμ λ³κ²½νμ§λ§ λ€λ₯Έ ν μ΄λΈμμλ λ³κ²½λμ§ μμΌλ©΄ λ°μ΄ν°κ° μΌκ΄λμ§ μμ
μμ μ΄μ
- κ°λ : ννμ μμ νλ©΄ κΌ νμν λ°μ΄ν°κΉμ§ ν¨κ» μμ λλ λ°μ΄ν° μμ€μ λ¬Έμ
- νΉμ λ°μ΄ν°λ₯Ό μμ νλ €κ³ ν λ, μλνμ§ μμ λ€λ₯Έ μ 보κΉμ§ ν¨κ» μμ λλ μν©
- μλ₯Ό λ€μ΄, μμ κ³Ό νμ μ 보λ₯Ό νλμ ν μ΄λΈμ μ μ₯ν κ²½μ°, νΉμ μμ μ μμ νλ €κ³ ν λ κ·Έ μμ μ λ£λ νμ μ 보κΉμ§ ν¨κ» μμ λλ μν©μ΄ λ°μκ°λ₯ -> ν΄λΉ νμμ μ 보λ μ΄λμμλ μ°Ύμ μ μλ λ°μ΄ν° μμ€μ΄ λ°μ
μ κ·νμ νμμ±
- μ΄μνμμ΄ λ°μνλ μ΄μ ? κ΄λ ¨ μλ λ°μ΄ν°λ€μ νλμ 릴λ μ΄μ μ λͺ¨μλκ³ μκΈ° λλ¬Έ
- μ κ·νλ₯Ό ν΅ν΄ 릴λ μ΄μ μ λΆν΄νλ©΄ ν΄κ²°
2. ν¨μ μ’ μμ±(Functional Dependency)
- κ°λ : λ°μ΄ν°λ² μ΄μ€μ ν μμ±μ΄ λ€λ₯Έ μμ±μ μν΄ κ³ μ νκ² κ²°μ λλ κ΄κ³
- ν μ΄λΈμμ μμ± Xκ° μμ± Yλ₯Ό κ³ μ νκ² κ²°μ ν μ μλ€λ©΄, μμ± Yλ μμ± Xμ ν¨μμ μΌλ‘ μ’ μλμ΄ μλ€.
- μ΄λ₯Ό μνμ μΌλ‘λ X→Yλ‘ νν
- μ΄λ, Xλ₯Ό κ²°μ μ, Yλ₯Ό μ’ μμλΌ νλ€.
- μμ
ID | μ΄λ¦ | λ±κΈ |
abc | Jeong A | Gold |
def | Kim B | Silver |
ghi | Park C | Gold |
jkl | Lee D | Bronze |
- 릴λ μ΄μ μ΄ μμ κ°μ λ, IDκ° μ΄λ¦μ κ²°μ νλ€κ³ λ³Ό μ μλ€.
- μ£Όμμ : νμ¬ μμ μ 릴λ μ΄μ
μ ν¬ν¨λ μμ± κ°λ§μΌλ‘ μ’
μ κ΄κ³λ₯Ό νλ¨νλ©΄ μ λλ€.
- μμ± κ°μ κ³μ λ³ν μ μκΈ°μ -> μμ± μ체μ μλ―Έλ₯Ό κΈ°λ°μΌλ‘ νλ¨ν΄μΌ νλ€.
μμ ν¨μμ μ’ μ(Full FD)
- μ΄λ€ μμ±μ΄ κΈ°λ³Έ ν€μ λͺ¨λ μμ±μ λν΄ ν¨μμ μΌλ‘ μ’ μλμ΄ μλ κ²½μ°
- μ¦, κΈ°λ³Έ ν€ μ 체λ₯Ό νμλ‘ νλ©°, κ·Έ μ€ μΌλΆλ§μΌλ‘λ κ²°μ λμ§ μλλ€.
- μλ₯Ό λ€μ΄, (νμ ID, κ³Όλͺ© μ½λ)λ‘ μ΄λ£¨μ΄μ§ κΈ°λ³Έ ν€μ λν΄ νμμ μ±μ μ΄ κ²°μ λλ€λ©΄, μ±μ μ (νμ ID, κ³Όλͺ© μ½λ)μ μμ ν¨μμ μΌλ‘ μ’ μλμ΄ μλ€.
λΆλΆ ν¨μμ μ’ μ(Partial FD)
- κΈ°λ³Έ ν€μ μΌλΆ μμ±μλ§ μμ‘΄νμ¬ κ²°μ λλ μ’ μμ±
- μλ₯Ό λ€μ΄, (νμ ID, κ³Όλͺ© μ½λ)λ‘ μ΄λ£¨μ΄μ§ κΈ°λ³Έ ν€μμ νμ μ΄λ¦μ΄ κ²°μ λλ κ²½μ°λ₯Ό μκ°ν΄λ³΄μ, νμ IDλ§μΌλ‘ νμμ μ΄λ¦μ΄ κ²°μ λκΈ°μ μ¦, νμ μ΄λ¦μ (νμ ID)μλ§ μμ‘΄νκ³ κ³Όλͺ© μ½λμλ μμ‘΄νμ§ μκΈ° λλ¬Έμ λΆλΆ ν¨μμ μ’ μμ΄λΌκ³ νλ€.
μ΄νμ ν¨μμ μ’ μ(Transitive FD)
- Aκ° Bλ₯Ό κ²°μ νκ³ , Bκ° Cλ₯Ό κ²°μ ν λ, Aκ° Cλ₯Ό κ°μ μ μΌλ‘ κ²°μ νκ² λλ μ’ μμ±
- μλ₯Ό λ€μ΄, νκ³Ό μ½λκ° νκ³Ό μ΄λ¦μ κ²°μ νκ³ , νκ³Ό μ΄λ¦μ΄ νκ³Όμ₯ μ΄λ¦μ κ²°μ νλ€λ©΄, νκ³Ό μ½λλ νκ³Όμ₯ μ΄λ¦μ μ΄νμ μΌλ‘ κ²°μ νλ κ²
3. μ κ·ν(Normalization)?
- κ°λ
- λ°μ΄ν°λ² μ΄μ€ μ€κ³ κ³Όμ μμ μ΄μ νμμ μ΅μννκ³ λ°μ΄ν°μ μΌκ΄μ±μ μ μ§νκΈ° μν΄ λ°μ΄ν°λ₯Ό μ¬λ¬ κ°μ μμ ν μ΄λΈλ‘ λλλ κ³Όμ μ΄λ€. μ¦, μ΄μνμμ μμ λ κ³Όμ μ΄λ€.
- λ°λΌμ μ κ·νλ₯Ό μ§ννλ©΄ μ¦, μ κ·νμ΄ λμμ§μλ‘ μ΄μνμμ μ€μ΄λ λ€.
- λ°μ΄ν° μ€λ³΅μ μ€μμΌλ‘μ¨ λ¬΄κ²°μ±μ μ μ§νκ³ , λ°μ΄ν° κ°±μ μ λΉμ μμ μΈ λμμ λ°©μ§νλ€.
- μ°¨μκ° λμ μ κ·νμ μνλ 릴λ μ΄μ μΌμλ‘ λ°μ΄ν° μ€λ³΅μ΄ μ€μ΄ λ°μ΄ν° μ€λ³΅μ μν μ΄μ νμμ΄ λ°μνμ§ μλ λ°λμ§ν 릴λ μ΄μ μΌ μ μμ§λ§, 릴λ μ΄μ μ νΉμ±μ κ³ λ €ν΄μ μ ν©ν μ κ·νμ μ νν΄μΌ νλ€.
- μ₯μ
- λ°μ΄ν°λ² μ΄μ€ λ³κ²½ μ μ΄μ νμ μ κ±° κ°λ₯
- μ κ·νλ λ°μ΄ν°λ² μ΄μ€ ꡬ쑰μμλ μλ‘μ΄ λ°μ΄ν° νμ μΆκ°λ‘ μΈν νμ₯ μ, κ·Έ ꡬ쑰λ₯Ό λ³κ²½νμ§ μμλ λκ±°λ μΌλΆλ§ λ³κ²½ν΄λ λλ€.
- λ°μ΄ν°λ² μ΄μ€μ μ°λλ μμ© νλ‘κ·Έλ¨μ μ΅μνμ μν₯
- λ¨μ
- 쿼리μ λν μλ΅ μλκ° λλ €μ§ μ μλ€.
- JOIN μ°μ°μ΄ λ§μμ§λ€. -> λ°μ κ·νλ‘ ν΄κ²° κ°λ₯
μ 1μ κ·ν
- 릴λ μ΄μ μ μν λͺ¨λ μμ±μ λλ©μΈμ΄ μμ κ°μΌλ‘λ§ κ΅¬μ±λμ΄ μμΌλ©΄ μ 1μ κ·νμ μνλ€.
- ν μ΄λΈ λ΄μ λͺ¨λ νλκ° μμκ°μΌλ‘λ§ μ΄λ£¨μ΄μ Έ μμ΄μΌ νλ€λ 쑰건μ λ§μ‘±νλ μ κ·ν
- μ¦, ν μ΄λΈμ κ° μ»¬λΌμ νλμ κ°λ§ μ‘΄μ¬ν΄μΌ νλ©°, λ°λ³΅λλ κ·Έλ£Ήμ΄λ μ€μ²©λ λ°μ΄ν° κ΅¬μ‘°κ° μμ΄μΌ νλ€.
- κΈ°λ³Έν€κ° μλ μμ±λ€μ΄ κΈ°λ³Έν€μ λΆλΆν¨μ μ’ μλμ΄ μκΈ° λλ¬Έμ λ°μ
- μλ νμμ μ΄λ²€νΈλ²νΈ,λΉμ²¨μ¬λΆ λΌλ μμ±μ λ€μ€ κ° μμ±μ΄λ―λ‘ μ΄λ μ 1μ κ·νμ μ μ½μ‘°κ±΄μ λ§μ‘±νμ§ λͺ»νλ€.
ID | μ΄λ²€νΈλ²νΈ | λΉμ²¨μ¬λΆ |
Kim | A12,B13 | Y,N |
Lee | B11 | N |
μ 2μ κ·ν
- μ 1 μ κ·νμ λ§μ‘±νλ©΄μ, ν μ΄λΈ λ΄μ λͺ¨λ κΈ°λ³Έν€κ° μλ μμ±μ΄ κΈ°λ³Έ ν€μ λν΄ μμ ν¨μμ μ’ μμ±μ κ°μ ΈμΌ νλ€λ 쑰건μ λ§μ‘±νλ μ κ·ν
- λΆλΆ ν¨μμ μ’ μμ±μ μ κ±°νμ¬, κΈ°λ³Έ ν€μ μΌλΆμλ§ μ’ μλ μμ±μ΄ μμ΄μΌ νλ€.
- μμ
- μμ±: ID, μ΄λ²€νΈλ²νΈ, λ±κΈ, ν μΈμ¨, λΉμ²¨μ¬λΆ
- ID -> λ±κΈ, ν μΈμ¨
- λ±κΈ -> ν μΈμ¨
- ID, μ΄λ²€νΈλ²νΈ -> λΉμ²¨μ¬λΆ
- κ³ κ° λ¦΄λ μ΄μ κ³Ό μ΄λ²€νΈ 릴λ μ΄μ μΌλ‘ λΆν΄
- κ³ κ° λ¦΄λ μ΄μ
- ID -> λ±κΈ, ν μΈμ¨
- λ±κΈ -> ν μΈμ¨
- μ΄λ²€νΈ 릴λ μ΄μ
- ID, μ΄λ²€νΈλ²νΈ -> λΉμ²¨μ¬λΆ
- μμ±: ID, μ΄λ²€νΈλ²νΈ, λ±κΈ, ν μΈμ¨, λΉμ²¨μ¬λΆ
μ 3μ κ·ν
- μ 2 μ κ·νμ λ§μ‘±νλ©΄μ, κΈ°λ³Έν€κ° μλ λͺ¨λ μμ±μ΄ κΈ°λ³Έν€μ μ΄νμ ν¨μμ μ’ μμ΄ μμ΄μΌ νλ€λ 쑰건μ λ§μ‘±νλ μ κ·ν
- μ΄νμ ν¨μ μ’ μμ κ²½μ° X -> Y, Y -> Z μ΄λ©΄ X -> Zκ° μ±λ¦½ν¨μ μλ―Έ
- μ΄λ₯Ό ν΄κ²°νκΈ° μν΄ X,Y μμ±μ 릴λ μ΄μ κ³Ό Y,Z μμ±μ 릴λ μ΄μ μΌλ‘ λΆν΄
- μ¦, κΈ°λ³Έ ν€κ° μλ μμ±μ΄ λ€λ₯Έ λΉκΈ°λ³Έ μμ±μ κ²°μ νμ§ μλλ‘ ν μ΄λΈμ ꡬμ±
BCNFμ κ·ν
- μ 3 μ κ·νμ λ§μ‘±νλ©΄μ, λͺ¨λ κ²°μ μκ° ν보 ν€(candidate key)μΈ μ κ·ν
- νλμ 릴λ μ΄μ μ μ¬λ¬ ν보ν€κ° μ‘΄μ¬ν κ²½μ°, μ 3μ κ·νκΉμ§ λͺ¨λ λ§μ‘±νλλΌλ μ΄μ νμμ΄ λ°μ κ°λ₯
- ν보ν€κ° μ¬λ¬κ°μΈ 릴λ μ΄μ μμ λ°μν μ μλ μ΄μνμμ ν΄κ²°νκΈ° μν΄ μ¬μ©
- μ 3 μ κ·νμ κΈ°λ³Έ ν€λ₯Ό κΈ°μ€μΌλ‘ μ’ μμ±μ νλ¨νμ§λ§, BCNFλ ν보 ν€λ₯Ό κΈ°μ€μΌλ‘ μ’ μμ±μ νλ¨νμ¬ λ°μ΄ν°λ² μ΄μ€λ₯Ό λ μ격νκ² μ κ·ννλ€.
- μμ
- 릴λ μ΄μ μμ (νμλ²νΈ, κ³Όλͺ©)μ΄ κΈ°λ³Έν€λ‘ μ§λκ΅μλ₯Ό μ μ μλ€κ³ νμ, κ·Έλ¬λ μ§λκ΅μλ₯Ό μλ©΄ κ³Όλͺ©μ μ μ μμΌλ―λ‘, μ§λκ΅μ → κ³Όλͺ© μ΄ μ’ μμ μ΄λ€.
- μ¦, νλ³΄ν€ μ§ν©μ μνμ§ μμ κ²°μ μκ° μ‘΄μ¬νλ―λ‘ BCNFλ₯Ό λ§μ‘±νμ§ μλλ€.
λ°μ κ·ν
- μ±λ₯ μ΅μ νλ₯Ό μν΄ μ κ·νλ λ°μ΄ν°λ² μ΄μ€ ꡬ쑰λ₯Ό μΌλΆλ¬ λΉμ κ·ννλ κ³Όμ
- μ κ·νλ ꡬ쑰λ λ°μ΄ν°μ μΌκ΄μ±κ³Ό 무결μ±μ λμ΄μ§λ§, μΌλΆ κ²½μ° μ±λ₯ μ νλ₯Ό μ΄λν μ μλ€. λ°λΌμ μ±λ₯μ κ°μ νκΈ° μν΄ λ°μ΄ν° μ€λ³΅μ νμ©νκ±°λ ν μ΄λΈμ κ²°ν©νλ λ°©μμΌλ‘ λ°μ κ·νλ₯Ό μ μ©ν μ μλ€.
λ©΄μ νΌλλ°±
- 쑰리μκ² λ§μ νλλ°, μλκ° λΉ¨λλ€.
- λλ λ§νλ©΄μ λ΄κ° λΉ λ₯΄λ€λκ±Έ λκΌλ€...
'π»ββοΈμ κ³΅κ³΅λΆ > λ°μ΄ν°λ² μ΄μ€' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
λ°μ΄ν°λ² μ΄μ€ 5μ£Όμ°¨ μ€ν°λ μ 리 (0) | 2024.09.09 |
---|---|
λ°μ΄ν°λ² μ΄μ€ 3μ£Όμ°¨ μ€ν°λ μ 리 (1) | 2024.08.29 |
λ°μ΄ν°λ² μ΄μ€ 2μ£Όμ°¨ μ€ν°λ μ 리 (0) | 2024.08.21 |
λ°μ΄ν°λ² μ΄μ€ 1μ£Όμ°¨ μ€ν°λ μ 리 (0) | 2024.08.14 |