κ΅λ―Όλνκ΅μμ "μ€λΌν΄λ‘ λ°°μ°λ λ°μ΄ν°λ² μ΄μ€ κ°λ‘ κ³Ό μ€μ΅(2ν)" μ μ΄μ©ν
μ μΈμ κ΅μλμ κ°μ κ΅μμ μ΄μ©νμ¬ μμ λ΄μ©μ μ 리νμμ΅λλ€
1. μ΄μνμ(anomaly)
1.1 μ΄μνμμ κ°λ
μ΄μνμ(Anomaly)μ΄λ μλͺ» μ€κ³λ ν μ΄λΈλ‘ μΈν΄ μ½μ , μμ , μμ κ°μ λ°μ΄ν° μ‘°μ μ λ°μ΄ν° μΌκ΄μ±μ΄ κΉ¨μ§λ νμ!
=> λΆμΌμΉ(inconsistency : μΌκ΄μ± μμ) λ¬Έμ λ°μ
μ΄μνμμλ

- μμ μ΄μ(deletion anomly)
ν¬ν μμ μ κ°μ΄ μ μ₯λ λ€λ₯Έ μ 보κΉμ§ μ°μμ μΌλ‘ μμ λλ νμ
(μ°μμμ λ¬Έμ λ°μ)

- μ½μ
μ΄μ(insrtion anomly)
ν¬ν μ½μ μ νΉμ μμ±μ ν΄λΉνλ κ°μ΄ μμ΄ NULL κ°μ μ λ ₯ν΄μΌ νλ νμ
(NULL κ° λ¬Έμ λ°μ)


- μμ μ΄μ(update anomly)
ν¬ν μμ μ μ€λ³΅λ λ°μ΄ν°μ μΌλΆλ§ μμ λμ΄ λ°μ΄ν°μ λΆμΌμΉ λ¬Έμ κ° μΌμ΄λλ νμ
(λΆμΌμΉ λ¬Έμ λ°μ)
κ° μλ€!
μ΄λ° κ²½μ° ν
μ΄λΈ ꡬ쑰λ₯Ό μμ νμ¬ (ν
μ΄λΈμ λΆλ¦¬) μ΄μνμμ΄ μΌμ΄λμ§ μκ² ν΄μΌν¨
ex. Summer ν
μ΄λΈμ class μμ±μ κΈ°λ³Έν€λ‘ νμ¬ SummerPrice (κ° class λ³λ‘ priceλ§ λ΄μ ν
μ΄λΈ) κ³Ό
Summer ν
μ΄λΈμ sid μμ±μ κΈ°λ³Έν€λ‘ νμ¬ SummerEnroll (κ° sid λ³λ‘ classλ§ λ΄μ ν
μ΄λΈ) μ λ°λ‘ λ§λ¬
μ΄λ κ² νλ©΄ νμμ νλ²(sid) λ³λ‘ μκ°νλ κ³Όλͺ©μ μ°Ύμ λλ SummerEnroll ν μ΄λΈμμ, κ°μ’μ μκ°λ£λ₯Ό μκ³ μΆμ λλ SummerPrice ν μ΄λΈμμ κ΄λ ¨ SQLλ¬Έμ μμ±νμ¬ μ²λ¦¬ν μ μμ
=> μμ , μ½μ , μμ μ΄ κ°κ° ν΄λΉλλ ν μ΄λΈμμ μ§νλλ―λ‘ μ΄μ μμ!
2. ν¨μ μ’ μμ±
2.1 ν¨μ μ’ μμ±μ κ°λ
νμμκ°μ±μ 릴λ μ΄μ
μ κ° μμ± μ¬μ΄μλ μμ‘΄μ±μ΄ μ‘΄μ¬ν¨
=> μ΄λ€ μμ± Aμ κ°μ μλ©΄ λ€λ₯Έ μμ± Bμ κ°μ΄ μ μΌνκ² μ ν΄μ§λ μμ‘΄ κ΄κ³λ₯Ό 'μμ± Bλ μμ± Aμ μ’
μνλ€' νΉμ
'μμ± Aλ μμ± Bλ₯Ό κ²°μ νλ€' λΌκ³ ν¨
'A -> B'λ‘ νκΈ°νλ©°, Aλ₯Ό Bμ κ²°μ μλΌκ³ ν¨

