π― μ κ·ν(Normalization)
μ κ·ν(Normalization)λ λ°μ΄ν°λ² μ΄μ€ μ€κ³μμ μ€λ³΅ λ°μ΄ν°λ₯Ό μ΅μννκ³ λ°μ΄ν° μΌκ΄μ±μ μ μ§νκΈ° μν΄ λ°μ΄ν°λ₯Ό ꡬ쑰ννλ κ³Όμ μ λλ€.
μ κ·νλ μ¬λ¬ λ¨κ³λ‘ λλ μ μ§νλ©λλ€. κ° λ¨κ³λ λ λμ μ κ·ν μμ€μ μλ―Ένλ©°, λ³΄ν΅ 1NF(First Normal Form), 2NF, 3NF, BCNF(Boyce-Codd Normal Form), 4NF, 5NFκΉμ§ μ§νλ©λλ€. μ΄ λ¨κ³λ³λ‘ λ°μ΄ν°λ² μ΄μ€ ꡬ쑰λ₯Ό λ³νν΄λκ°λ κ²μ μ κ·νλΌκ³ ν©λλ€.
μ κ·νλ₯Ό μννλ©΄ μ€λ³΅ λ°μ΄ν°λ₯Ό μ΅μνν μ μμ΄ λ°μ΄ν° μ μ₯ 곡κ°μ μ μ½ν μ μκ³ , λ°μ΄ν° μΌκ΄μ±μ μ μ§νλ©° μ½μ
, μμ , μμ λ±μ μμ
μ λ³΄λ€ ν¨μ¨μ μΌλ‘ μνν μ μμ΅λλ€. νμ§λ§ λ무 λ§μ μ κ·νκ° μΌμ΄λ κ²½μ°, μΏΌλ¦¬κ° λ³΅μ‘ν΄μ§κ³ μ±λ₯μ΄ μ νλ μ μμ΅λλ€.
λ°λΌμ λ°μ΄ν°λ² μ΄μ€ μ€κ³ μμλ μ μ ν μ κ·ν μμ€μ κ²°μ νκ³ , μ±λ₯μ κ³ λ €νμ¬ μ΅μ μ ꡬ쑰λ₯Ό μ€κ³ν΄μΌ ν©λλ€.
1NF(First Normal Form)
- ν μ΄λΈμ λͺ¨λ μμ± κ°μ΄ μμ κ°(Atomic Value)μΌλ‘ λμ΄ μμ΄μΌ νλ€.
- κ°κ°μ μμ±λ€μ λ°λμ νλμ κ°λ§ κ°μ ΈμΌ νλ©°, κ·Έ κ°μ λ°λμ λμΌν λ°μ΄ν° νμμ κ°μ ΈμΌ νλ€.
- μλ₯Ό λ€μ΄, νμ ν μ΄λΈμ κ²½μ°, νμ μ΄λ¦κ³Ό νμ μ νλ²νΈλ κ°κ° λ³λμ μμ±μΌλ‘ λΆλ¦¬λμ΄ μμ΄μΌ νλ€.
2NF(Second Normal Form)
- 1NFμ μνλ ν μ΄λΈμμ ν€κ° μλ μμ±λ€μ΄ κΈ°λ³Έ ν€μ λν΄μ μμ ν¨μ μ’ μ( Fully Functional Dependency) λμ΄μΌ νλ€.
- κΈ°λ³Έ ν€μ μΌλΆ μμ±μλ§ μ’ μλ λ³΅ν© ν€κ° μλ κ²½μ°, μ΄ λ³΅ν© ν€λ₯Ό λΆλ¦¬νμ¬ μλ‘μ΄ ν μ΄λΈλ‘ ꡬμ±νλ€.
- μλ₯Ό λ€μ΄, νμ-κ³Όλͺ© ν μ΄λΈμμ νμ μ΄λ¦κ³Ό κ³Όλͺ© μ΄λ¦μ΄ κΈ°λ³Έ ν€λ₯Ό ꡬμ±νκ³ μ±μ λ§ λ°λ‘ μ μ₯νλ€λ©΄, μ±μ μ νμκ³Όλͺ©μ λν΄μλ§ μ’ μμ±μ΄ μκΈ° λλ¬Έμ μ΄λ₯Ό λ°λ‘ λΆλ¦¬νλ κ²μ΄ λ°λμ§νλ€.
3NF(Third Normal Form)
- 2NFλ₯Ό λ§μ‘±νλ©΄μ, ν μ΄λΈ λ΄μμ λ€λ₯Έ μμ±μ ν΅ν΄ κ°μ μ μΌλ‘ κ²°μ λμ§ μλ μμ±μ΄ μ‘΄μ¬ν΄μΌ νλ€.
- μ΄λ₯Ό μν΄ ν ν μ΄λΈμ λ€λ₯Έ μμ±μ μ’ μμ μΈ μμ±μ΄ μλ€λ©΄, μ΄λ₯Ό λ³λμ ν μ΄λΈλ‘ λΆλ¦¬νμ¬ κ΄λ¦¬νλ€.
- μλ₯Ό λ€μ΄, μ£Όλ¬Έ ν μ΄λΈμμ κ³ κ° μ΄λ¦ λμ κ³ κ° λ²νΈλ₯Ό μ¬μ©νμ¬ μ£Όλ¬Έ λ΄μμ κ΄λ¦¬νλ κ²½μ°, κ³ κ° λ²νΈμ κ³ κ° μ΄λ¦μ λ€λ₯Έ ν μ΄λΈμμ λ³λλ‘ κ΄λ¦¬νκ² λλ€.
λΉμ κ·ν
λΉμ κ·νλ λ°μ΄ν°λ² μ΄μ€ μ€κ³μ μΌνμΌλ‘ λ°μ΄ν° λͺ¨λΈμ μ±λ₯μ ν₯μμν€κΈ° μν΄ μ κ·νλ λ°μ΄ν° λͺ¨λΈμμ μΌλΆ λλ μ 체λ₯Ό μ κ·ν κ·μΉμμ λ²μ΄λκ² λ§λλ κ³Όμ μ μλ―Έν©λλ€. μ¦, μ κ·νλ₯Ό ν΅ν΄ λΆν΄λ ν μ΄λΈμ λ€μ ν©μΉλ κ²μ λ§ν©λλ€.
λΉμ κ·νλ λ°μ΄ν° μ‘°ν μ μ±λ₯μ ν₯μμν¬ μ μμ΅λλ€. μλ₯Ό λ€μ΄, JOIN μ°μ°μ΄ λ§μ 쿼리μμλ λΉμ κ·νλ λ°μ΄ν° λͺ¨λΈμ΄ λ λΉ λ₯Έ μ±λ₯μ 보μ΄λ κ²½μ°κ° μμ΅λλ€. λν, μ κ·νλ₯Ό λ°λ³΅μ μΌλ‘ μννλ©΄ ν μ΄λΈμ΄ λΆν΄λμ΄ κ²°κ΅ μ±λ₯μ΄ μ νλ μ μμ΅λλ€.
νμ§λ§, λΉμ κ·νλ λ°μ΄ν° μΌκ΄μ±μ μν₯μ λ―ΈμΉ μ μμ΅λλ€. λ°μ΄ν°κ° μ€λ³΅λμ΄ μ μ₯λκΈ° λλ¬Έμ λ°μ΄ν° μΌκ΄μ±μ μ μ§νκΈ° μν΄ λ λ§μ κ΄λ¦¬κ° νμν©λλ€. λν, λ°μ΄ν° μμ μ μ¬λ¬ ν μ΄λΈμ μμ ν΄μΌ ν μλ μκΈ° λλ¬Έμ κ΄λ¦¬κ° λ μ΄λ ΅μ΅λλ€.
λ°λΌμ, λΉμ κ·νλ μ±λ₯ ν₯μμ μν΄ μ¬μ©λλ κΈ°λ²μ΄μ§λ§, νμν κ²½μ°μλ§ μ¬μ©ν΄μΌ ν©λλ€. λΉμ κ·νλ μ κ·νλ λ°μ΄ν° λͺ¨λΈμμ μΌλΆ λλ μ 체λ₯Ό λ²μ΄λκ² λ§λλ κ²μ΄κΈ° λλ¬Έμ, λ°μ΄ν° λͺ¨λΈμ μΌκ΄μ±κ³Ό μ μ§λ³΄μμ±μ μ μ§νκΈ° μν΄μλ μ μ€νκ² κ³ λ €ν΄μΌ ν©λλ€.
'Database' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Database] μΈλ±μ€(Index) (0) | 2023.03.26 |
---|---|
[Database] μ΄μ(Anomaly) (0) | 2023.03.26 |
[Database] SQL vs NoSQL (0) | 2023.03.26 |
[Database] SQL Injection (0) | 2023.03.25 |
[Database] JOIN (0) | 2023.03.25 |