π μ κ·νλ?
μ κ·ν(Normalization)
λ λ°μ΄ν°μ μ€λ³΅μ μ΅μννκ³ λ¬΄κ²°μ±μ μ§ν€κΈ° μν΄ λ°μ΄ν°λ₯Ό ꡬ쑰ννλ λ°©λ²μ΄λ€.
μ₯μ
- μ€λ³΅ λ°μ΄ν°κ° μ€μ΄λ€κΈ° λλ¬Έμ μ μ₯곡κ°μ΄ μ€μ΄λ λ€.
- λ°μ΄ν°μ μΌκ΄μ±μ μ μ§ν μ μλ€.
λ¨μ
- μ¬λ¬ ν
μ΄λΈμ λ°μ΄ν°κ° λΆμ°λ μ μλ€.
- λ°μ΄ν° μ‘°ν μ μ‘°μΈ μ°μ°μ΄ νμν μ μλ€.
π μ΄μ νμ
λ°μ΄ν°μ μ€λ³΅ λ° λΆμΌμΉλ‘ λ°μνλ λ¬Έμ λ₯Ό μ΄μ νμ(Anomaly)
λΌκ³ νλ€. μ΄μ νμμ μ’
λ₯λ μ½μ
μ΄μ, μμ μ΄μ, κ°±μ μ΄μμ΄ μ‘΄μ¬νλ€.
id | student_name | lecture_id | lecture_name |
---|
1 | James | 101 | math |
2 | James | 103 | physics |
3 | Chris | 102 | english |
μμ κ°μ μ΄κΈ° ν
μ΄λΈ STU_LECμ΄ μλ€κ³ κ°μ νμ.
μ½μ
μ΄μ
μλ‘μ΄ λ°μ΄ν°λ₯Ό μ½μ
ν λ μ λ³΄κ° λΆμ‘±νμ¬ μ½μ
μ΄ λΆκ°λ₯ν μν©μ λ§νλ€. μλ₯Ό λ€μ΄ μ무 κ³Όλͺ©λ μκ°νμ§ μλ νμμ΄ μλ€κ³ κ°μ νμ. STU_LECμ ν΄λΉ νμμ μ 보λ₯Ό μ½μ
νκΈ° μν΄μ lecture_id, lecture_nameμ nullμ΄ λμ΄μΌ νλ€.
μμ μ΄μ
νΉμ λ°μ΄ν°λ₯Ό μμ ν λ μλμΉ μκ² λ€λ₯Έ λ°μ΄ν°λ₯Ό μκ² λλ μν©μ λ§νλ€. μλ₯Ό λ€μ΄ STU_LECμμ student_nameμ΄ ChrisμΈ νμ μμ νλ©΄ lecture_nameμ΄ englishμΈ μ 보κΉμ§ κ°μ΄ μμ κ° λλ€.
κ°±μ μ΄μ
λ°μ΄ν°λ₯Ό μμ ν λ λμΌν λ°μ΄ν°κ° μ¬λ¬ κ³³μ μ‘΄μ¬νμ¬ λͺ¨λ λ°μ΄ν°λ₯Ό μΌκ΄μ±μκ² μμ νμ§ λͺ»νλ μν©μ λ§νλ€. μλ₯Ό λ€μ΄ STU_LECμμ idκ° 1μΈ νμ student_nameμ SarahλΌκ³ μμ νλ€κ³ κ°μ νμ. κ·Έλ¬λ idκ° 1μΈ νκ³Ό 2μΈ νμ κ°μ νμμ΄λ―λ‘, μ 보μ λΆμΌμΉκ° λ°μνλ€.
λ°μ΄ν°λ² μ΄μ€λ₯Ό μ€κ³ν λ, νμ μ κ·νλ₯Ό μ μ©νλ κ²μ μ ν©νμ§ μλ€. μ κ·νκ° λ΅μ΄ μλλΌλ κ²μ΄λ€. λΉμ¦λμ€ μꡬμ¬νμ κ³ λ €νμ¬ λΉμ κ·ν λν κ³ λ €ν΄μΌ νλ€.
π μ κ·ν λ¨κ³
μ κ·ν λ¨κ³λ μ 1 μ κ·ν(1NF), μ 2 μ κ·ν(2NF), μ 3 μ κ·ν(3NF), Boyce-Codd Normal Form(BCNF), μ 4 μ κ·ν(4NF), μ 5 μ κ·ν(5NF)κ° μ‘΄μ¬νλ€. λ³΄ν΅ μ κ·νλ₯Ό μννλ κ²½μ° BCNFκΉμ§ μ§ννλ©°, κ·Έ μ΄νλ‘λ μ§ννμ§ μλλ€. κ·Έ μ΄μ λ μ κ·νμ λ¨μ μ΄ λΆκ°λ μ μκΈ° λλ¬Έμ΄λ€.
μ 1 μ κ·ν(1NF)
- λͺ¨λ μμ±μ΄ μμμ μ΄μ΄μΌ νλ€.
νμID | νμμ΄λ¦ | μμ
|
---|
1 | νκΈΈλ | μν, μμ΄ |
2 | κΉμν¬ | κ³Όν |
3 | μ΄μ² μ | μν, μμ
|
μ ν
μ΄λΈμ μμ
μμ±μ μ¬λ¬ κ°μ κ°μ§κ³ μλ€. λ°λΌμ μμμ±μ λ§μ‘±νμ§ μλλ€.
νμID | νμμ΄λ¦ | μμ
|
---|
1 | νκΈΈλ | μν |
1 | νκΈΈλ | μμ΄ |
2 | κΉμν¬ | κ³Όν |
3 | μ΄μ² μ | μν |
3 | μ΄μ² μ | μμ
|
μ 2 μ κ·ν(2NF)
- 1NFλ₯Ό λ§μ‘±ν΄μΌ νλ©° λΆλΆ μ’
μ(partial dependency)κ° μμ΄μΌ νλ€.
- κΈ°λ³Έ ν€κ° μλ μμ±μ΄ κΈ°λ³Έ ν€μ μΌλΆμ μμ‘΄νλ κ²½μ°λ₯Ό λΆλΆ μ’
μμ΄λΌκ³ νλ€.
νμID | μμ
ID | νμμ΄λ¦ | μμ
μ΄λ¦ |
---|
1 | 101 | νκΈΈλ | μν |
1 | 102 | νκΈΈλ | μμ΄ |
2 | 103 | κΉμν¬ | κ³Όν |
3 | 101 | μ΄μ² μ | μν |
3 | 104 | μ΄μ² μ | μμ
|
μ ν
μ΄λΈμ 1NFλ₯Ό λ§μ‘±νλ©°, κΈ°λ³Έ ν€λ (νμID, μμ
ID)μ΄λ€. κ·Έλ¬λ νμμ΄λ¦ μμ±μ κΈ°λ³Έ ν€μ μΌλΆ μμ±μ νμIDμ μ’
μμ μ΄λ€.
νμID | νμμ΄λ¦ |
---|
1 | νκΈΈλ |
2 | κΉμν¬ |
3 | μ΄μ² μ |
νμID | μμ
ID | μμ
μ΄λ¦ |
---|
1 | 101 | μν |
1 | 102 | μμ΄ |
2 | 103 | κ³Όν |
3 | 101 | μν |
3 | 104 | μμ
|
μ 3 μ κ·ν(3NF)
- 2NFλ₯Ό λ§μ‘±ν΄μΌ νλ©° μ΄ν μ’
μ(transitive dependency)μ΄ μμ΄μΌ νλ€. μ¦, κΈ°λ³Έ ν€κ° μλ μμ±λ€λΌλ¦¬ μ’
μλλ νμμ΄ μμ΄μΌ νλ€.
- μμ± Aκ° μμ± Bμ μ’
μλκ³ , μμ± Bκ° μμ± Cμ μ’
μλλ€κ³ ν λ, μμ± Cλ μμ± Aμ μ΄νμ μΌλ‘ μ’
μλλ€. μ¦, AβBμ΄κ³ BβCμΌ λ, AβCλ₯Ό λ§μ‘±νκ² λλ€.
νμID | μμ
ID | μμ
μ΄λ¦ |
---|
1 | 101 | μν |
2 | 102 | μμ΄ |
3 | 103 | κ³Όν |
1 | 101 | μν |
4 | 104 | μμ
|
μ ν
μ΄λΈμ κΈ°λ³Έ ν€λ νμIDμ΄λ€. μ±λ¦½νλ ν¨μμ μ’
μμ±μ νμIDβμμ
ID, μμ
IDβμμ
μ΄λ¦μ΄λ€. μμ
IDμ μμ
μ΄λ¦μ κΈ°λ³Έ ν€κ° μλλ―λ‘, μ΄ν μ’
μμ λ§μ‘±νκ³ μλ€. μ 3 μ κ·νλ₯Ό μνν κ²°κ³Όλ λ€μκ³Ό κ°λ€.
νμID | μμ
ID |
---|
1 | 101 |
2 | 102 |
3 | 103 |
4 | 104 |
μμ
ID | μμ
μ΄λ¦ |
---|
101 | μν |
102 | μμ΄ |
103 | κ³Όν |
104 | μμ
|
- 3NFλ₯Ό λ§μ‘±ν΄μΌ νλ©° λͺ¨λ κ²°μ μ(Determinant)κ° ν보 ν€ μ§ν©μ μν΄μΌ νλ€.
- FD AβBμμ Aλ₯Ό κ²°μ μλΌκ³ νλ€.
νμλ²νΈ | κ°μμ΄λ¦ | κ΅μμ΄λ¦ |
---|
1 | λ°μ΄ν°λ² μ΄μ€ | κΉκ΅μ |
2 | μκ³ λ¦¬μ¦ | μ΄κ΅μ |
3 | μ΄μ체μ | λ°κ΅μ |
1 | μκ³ λ¦¬μ¦ | μ΄κ΅μ |
μ ν
μ΄λΈμ κΈ°λ³Έ ν€λ (νμλ²νΈ, κ°μμ΄λ¦)μ΄λ©°, κ΅μμ΄λ¦βκ°μμ΄λ¦ ν¨μμ μ’
μμ±μ΄ μΆκ°μ μΌλ‘ μ±λ¦½νλ€. μ¬κΈ°μ κ²°μ μλ κ΅μμ΄λ¦μ΄λ©°, κ΅μμ΄λ¦μ ν보 ν€ μ§ν©μ μνμ§ μλλ€.
κ΅μμ΄λ¦ | κ°μμ΄λ¦ |
---|
κΉκ΅μ | λ°μ΄ν°λ² μ΄μ€ |
μ΄κ΅μ | μκ³ λ¦¬μ¦ |
λ°κ΅μ | μ΄μ체μ |
νμλ²νΈ | κ΅μμ΄λ¦ |
---|
1 | κΉκ΅μ |
2 | μ΄κ΅μ |
3 | λ°κ΅μ |
1 | μ΄κ΅μ |
μ 4 μ κ·ν(4NF)
- BCNFλ₯Ό λ§μ‘±ν΄μΌ νλ©° λ€μΉ μ’
μμ μ κ±°ν΄μΌ νλ€.
- λ€μΉ μ’
μμ AβBμμ Aκ° λ¨μΌ κ°, Bκ° λ€μ€ κ°μΈ κ²½μ°λ₯Ό λ§νλ©°, μ΄λ₯Ό Aβ BλΌκ³ νκΈ°νλ€.
νμID | κ°μμ΄λ¦ | μ£Όμ |
---|
1 | λ°μ΄ν°λ² μ΄μ€ | μμΈμ κ°λ¨κ΅¬ |
1 | μκ³ λ¦¬μ¦ | μμΈμ κ°λ¨κ΅¬ |
1 | μ΄μ체μ | μμΈμ κ°λ¨κ΅¬ |
2 | λ°μ΄ν°λ² μ΄μ€ | λΆμ°μ ν΄μ΄λꡬ |
2 | μκ³ λ¦¬μ¦ | λΆμ°μ ν΄μ΄λꡬ |
3 | μ΄μ체μ | λꡬμ μ€κ΅¬ |
μ ν
μ΄λΈμμ κΈ°λ³Έ ν€λ νμIDμ΄λ©°, νμIDβκ°μμ΄λ¦, νμIDβμ£Όμ ν¨μμ μ’
μμ±μ λ§μ‘±νλ€. λ€μΉ μ’
μμ±μ λ§μ‘±νλ―λ‘ μ 4μ κ·νλ₯Ό ν΅ν΄ ν
μ΄λΈμ λΆν΄νλ€.
νμID | μ£Όμ |
---|
1 | μμΈμ κ°λ¨κ΅¬ |
2 | λΆμ°μ ν΄μ΄λꡬ |
3 | λꡬμ μ€κ΅¬ |
νμID | κ°μμ΄λ¦ |
---|
1 | λ°μ΄ν°λ² μ΄μ€ |
1 | μκ³ λ¦¬μ¦ |
1 | μ΄μ체μ |
2 | λ°μ΄ν°λ² μ΄μ€ |
2 | μκ³ λ¦¬μ¦ |
3 | μ΄μ체μ |
μ 5 μ κ·ν(5NF)
- Project Join Normal Form(PJNF)μ΄λΌκ³ λ λΆλ₯Έλ€.
- 4NFλ₯Ό λ§μ‘±ν΄μΌ νλ©° μ‘°μΈ μ’
μμ μ κ±°ν΄μΌ νλ€.
- μ‘°μΈ μ’
μμ νλμ κ΄κ³λ₯Ό λΆν΄νκ³ , λ€μ μ‘°μΈνμ λ λ°μ΄ν° μμ€μ΄ λ°μνκ±°λ, νμμλ λ°μ΄ν°κ° μκΈ°λ κ²μ΄λ€.
- μ 5 μ κ·νμ λ§μ‘±νκΈ° μν΄μ ν
μ΄λΈμ μ¬μ€μ 2κ°μ μμ±λ§ μ¬μ©ν΄μΌ νλ€.