2.2 ν¨μ μ’ μμ± λ€μ΄μ΄κ·Έλ¨
ν¨μ μ’ μμ± λ€μ΄μ΄κ·Έλ¨μ ν¨μ μ’ μμ±μ λνλ΄λ νκΈ°λ²μ΄λ€
- 릴λ μ΄μ μ μμ± : μ§μ¬κ°ν
- μμ± κ°μ ν¨μ μ’ μμ± : νμ΄ν
- λ³΅ν© μμ± : μ§μ¬κ°νμΌλ‘ λ¬Άμ΄μ κ·Έλ¦Ό

2.3 ν¨μ μ’ μμ± κ·μΉ

2.4 ν¨μ μ’ μμ±κ³Ό κΈ°λ³Έν€
릴λ μ΄μ μ ν¨μ μ’ μμ±μ νμ νκΈ° μν΄μλ μ°μ κΈ°λ³Έν€λ₯Ό μ°ΎμμΌ ν¨
=> κΈ°λ³Έν€κ° ν¨μ μ’ μμ±μμ μ΄λ€ μν μ νλμ§ μλ©΄ μ΄μνμμ μ κ±°νλ μ κ·ν κ³Όμ μ μ½κ² μ΄ν΄ν μ μμ
릴λ μ΄μ R(K, A1, A2, A3 , ... , An)μμ Kκ° κΈ°λ³Έν€μ΄λ©΄, K -> Rμ΄ μ±λ¦½ν¨
=> μ¦, κΈ°λ³Έν€λ 릴λ μ΄μ μ λͺ¨λ μμ±μ λν κ²°μ μμ!
μ΄μνμμ ν κ°μ 릴λ μ΄μ μ λ κ° μ΄μμ μ λ³΄κ° ν¬ν¨λμ΄ μμ λ λνλ¨
(κΈ°λ³Έν€κ° μλλ©΄μ κ²°μ μμΈ μμ±μ΄ μμ λ λ°μ)
=> μμμ λ΄€λ νμμκ°μ±μ 릴λ μ΄μ μ κ²½μ° νμ μ 보(νμλ²νΈ, νμμ΄λ¦, μ£Όμ, νκ³Ό)μ κ°μ’ μ 보(κ°μ’μ΄λ¦, κ°μμ€) κ° ν 릴λ μ΄μ μ ν¬ν¨λμ΄μ μ΄μνμμ΄ λνλ¨!
2.5 μ΄μνμκ³Ό κ²°μ μ
μ΄μνμμ μμ λ €λ©΄ μμμ λ€λ€λλλ‘ λ¦΄λ μ΄μ μ λΆν΄ν΄μΌν¨
νμμκ°μ±μ 릴λ μ΄μ μ μλ‘ μ΄ν΄λ³΄λ©΄


1λ¨κ³ : (κ°μ’μ΄λ¦, κ°μμ€)μ κ°μμ€ λ¦΄λ μ΄μ μΌλ‘ λΆλ¦¬

2λ¨κ³ : (νμλ²νΈ, κ°μ’μ΄λ¦, μ±μ )μ νμμ±μ 릴λ μ΄μ μΌλ‘ λΆλ¦¬

3λ¨κ³ : (νκ³Ό, νκ³Όμ¬λ¬΄μ€)μ νκ³Ό 릴λ μ΄μ μΌλ‘ λΆλ¦¬
λΆν΄ν λ λΆλΆ 릴λ μ΄μ μ κ²°μ μλ μλ 릴λ μ΄μ μ λ¨κ²¨λμ΄μΌν¨
=> κ·ΈλμΌ λΆν΄λ λΆλΆ 릴λ μ΄μ μ΄ μλ 릴λ μ΄μ κ³Ό κ΄κ³λ₯Ό νμ±ν μ μμ
3. μ κ·ν (normalization)
3.1 μ κ·ν κ°λ
μ κ·νλ μ΄μνμμ΄ λ°μνλ 릴λ μ΄μ μ λΆν΄νμ¬ μ΄μνμμ μμ λ κ³Όμ μ΄λ€
=> μ΄μνμμ΄ μλ 릴λ μ΄μ μ μ΄μνμμ μΌμΌν€λ ν¨μ μ’ μμ±μ μ νμ λ°λΌ λ±κΈμ κ΅¬λΆ κ°λ₯
(μ κ·νμ΄ λμμλ‘ μ΄μνμμ μ€μ΄λ¦)
μ κ·ν κ³Όμ

μ 1μ κ·ν

