1. μ κ·νλ?
- κ΄κ³ν λ°μ΄ν° λ² μ΄μ€ μ€κ³μ, λ°μ΄ν°μ μ€λ³΅μ μ΅μννκ³ λ°μ΄ν° 무결μ±μ ν보νκΈ° μν΄ ν μ΄λΈμ ꡬ쑰ννλ κ³Όμ
- λ°μ΄ν°κ° μ€λ³΅λλ©΄ μ μ₯곡κ°μ΄ λλΉλ λΏλ§ μλλΌ νλ μμ νλ©΄ μ λΆ μμ ν΄μΌ νλ "μ΄μνμ" anomaly μ΄ λ°μν μ μμ.
μ΄μνμμ μ’ λ₯
1) μ½μ μ΄μ : λΆνμν μ 보 μμ΄λ μλ‘μ΄ λ°μ΄ν°λ₯Ό μ½μ ν μ μλ νμ (μ: μμ§ μκ° μ μ²ν νμμ΄ μλ μ κ· κ°μ’ μ 보λ₯Ό λ±λ‘νμ§ λͺ»νλ κ²½μ°)
2) κ°±μ μ΄μ : μ€λ³΅λ λ°μ΄ν° μ€ μΌλΆλ§ μμ λμ΄ λ°μ΄ν° λΆμΌμΉκ° λ°μνλ νμ (μ: ν νμμ μ£Όμ μ λ³΄κ° μ¬λ¬ κ³³μ μλλ°, ν κ³³λ§ μμ νλ κ²½μ°)
3) μμ μ΄μ : νΉμ μ 보λ₯Ό μμ νλ©΄, μμΉ μλ λ€λ₯Έ μ 보κΉμ§ ν¨κ» μμ λλ νμ (μ: μ΄λ€ νμμ΄ μκ°μ μ² ννμ λ, κ·Έ κ°μ’ μ 보κΉμ§ μ¬λΌμ§λ κ²½μ°)
2. μ κ·ν λ¨κ³ (1, 2, 3, BCNF)
μ 1μ κ·ν (ν€μλ: μμκ°)
νΉμ§
- ν μ΄λΈμ λͺ¨λ 컬λΌμ λ°λμ μμκ°μ κ°μ ΈμΌ νλ€. (*μμκ°: λμ΄μ μͺΌκ°€ μ μλ κ°)
- μ¦, κ° νμ΄ νλμ κ°λ§ κ°μ ΈμΌν¨. μΌν λ±μΌλ‘ κ°μ λ리기 μλ¨.
μ 2 μ κ·ν (ν€μλ: μμ ν¨μ μ’ μ)
νΉμ§
- μ 1μ κ·ν λ§μ‘±
- κΈ°λ³Έν€μ μΌλΆκ° μλ λͺ¨λ 컬λΌμ κΈ°λ³Έν€ μ 체μ μμ ν¨μ μ’ μλμ΄μΌ νλ€.
- ( *μμ ν¨μμ’ μ: 컬λΌμ΄ κΈ°λ³Έν€ μ 체μ μν΄ κ²°μ λμ΄μΌ νλ©°, κΈ°λ³Έν€μ μΌλΆμλ§ μ’ μλμ΄μλ μ λλ€λ λ»)
- μ μ : κΈ°λ³Έν€κ° "볡ν©ν€" μΌ κ²½μ° !!! μ¦, 2NFλ 볡ν©ν€ ν μ΄λΈμμλ§ μλ―Έ μμ. λ¨μΌν€λ©΄ μλμΌλ‘ 2NF λ§μ‘±.
- λΆλΆν¨μ μ’ μμ΄ λ°μνλ λΆλΆμ λ³λμ ν μ΄λΈλ‘ λΆλ¦¬νλ€
μ 3 μ κ·ν (μ΄νμ ν¨μ μ’ μ μμ΄μΌν¨)
νΉμ§
- μ 2 μ κ·ν λ§μ‘±
- κΈ°λ³Έν€κ° μλ μΌλ° 컬λΌμ μ’ μλλ 컬λΌμ΄ μμ΄μΌ ν¨.
- κΈ°λ³Έν€λ μλ 컬λΌμ΄ νΉμ 컬λΌμ κ²°μ ν΄μλ μλλ€λ λ»
- μμ: 'νμ' ν μ΄λΈμμ κΈ°λ³Έν€μΈ 'νμλ²νΈ'κ° 'νκ³Όλͺ 'μ κ²°μ νκ³ , 'νκ³Όλͺ 'μ΄ 'νκ³Όμ¬λ¬΄μ€ μμΉ'λ₯Ό κ²°μ νλ κ²½μ° (νμλ²νΈ → νκ³Όλͺ → νκ³Όμ¬λ¬΄μ€ μμΉ)
- μ΄νμ ν¨μ μ’ μμ΄ λ°μνλ λΆλΆμ λ³λμ ν μ΄λΈλ‘ λΆλ¦¬νλ€ = μ¦, κΈ°λ³Έν€ μλ 컬λΌλΌλ¦¬ μ’ μμ±μ΄ μμΌλ©΄ λΆλ¦¬ν΄μΌ ν¨.
BCNF (Boyce-Codd Normal Form) = " λͺ¨λ κ²°μ μκ° ν보ν€(Candidate Key)μ¬μΌ νλ€."
- μ 3μ κ·νμ 보μνλ κ°λ ₯ν μ κ·ν
- *κ²°μ μ: λ€λ₯Έ 컬λΌμ κ°μ κ³ μ νκ² κ²°μ νλ μ»¬λΌ μλ―Έ.
- μ€λ¬΄μμλ κ±°μ μ μ°μ§λ§ μ΄λ‘ μ μΌλ‘λ μμλ¬μΌ ν¨
- μμ: (νμλ²νΈ, νΉκ°λͺ )μ΄ κΈ°λ³Έν€μΈ ν μ΄λΈμμ, ν κ΅μλ ν νΉκ°λ§ λ΄λΉν μ μλ€λ μ μ½μ΄ μλ€λ©΄ 'κ΅μ' 컬λΌμ΄ 'νΉκ°λͺ 'μ κ²°μ ν μ μμ΅λλ€. μ΄λ 'κ΅μ'λ ν보ν€κ° μλλ―λ‘ BCNFλ₯Ό μλ°°ν©λλ€.
μ κ·νλ μ€λ³΅ μ κ±°λ₯Ό νκΈ° μν΄ μ μ κ·ν 쑰건μ λ€ λ§μΆλ €κ³ νλ€. = ν μ΄λΈ λΆλ¦¬κ° λ§μμ§
κ·Έλ¬λ, λ°μ΄ν°λ₯Ό λΆλ¬μ€κΈ° μν΄μλ λ€μ JOIN λ§μμ Έμ μ±λ₯ λ¨μ΄μ§ μ μκΈ° λλ¬Έμ "λ°μ κ·ν"λ μ§νν¨.
λ°μ κ·νλ ?
- μ κ·νλ₯Ό ν΅ν΄ λΆλ¦¬ν ν μ΄λΈμ μ‘°ν μ±λ₯ ν₯μμ μν΄ λ€μ ν©μΉκ±°λ, μ€λ³΅ λ°μ΄ν°λ₯Ό μΌλΆ νμ©νλ μ€κ³ κΈ°λ².
- λͺ©ν: join μ€μ΄κ³ μ½λ μλ λΉ λ₯΄κ² νκΈ°
νμν μ΄μ
- μ κ·νλ‘ μΈν΄ μκ² μͺΌκ°μ§ ν μ΄λΈμμ λ°μ΄ν°λ₯Ό λΆλ¬μ¬λ join μ΄ λ§μμ§
- μ΄λ μ±λ₯ μ νλ‘ μ΄μ΄μ§.
λ°μ κ·ν λ°©λ²
1. ν μ΄λΈ ν΅ν©
2. μ€λ³΅ μ»¬λΌ μΆκ°
3. νμ 컬λΌ, μ§κ³ μ»¬λΌ μΆκ°
μ₯μ : μ‘°ν μλ λΉ λ¦, JOIN μ€μ΄λ¦, μ€μκ° μλ΅μ± ↑
λ¨μ : μ€λ³΅ λ°μ΄ν° μ¦κ° → κ°±μ μ΄μ κ°λ₯μ± ↑ (μμ μ λͺ¨λ μ€λ³΅ λ°μ΄ν° λ°κΏμΌ ν¨)
- OLTP(νΈλμμ μμ£Ό, λ¬΄κ²°μ± μ€μ) → μ κ·ν μ μ§
- OLAP/μ‘°ν μλΉμ€(리ν¬νΈ, κ²μ, ν΅κ³) → λ°μ κ·ν μ κ·Ή νμ©
- λ³΄ν΅ DB μ€κ³λ μ κ·νλ‘ μμ → μ±λ₯ λ¬Έμ μ νμν κ³³λ§ λ°μ κ·ν
μ¦, μ κ·νλ λ°μ΄ν° 무결μ±, μΌκ΄μ± κ°νλ₯Ό μν΄ νμνκ³
λ°μ κ·νλ μ±λ₯, μ‘°ν μλ κ°νλ₯Ό μν΄ νμν¨.
'κ³΅λΆ > μ 보μ²λ¦¬κΈ°μ¬ 곡λΆκΈ°λ‘' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
| νΈλμμ 격리 μμ€ (Isolation Level) (0) | 2025.09.07 |
|---|---|
| νΈλμμ (Transaction) & ACID (1) | 2025.09.01 |
| [240713] μ£Όμ UML λ€μ΄μ΄κ·Έλ¨ (μ μ€μΌμ΄μ€ λ€μ΄μ΄κ·Έλ¨, ν΄λμ€ λ€μ΄μ΄κ·Έλ¨, μμ°¨ λ€μ΄μ΄κ·Έλ¨) (0) | 2024.07.13 |
| [240713] UML (Unified Modeling Language) ν΅ν© λͺ¨λΈλ§ μΈμ΄ (0) | 2024.07.13 |
| [240712] μꡬμ¬ν λΆμ CASEμ HIPO (0) | 2024.07.12 |