π§ͺ Computer Science/Database
**μ κ·νλ₯Ό ν΄μΌνλ μ΄μ λ μλͺ»λ ν μ΄λΈ μ€κ³λ‘ μΈν΄
Anomaly(μ΄μ νμ)
κ° λνλκΈ° λλ¬Έμ΄λ€.
μ΄μνμ(Anomaly)
- μμ μ΄μ: νν μμ μ κ°μ΄ μ μ₯λ λ€λ₯Έ μ 보κΉμ§ μ°μμ μΌλ‘ μμ λλ νμ
- μ½μ μ΄μ: νν μ½μ μ νΉμ μμ±μ ν΄λΉνλ κ°μ΄ μμ΄ NULLμ μ λ ₯ν΄μΌνλ νμ
- μμ (κ°±μ ) μ΄μ: νν μμ μ μ€λ³΅λ λ°μ΄ν°μ μΌλΆλ§ μμ λμ΄ μΌμ΄λλ λ°μ΄ν° λΆμΌμΉ νμ
μ΄μνμμ μλ‘ κ³΅μ νλ λ°μ΄ν°μμλ λΆκ΅¬νκ³ κ°μμ ννμ λ 립μ μΌλ‘ μ‘΄μ¬νκΈ° λλ¬Έμ λ°μνλ€. κ·Έλ¬λ―λ‘ ν μ΄λΈμ λΆλ¦¬νμ¬ κ·Έ ν μ΄λΈμ ν΅ν΄ κ°μ μ λͺ©μ΄λ κ°μμ€μ μ°Έκ³ νκ²λ νλ€λ©΄ μ΄μνμλ€μ ν΄κ²°ν μ μλ€.
ν¨μ μ’ μμ±(Functional Dependency)
ν¨μ μ’ μμ±μ΄λ?
- μ΄λ€ μμ± Aμ κ°μ μλ©΄ λ€λ₯Έ μμ± Bμ κ°μ΄ μ μΌνκ² μ ν΄μ§λ κ΄κ³λ₯Ό μ’ μμ±μ΄λΌ ν¨
- A β Bλ‘ νκΈ°νλ©° Aλ₯Ό Bμ κ²°μ μλΌκ³ ν¨
μ 릴λ μ΄μ μμ, νμλ²νΈλ₯Ό 보면 νμμ΄λ¦μ΄ μ ν΄μ§λ κ²μ²λΌ μμ± Aμ κ°μ μ λ λ€λ₯Έ μμ± Bμ κ°μ΄ μ μΌνκ² μ ν΄μ§λ μμ‘΄κ΄κ³λ₯Ό μμ± Bλ μμ± Aμ μ’ μνλ€ λλ μμ± Aλ μμ± Bλ₯Ό κ²°μ νλ€λΌκ³ νλ€. μ΄ λ, Aκ° Bλ₯Ό κ²°μ νλ€κ³ νμ¬ Aλ₯Ό Bμ κ²°μ μλΌκ³ νλ€.
릴λ μ΄μ κ³Ό κΈ°λ³Έν€
- κ΄κ³(Relationship)λ κ°μ²΄ μ¬μ΄μ μ°κ΄μ±μ λνλ΄λ κ°λ μ΄λ€.
- κ΄κ³ νμ (Relationship Type)μ΄λ κ°μ²΄ νμ κ³Ό κ°μ²΄ νμ κ°μ μ°κ²° κ°λ₯ν κ΄κ³λ₯Ό μ μν κ²μ΄λ€.
- κ΄κ³ μ§ν©(Relationship Set)μ κ΄κ³λ‘ μ°κ²°λ μ§ν©μ μλ―Ένλ€.
μ΄μνμκ³Ό κ²°μ μ
μ΄μνμμ ν κ°μ 릴λ μ΄μ μ λ κ° μ΄μμ μμ±μ΄ ν¬ν¨λμ΄ μκ³ κΈ°λ³Έν€κ° μλ μμ±μ΄ κ²°μ μμΌ λ λ°μνλ€.
μμ νμμκ°μ€μ 릴λ μ΄μ μ κ²½μ°, κΈ°λ³Έν€λ₯Ό μ§λ νμ μ 보(νμλ²νΈ, νμμ΄λ¦, μ£Όμ, νκ³Ό)μ κΈ°λ³Έν€κ° μλμ§λ§ κ²°μ μμ μ±μ§μ μ§λ κ°μ’ μ 보(κ°μ’μ΄λ¦, κ°μμ€)κ° ν 릴λ μ΄μ μ ν¬ν¨λμ΄ μ΄μνμμ΄ λνλ κ²μ΄λ€. κ·Έ μΈμλ νκ³Ό, νμ λ²νΈ, κ°μ’ μ΄λ¦μ κΈ°λ³Έν€κ° μλλ©΄μ κ²°μ μμ΄κΈ° λλ¬Έμ μ΄μνμμ ν΄κ²°νκΈ° μν΄ μ΄ 4κ°μ 릴λ μ΄μ μΌλ‘ νμμκ°μ±μ 릴λ μ΄μ μ λΆν΄νλ©΄ λλ€.
μ κ·ν(Normalization)
- μ κ·ν: μ΄μνμμ΄ λ°μνλ 릴λ μ΄μ μ λΆν΄νμ¬ μ΄μνμμ μμ λ κ³Όμ
- μ΄μνμμ΄ μλ 릴λ μ΄μ μ μ΄μνμμ μΌμΌν€λ ν¨μ μ’ μμ±μ μ νμ λ°λΌ λ±κΈμ κ΅¬λΆ κ°λ₯
- 릴λ μ΄μ μ μ κ·ν κ°λ μΌλ‘ ꡬλΆνλ©°, μ κ·νμ΄ λμμλ‘ μ΄μνμμ μ€μ΄λ λ€.
μ κ·νλ μ¦, μ΄μνμμ΄ μ‘΄μ¬νλ 릴λ μ΄μ μ λΆν΄νμ¬ μ¬λ¬ κ°μ 릴λ μ΄μ μ μμ±νλ κ³Όμ μ μλ―Ένλ€. 릴λ μ΄μ μ λΆν΄λλ μ λμ λ°λΌ μ κ·ν λ¨κ³λ‘ λλμ΄μ§λ©° μ κ·νμ΄ λμμ§μλ‘ μ΄μνμμ μ€μ΄λ λ€.
μ 1 μ κ·ν
- 릴λ μ΄μ μ λͺ¨λ μμ± κ°μ΄ μμκ°μ κ°λ κ²½μ°μ΄λ€.
- μ¦, λΉμμμ μΈ μμ±λ€μ νμ©νμ§ μλ 릴λ μ΄μ ννλ₯Ό λ§νλ€.
μ 2 μ κ·ν
- 릴λ μ΄μ μ΄ μ 1 μ κ·νμ λ§μ‘±νκ³ , κΈ°λ³Έν€κ° μλ μμ±μ΄ κΈ°λ³Έν€μ μμ ν¨μ μ’ μμΌ λλ₯Ό μλ―Ένλ€.
- μ¦, ν€κ° μλ μ΄λ€μ΄ κ°κ° ν보ν€μ λν΄ κ²°μ λλ 릴λ μ΄μ ννλ₯Ό λ§νλ€.
μ 3 μ κ·ν
- 릴λ μ΄μ Rμ΄ μ 2 μ κ·νμ λ§μ‘±νκ³ κΈ°λ³Έν€κ° μλ μμ±μ΄ κΈ°λ³Έν€μ λΉμ΄νμ (Non_Transitive)μΌλ‘ μ’ μν λ(μ§μ μ’ μ)λ₯Ό μλ―Ένλ€.
- μ΄νμ μ’ μμ΄λ, AβB, BβCκ° μ±λ¦½ν λ, AβCκ° μ±λ¦½λλ ν¨μ μ’ μμ±μ μλ―Ένλ€.
BCNF μ κ·ν
- 릴λ μ΄μ Rμμ ν¨μ μ’ μμ± XβYκ° μ±λ¦½ν λ λͺ¨λ κ²°μ μ Xκ° ν보ν€μΈ μ κ·νμ΄λ€.
κΈ°λ³Έν€λ (νμλ²νΈ, νΉκ°μ΄λ¦)μ΄κ³ κ΅μλ (νμλ²νΈ, νΉκ°μ΄λ¦)μ μμ νκ² ν¨μμ μΌλ‘ μ’ μνκ³ μλ€. λν, κ΅μλ νΉκ° μ΄λ¦μ κ²°μ νλ©° κ²°μ μμ μν μ νκ³ μλ€. λ€μμΌλ‘, λͺ¨λ κ²°μ μκ° ν보ν€μΈμ§λ₯Ό νμΈν΄μΌ νλ€. (νμλ²νΈ, νΉκ°μ΄λ¦)μ κΈ°λ³Έν€μ΄λ―λ‘ λΉμ°ν κ²°μ μμ΄λ©° ν보ν€μ΄λ€. νμ§λ§ κ΅μλ κ²°μ μμ΄λ©΄μ ν보ν€κ° μλλ―λ‘ μ κ·Έλ¦Όκ³Ό κ°μ΄ 릴λ μ΄μ μ λΆλ¦¬ν΄μΌ νλ€.
λλΆλΆμ 릴λ μ΄μ μμλ BCNFκΉμ§ μ κ·ννλ©΄ μ€μ μ μΈ μ΄μνμμ΄ μμ΄μ§κΈ° λλ¬Έμ BCNFκΉμ§ μ κ·νλ₯Ό μ§ννλ€.
μ κ·νμ μ₯λ¨μ
- μ₯μ
- μ΄μνμλ€μ΄ λ°μνλ λ¬Έμ μ μ ν΄κ²°ν μ μλ€.
- μ κ·νλ ν μ΄λΈλ€κ³Ό ν μ΄λΈλ€ κ°μ κ΄κ³λ€μ μ¬μ©μμκ² μ 곡ν μ μλ€.
- λ¨μ
- 릴λ μ΄μ κ°μ μ°μ°(JOIN)μ΄ λ§μμ§λ€.
- μ΄λ‘ μΈν΄, μ§μμ λν μλ΅μκ°μ΄ λλ €μ§ μ μλ κ²½μ°κ° λ°μν μλ μλ€.
λ°μ κ·ν(De-normalization, λΉμ κ·ν)
- μ κ·νλ μν°ν°, μμ±, κ΄κ³λ₯Ό μμ€ν μ μ±λ₯ ν₯μ λ° κ°λ°κ³Ό μ΄μμ λ¨μνλ₯Ό μν΄ μ€λ³΅ ν΅ν©, λΆλ¦¬ λ±μ μννλ λ°μ΄ν° λͺ¨λΈλ§ κΈ°λ² μ€ νλμ΄λ€. λμ€ν¬ I/Oλμ΄ λ§μμ μ‘°ν μ μ±λ₯μ΄ μ νλκ±°λ, ν μ΄λΈλΌλ¦¬μ κ²½λ‘κ° λ무 λ©μ΄ μ‘°μΈμΌλ‘ μΈν μ±λ₯ μ νκ° μμλκ±°λ, 컬λΌμ κ³μ°νμ¬ μ‘°νν λ μ±λ₯μ΄ μ νλ κ²μ΄ μμλλ κ²½μ° λ°μ κ·νλ₯Ό μννλ€. μΌλ°μ μΌλ‘ μ‘°νμ λν μ²λ¦¬ μ±λ₯μ΄ μ€μνλ€κ³ νλ¨λ λ λΆλΆμ μΌλ‘ λ°μ κ·νλ₯Ό κ³ λ €νκ² λλ€.
- λ°μ κ·νμ λμ
- μμ£Ό μ¬μ©λλ ν μ΄λΈμ μ‘μΈμ€νλ νλ‘μΈμ€μ μκ° κ°μ₯ λ§κ³ , νμ μΌμ ν λ²μλ§μ μ‘°ννλ κ²½μ°
- ν μ΄λΈμ λλ λ°μ΄ν°κ° μκ³ λλμ λ²μλ₯Ό μμ£Ό μ²λ¦¬νλ κ²½μ°, μ±λ₯ μ μ΄μκ° μμ κ²½μ°
- ν μ΄λΈμ μ§λμΉκ² μ‘°μΈμ λ§μ΄ μ¬μ©νκ² λμ΄ λ°μ΄ν°λ₯Ό μ‘°ννλ κ²μ΄ κΈ°μ μ μΌλ‘ μ΄λ €μΈ κ²½μ°
- λ°μ κ·νλ₯Ό κ³Όλνκ² μ μ©νλ©΄ λ°μ΄ν°μ 무결μ±μ΄ κΉ¨μ§ μ μκ³ , μ λ ₯/μμ /μμ μ μ§μλ¬Έμ λν μλ΅μκ°μ΄ λ¦μ΄μ§ μ μλ€.
'π§ͺ Computer Science > Database' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[λ°μ΄ν°λ² μ΄μ€] λμμ± μ μ΄(Currency Control) (0) | 2021.07.07 |
---|---|
[λ°μ΄ν°λ² μ΄μ€] νΈλμμ (Transaction) (0) | 2021.07.06 |
[λ°μ΄ν°λ² μ΄μ€] λ°μ΄ν° λͺ¨λΈλ§(Data Modeling) (0) | 2021.07.04 |
[λ°μ΄ν°λ² μ΄μ€] PL/SQL (0) | 2021.07.04 |
[λ°μ΄ν°λ² μ΄μ€] SQL κΈ°μ΄(λ°μ΄ν° μ μμ΄/μ‘°μμ΄/μ μ΄μ΄) (0) | 2021.07.04 |