릴λ μ΄μ Rμ λͺ¨λ μμ± κ°μ΄ μμκ°μ κ°μ§λ©΄ μ 1μ κ·νμ΄λΌκ³ ν¨
μ 2μ κ·ν


릴λ μ΄μ
Rμ΄ μ 1μ κ·νμ΄κ³ , κΈ°λ³Έν€κ° μλ μμ±μ΄ κΈ°λ³Έν€μ μμ ν¨μ μ’
μμΌ λ μ 2μ κ·νμ΄λΌκ³ ν¨
μμ ν¨μ μ’ μ : Aμ Bκ° λ¦΄λ μ΄μ Rμ μμ±μ΄κ³ A -> B μ’ μμ±μ΄ μ±λ¦½ν λ, Bκ° Aμ μμ± μ 체μ ν¨μ μ’ μνκ³ λΆλΆ μ§ν© μμ±μ ν¨μ μ’ μνμ§ μμ κ²½μ° μμ ν¨μ μ’ μμ΄λΌκ³ ν¨!
=> μλ₯Ό λ€μ΄, κΈ°λ³Έν€κ° {A, B}μΈ κ²½μ°, μμ± Cκ° {A, B}μ λν΄ μμ ν¨μ μ’ μλλ €λ©΄, Cκ° Aλ Bμ€ νλμλ§ μμ‘΄ν΄μλ μ λκ³ , λ°λμ Aμ B μ 체μ μμ‘΄ν΄μΌν¨
μ 3μ κ·ν


릴λ μ΄μ Rμ΄ μ 2 μ κ·νμ΄κ³ κΈ°λ³Έν€κ° μλ μμ±μ΄ κΈ°λ³Έν€μ λΉμ΄νμ (non-transitive)μΌλ‘ μ’ μν λ (μ§μ μ’ μ)
μ 3μ κ·νμ΄λΌκ³ ν¨!
μ΄νμ μ’ μμ΄λ A -> B, B -> Cκ° μ±λ¦½ν λ A -> Cκ° μ±λ¦½λλ ν¨μ μ’ μμ±
BCNF (Boyce-Codd Normal Form)


릴λ μ΄μ Rμμ ν¨μ μ’ μμ± X -> Yκ° μ±λ¦½ν λ λͺ¨λ κ²°μ μ Xκ° ν보ν€μ΄λ©΄ BCNF μ κ·νμ΄λΌκ³ ν¨
3.3 무μμ€ λΆν΄
릴λ μ΄μ Rμ 릴λ μ΄μ R1κ³Ό R2λ‘ λΆν΄ν λ R1 β R2 = Rμ΄λ©΄ 무μμ€ λΆν΄(lossless-join decomposition) λΌκ³ ν¨
=> R1 β© R2 -> R1 νΉμ R1 β© R2 -> R2 μ€ νλλ₯Ό λ§μ‘±ν΄μΌ ν¨

[λΆν΄ 1]μ κ²½μ° R1, R2λ₯Ό λ€μ μ‘°μΈνλ©΄ μλ 릴λ μ΄μ
μ΄ λμ§λ§
[λΆν΄ 2]μ κ²½μ° λ€μ μ‘°μΈνλ©΄ μλ―Έμλ ν¬νμ΄ μκΉ!
=> 무μμ€ λΆν΄ 쑰건μ λ§μ‘±νμ§ λͺ»νκ³ μμ€(loss) λΆν΄λμκΈ° λλ¬Έ


3.4 μ κ·ν μ 리

λλΆλΆμ 릴λ μ΄μ μ BCNFκΉμ§ μ κ·ννλ©΄ μ€μ μ μΈ μ΄μνμμ΄ μμ΄μ§κΈ° λλ¬Έμ λ³΄ν΅ BCNFκΉμ§ μ κ·νλ₯Ό μ§νν¨
'π«§ Database > λ°μ΄ν°λ² μ΄μ€' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
Chapter 08. νΈλμμ , λμμ± μ μ΄, ν볡 (0) | 2024.05.26 |
---|---|
Chapter 06. λ°μ΄ν° λͺ¨λΈλ§ (0) | 2024.05.15 |
Chapter 05. λ°μ΄ν°λ² μ΄μ€ νλ‘κ·Έλλ° (1) | 2024.04.16 |
Chapter 04. SQL κ³ κΈ (1) | 2024.04.15 |
Chapter 03. SQL κΈ°μ΄ (1) | 2024.04.14 |
κ΅λ―Όλνκ΅μμ "μ€λΌν΄λ‘ λ°°μ°λ λ°μ΄ν°λ² μ΄μ€ κ°λ‘ κ³Ό μ€μ΅(2ν)" μ μ΄μ©ν
μ μΈμ κ΅μλμ κ°μ κ΅μμ μ΄μ©νμ¬ μμ λ΄μ©μ μ 리νμμ΅λλ€
1. μ΄μνμ(anomaly)
1.1 μ΄μνμμ κ°λ
μ΄μνμ(Anomaly)μ΄λ μλͺ» μ€κ³λ ν μ΄λΈλ‘ μΈν΄ μ½μ , μμ , μμ κ°μ λ°μ΄ν° μ‘°μ μ λ°μ΄ν° μΌκ΄μ±μ΄ κΉ¨μ§λ νμ!
=> λΆμΌμΉ(inconsistency : μΌκ΄μ± μμ) λ¬Έμ λ°μ
μ΄μνμμλ

- μμ μ΄μ(deletion anomly)
ν¬ν μμ μ κ°μ΄ μ μ₯λ λ€λ₯Έ μ 보κΉμ§ μ°μμ μΌλ‘ μμ λλ νμ
(μ°μμμ λ¬Έμ λ°μ)

- μ½μ
μ΄μ(insrtion anomly)
ν¬ν μ½μ μ νΉμ μμ±μ ν΄λΉνλ κ°μ΄ μμ΄ NULL κ°μ μ λ ₯ν΄μΌ νλ νμ
(NULL κ° λ¬Έμ λ°μ)


- μμ μ΄μ(update anomly)
ν¬ν μμ μ μ€λ³΅λ λ°μ΄ν°μ μΌλΆλ§ μμ λμ΄ λ°μ΄ν°μ λΆμΌμΉ λ¬Έμ κ° μΌμ΄λλ νμ
(λΆμΌμΉ λ¬Έμ λ°μ)
κ° μλ€!
μ΄λ° κ²½μ° ν
μ΄λΈ ꡬ쑰λ₯Ό μμ νμ¬ (ν
μ΄λΈμ λΆλ¦¬) μ΄μνμμ΄ μΌμ΄λμ§ μκ² ν΄μΌν¨
ex. Summer ν
μ΄λΈμ class μμ±μ κΈ°λ³Έν€λ‘ νμ¬ SummerPrice (κ° class λ³λ‘ priceλ§ λ΄μ ν
μ΄λΈ) κ³Ό
Summer ν
μ΄λΈμ sid μμ±μ κΈ°λ³Έν€λ‘ νμ¬ SummerEnroll (κ° sid λ³λ‘ classλ§ λ΄μ ν
μ΄λΈ) μ λ°λ‘ λ§λ¬
μ΄λ κ² νλ©΄ νμμ νλ²(sid) λ³λ‘ μκ°νλ κ³Όλͺ©μ μ°Ύμ λλ SummerEnroll ν μ΄λΈμμ, κ°μ’μ μκ°λ£λ₯Ό μκ³ μΆμ λλ SummerPrice ν μ΄λΈμμ κ΄λ ¨ SQLλ¬Έμ μμ±νμ¬ μ²λ¦¬ν μ μμ
=> μμ , μ½μ , μμ μ΄ κ°κ° ν΄λΉλλ ν μ΄λΈμμ μ§νλλ―λ‘ μ΄μ μμ!
2. ν¨μ μ’ μμ±
2.1 ν¨μ μ’ μμ±μ κ°λ
νμμκ°μ±μ 릴λ μ΄μ
μ κ° μμ± μ¬μ΄μλ μμ‘΄μ±μ΄ μ‘΄μ¬ν¨
=> μ΄λ€ μμ± Aμ κ°μ μλ©΄ λ€λ₯Έ μμ± Bμ κ°μ΄ μ μΌνκ² μ ν΄μ§λ μμ‘΄ κ΄κ³λ₯Ό 'μμ± Bλ μμ± Aμ μ’
μνλ€' νΉμ
'μμ± Aλ μμ± Bλ₯Ό κ²°μ νλ€' λΌκ³ ν¨
'A -> B'λ‘ νκΈ°νλ©°, Aλ₯Ό Bμ κ²°μ μλΌκ³ ν¨

2.2 ν¨μ μ’ μμ± λ€μ΄μ΄κ·Έλ¨
ν¨μ μ’ μμ± λ€μ΄μ΄κ·Έλ¨μ ν¨μ μ’ μμ±μ λνλ΄λ νκΈ°λ²μ΄λ€
- 릴λ μ΄μ μ μμ± : μ§μ¬κ°ν
- μμ± κ°μ ν¨μ μ’ μμ± : νμ΄ν
- λ³΅ν© μμ± : μ§μ¬κ°νμΌλ‘ λ¬Άμ΄μ κ·Έλ¦Ό

2.3 ν¨μ μ’ μμ± κ·μΉ

2.4 ν¨μ μ’ μμ±κ³Ό κΈ°λ³Έν€
릴λ μ΄μ μ ν¨μ μ’ μμ±μ νμ νκΈ° μν΄μλ μ°μ κΈ°λ³Έν€λ₯Ό μ°ΎμμΌ ν¨
=> κΈ°λ³Έν€κ° ν¨μ μ’ μμ±μμ μ΄λ€ μν μ νλμ§ μλ©΄ μ΄μνμμ μ κ±°νλ μ κ·ν κ³Όμ μ μ½κ² μ΄ν΄ν μ μμ
릴λ μ΄μ R(K, A1, A2, A3 , ... , An)μμ Kκ° κΈ°λ³Έν€μ΄λ©΄, K -> Rμ΄ μ±λ¦½ν¨
=> μ¦, κΈ°λ³Έν€λ 릴λ μ΄μ μ λͺ¨λ μμ±μ λν κ²°μ μμ!
μ΄μνμμ ν κ°μ 릴λ μ΄μ μ λ κ° μ΄μμ μ λ³΄κ° ν¬ν¨λμ΄ μμ λ λνλ¨
(κΈ°λ³Έν€κ° μλλ©΄μ κ²°μ μμΈ μμ±μ΄ μμ λ λ°μ)
=> μμμ λ΄€λ νμμκ°μ±μ 릴λ μ΄μ μ κ²½μ° νμ μ 보(νμλ²νΈ, νμμ΄λ¦, μ£Όμ, νκ³Ό)μ κ°μ’ μ 보(κ°μ’μ΄λ¦, κ°μμ€) κ° ν 릴λ μ΄μ μ ν¬ν¨λμ΄μ μ΄μνμμ΄ λνλ¨!
2.5 μ΄μνμκ³Ό κ²°μ μ
μ΄μνμμ μμ λ €λ©΄ μμμ λ€λ€λλλ‘ λ¦΄λ μ΄μ μ λΆν΄ν΄μΌν¨
νμμκ°μ±μ 릴λ μ΄μ μ μλ‘ μ΄ν΄λ³΄λ©΄


1λ¨κ³ : (κ°μ’μ΄λ¦, κ°μμ€)μ κ°μμ€ λ¦΄λ μ΄μ μΌλ‘ λΆλ¦¬

2λ¨κ³ : (νμλ²νΈ, κ°μ’μ΄λ¦, μ±μ )μ νμμ±μ 릴λ μ΄μ μΌλ‘ λΆλ¦¬

3λ¨κ³ : (νκ³Ό, νκ³Όμ¬λ¬΄μ€)μ νκ³Ό 릴λ μ΄μ μΌλ‘ λΆλ¦¬
λΆν΄ν λ λΆλΆ 릴λ μ΄μ μ κ²°μ μλ μλ 릴λ μ΄μ μ λ¨κ²¨λμ΄μΌν¨
=> κ·ΈλμΌ λΆν΄λ λΆλΆ 릴λ μ΄μ μ΄ μλ 릴λ μ΄μ κ³Ό κ΄κ³λ₯Ό νμ±ν μ μμ
3. μ κ·ν (normalization)
3.1 μ κ·ν κ°λ
μ κ·νλ μ΄μνμμ΄ λ°μνλ 릴λ μ΄μ μ λΆν΄νμ¬ μ΄μνμμ μμ λ κ³Όμ μ΄λ€
=> μ΄μνμμ΄ μλ 릴λ μ΄μ μ μ΄μνμμ μΌμΌν€λ ν¨μ μ’ μμ±μ μ νμ λ°λΌ λ±κΈμ κ΅¬λΆ κ°λ₯
(μ κ·νμ΄ λμμλ‘ μ΄μνμμ μ€μ΄λ¦)
μ κ·ν κ³Όμ

μ 1μ κ·ν

릴λ μ΄μ Rμ λͺ¨λ μμ± κ°μ΄ μμκ°μ κ°μ§λ©΄ μ 1μ κ·νμ΄λΌκ³ ν¨
μ 2μ κ·ν


릴λ μ΄μ
Rμ΄ μ 1μ κ·νμ΄κ³ , κΈ°λ³Έν€κ° μλ μμ±μ΄ κΈ°λ³Έν€μ μμ ν¨μ μ’
μμΌ λ μ 2μ κ·νμ΄λΌκ³ ν¨
μμ ν¨μ μ’ μ : Aμ Bκ° λ¦΄λ μ΄μ Rμ μμ±μ΄κ³ A -> B μ’ μμ±μ΄ μ±λ¦½ν λ, Bκ° Aμ μμ± μ 체μ ν¨μ μ’ μνκ³ λΆλΆ μ§ν© μμ±μ ν¨μ μ’ μνμ§ μμ κ²½μ° μμ ν¨μ μ’ μμ΄λΌκ³ ν¨!
=> μλ₯Ό λ€μ΄, κΈ°λ³Έν€κ° {A, B}μΈ κ²½μ°, μμ± Cκ° {A, B}μ λν΄ μμ ν¨μ μ’ μλλ €λ©΄, Cκ° Aλ Bμ€ νλμλ§ μμ‘΄ν΄μλ μ λκ³ , λ°λμ Aμ B μ 체μ μμ‘΄ν΄μΌν¨
μ 3μ κ·ν


릴λ μ΄μ Rμ΄ μ 2 μ κ·νμ΄κ³ κΈ°λ³Έν€κ° μλ μμ±μ΄ κΈ°λ³Έν€μ λΉμ΄νμ (non-transitive)μΌλ‘ μ’ μν λ (μ§μ μ’ μ)
μ 3μ κ·νμ΄λΌκ³ ν¨!
μ΄νμ μ’ μμ΄λ A -> B, B -> Cκ° μ±λ¦½ν λ A -> Cκ° μ±λ¦½λλ ν¨μ μ’ μμ±
BCNF (Boyce-Codd Normal Form)


릴λ μ΄μ Rμμ ν¨μ μ’ μμ± X -> Yκ° μ±λ¦½ν λ λͺ¨λ κ²°μ μ Xκ° ν보ν€μ΄λ©΄ BCNF μ κ·νμ΄λΌκ³ ν¨
3.3 무μμ€ λΆν΄
릴λ μ΄μ Rμ 릴λ μ΄μ R1κ³Ό R2λ‘ λΆν΄ν λ R1 β R2 = Rμ΄λ©΄ 무μμ€ λΆν΄(lossless-join decomposition) λΌκ³ ν¨
=> R1 β© R2 -> R1 νΉμ R1 β© R2 -> R2 μ€ νλλ₯Ό λ§μ‘±ν΄μΌ ν¨

[λΆν΄ 1]μ κ²½μ° R1, R2λ₯Ό λ€μ μ‘°μΈνλ©΄ μλ 릴λ μ΄μ
μ΄ λμ§λ§
[λΆν΄ 2]μ κ²½μ° λ€μ μ‘°μΈνλ©΄ μλ―Έμλ ν¬νμ΄ μκΉ!
=> 무μμ€ λΆν΄ 쑰건μ λ§μ‘±νμ§ λͺ»νκ³ μμ€(loss) λΆν΄λμκΈ° λλ¬Έ


3.4 μ κ·ν μ 리

λλΆλΆμ 릴λ μ΄μ μ BCNFκΉμ§ μ κ·ννλ©΄ μ€μ μ μΈ μ΄μνμμ΄ μμ΄μ§κΈ° λλ¬Έμ λ³΄ν΅ BCNFκΉμ§ μ κ·νλ₯Ό μ§νν¨
'π«§ Database > λ°μ΄ν°λ² μ΄μ€' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
Chapter 08. νΈλμμ , λμμ± μ μ΄, ν볡 (0) | 2024.05.26 |
---|---|
Chapter 06. λ°μ΄ν° λͺ¨λΈλ§ (0) | 2024.05.15 |
Chapter 05. λ°μ΄ν°λ² μ΄μ€ νλ‘κ·Έλλ° (1) | 2024.04.16 |
Chapter 04. SQL κ³ κΈ (1) | 2024.04.15 |
Chapter 03. SQL κΈ°μ΄ (1) | 2024.04.14 |