κ°μ μκ° μ€ μμ±ν λ
ΈνΈμμ λ΄μ©μ λ°μ·, μ΄μμ κ°μ¬λ κ°μ μ λ
ΈνΈμ μ΄λ―Έμ§λ₯Ό μ°Έμ‘°νκ³ μμ΅λλ€.
μ κ·ν(Normalization)
π μ κ·ν
- λ°μ΄ν°μ μ€λ³΅μ μ κ±°νκΈ° μν΄μ, μ¬λ¬ ν
μ΄λΈμ μ 보λ₯Ό λλμ΄ μ μ₯νλ λ°©μ
- μ κ·νλ λ
Όλ¦¬μ λ°μ΄ν° λͺ¨λΈμ μΌκ΄μ±μκ³ , μ€λ³΅μ μ κ±°νμ¬ λ³΄λ€ μμ μ±μ κ°λ λ°λμ§ν μλ£κ΅¬μ‘°λ‘ λ§λ€κΈ° μν΄ κ±°μΉλ λ¨κ³λ€.
π‘ μ κ·νμ λ¨κ³
- μ κ·νμ λ¨κ³λ μ 1μ κ·νμμλΆν° μ 5μ κ·νκ³Ό BCNF(Boyce-Codd Normal Form)κΉμ§ ꡬμ±λμ΄ μλ€.
- μΌλ°μ μΌλ‘ μ 3μ κ·νμ λ¨κ³λ₯Ό κ±°μΉκ² λλ©΄ μ μ νκ³ μΌκ΄μ±μ μ μ§νλ©΄μ μ€λ³΅μ΄ μλ λ
Όλ¦¬μ λ°μ΄ν° λͺ¨λΈμ ꡬμΆν μ μλ€.
π μ κ·νμ μ‘°μΈ
- λ°μ΄ν°μ μ κ·ν
μ 1μ κ·ν(μμν)
: μμ±μ΄ λ¨ νλμ κ°μ κ°μ§λλ‘ νλ€.
μ 2μ κ·ν
: κΈ°λ³Έν€μ λν μμ ν¨μμ μ’
μμΌλ‘ ν
μ΄λΈμ λλλ€.
π‘ 2μ κ·νμμ κΈ°λ³Έν€μ μμ μ’
μλλ€λκ²μ λ¬΄μ¨ λ»?
κΈ°λ³Έν€μ λνμ¬ μ§μ μ°κ΄μλ μμ±λΌλ¦¬λ§ λΆλ₯ν΄μ μ¬λ¬ ν
μ΄λΈλ‘ λλ λ¬Άλλ€.
μλ₯Ό λ€μ΄ νλ²(κΈ°λ³Έν€), μ΄λ¦, νκ³Ό
/ μ΄λ¦(κΈ°λ³Έν€),μκ°κ³Όλͺ©
/ νκ³Ό(κΈ°λ³Έν€), λ΄λΉκ΅μλͺ
- λ°μ΄ν°λ λ³΄ν΅ μ΅μ μ 2μ κ·νλμ΄ μκ³ , κ΄κ³μ λ°λΌ μ¬λ¬ ν
μ΄λΈλ‘ λλμ΄μ Έ μλ€.
μ¬λ¬ ν
μ΄λΈμ λΆμ°λμ΄ μλ λ°μ΄ν°λ² μ΄μ€μμ μνλ μ 보λ₯Ό μ‘°ννκΈ° μνμ¬, μ¬λ¬ ν
μ΄λΈλ€μ μ‘°μΈνκ³ μ‘°μΈμ‘°κ±΄μ λͺ
μνκ² λλ€.
- μ‘°μΈμ‘°κ±΄μ νμμ±
- κΈ°λ³Έ μ‘°μΈμ κ²°κ³Όλ μμΈ‘μ λͺ¨λ νμ κ³±νλ―λ‘ κ·Έ μ€ μ ν¨ν μ 보μ νλ€λ§ λ½μμ€μΌ νλ€.
- μλ‘ λ€λ₯Έ ν
μ΄λΈ μ€ μλ‘λ₯Ό μ°κ²°μμΌμ£Όλ μμ±κ°μ ν΅ν΄ μ‘°μΈμ‘°κ±΄μ κ±Έκ³ , μ ν¨ν μ 보λ§μ μ‘°νν μ μλ€.
ex
departments.department_id = employees.department_id;
π‘ μ΄λ ν
μ΄λΈμ μ΄λ€ κ°μ΄ μλμ§ μ μκ³ μμ΄μΌ νλ€. κ±°μ λͺ¨λ λ°μ΄ν°λ μ κ·νλμ΄μλ€.
μ‘°μΈ(Join)
- μ‘°μΈμ λ κ° μ΄μμ ν
μ΄λΈμ μ°κ²°μ§μ΄μ λ°μ΄ν°λ₯Ό μ‘°ννλ κ²μ΄λ€.
- μ€λΌν΄κ³Ό κ°μ κ΄κ³νλ°μ΄ν°λ² μ΄μ€λ λͺ¨λ μ 보λ₯Ό νλμ ν
μ΄λΈμ μ μ₯νλ κ²μ΄ μλλΌ, λ°μ΄ν°κ° μ κ·νλμ΄ μ¬λ¬ ν
μ΄λΈμ λΆμ°λμ΄ μλ€.
- λ°μ΄ν°κ° μ¬λ¬ ν
μ΄λΈμ ν©μ΄μ Έ μκΈ° λλ¬Έμ μ¬μ©μκ° μνλ λ°μ΄ν°λ₯Ό μ°ΎκΈ°μν΄μλ μ¬λ¬ ν
μ΄λΈμ λ€ μ‘°νν΄μΌ νλ€.
- μ‘°μΈμ μ¬λ¬ ν
μ΄λΈμ ν©μ΄μ Έ μλ μ 보μ€μμ μ¬μ©μκ° μνλ μ λ³΄λ§ κ°μ Έμμ κ°μμ ν
μ΄λΈμ²λΌ λ§λ€μ΄μ λ°μ΄ν°λ₯Ό μ‘°ννλ κ²μ΄λ€.
π μ‘°μΈμ λ°©λ²
- μ‘°μΈλ¬Έλ²μ μ€λΌν΄μμλ§ μ¬μ©λλ Oracle Joinκ³Ό λͺ¨λ RDBMSμμ 곡ν΅μ μΌλ‘ μ¬μ©νλ ANSI(νμ€) Joinμ΄ μλ€.
-
Oracle Join
SELECT a.col1, b.col2
FROM table1 a, table2 b
WHERE a.col2 = b.col2;
-
ANSI Join
SELECT a.col1, b.col2
FROM table1 a [INNER] JOIN table2 b
ON a.col2 = b.col2
- μ‘°μΈμ΄ μνλ λλ λκ° μ΄μμ ν
μ΄λΈμ΄ μ¬μ©λλλ°, λ μ€μ λ¨Όμ μ½λ ν
μ΄λΈμ
μ ν ν
μ΄λΈ
μ΄λΌ νκ³ , λ€μ μ€λ ν
μ΄λΈμ νν ν
μ΄λΈ
μ΄λΌκ³ νλ€.
- μ ν ν
μ΄λΈμ μ‘°νν λ°μ΄ν°κ° μ μ ν
μ΄λΈλ‘ μ ννλ κ²μ΄ μλλ©΄μμ μ 리νλ€.
π μ‘°μΈ μμ
- μ¬μν
μ΄λΈμλ μ¬λ², μ΄λ¦, μμλΆμλ²νΈκ° μλ€.
- λΆμν
μ΄λΈμλ λΆμλ²νΈ, λΆμλͺ
, μμΉκ° μλ€.
- μλμ κ°μ΄ μ¬μν
μ΄λΈμμ μ¬μμ μ΄λ¦μ κ°μ Έμ€κ³ , λΆμν
μ΄λΈμμ κ·Έ μ¬μμ΄ μμλ λΆμλͺ
μ μ‘°νν΄μΌ νλ€.
- μ‘°μΈμ μ¬μν
μ΄λΈκ³Ό λΆμν
μ΄λΈμ
κ°κ°μ νμ μλ‘ μ°κ΄μλ νλΌλ¦¬ μ°κ²°
μ§μ΄μ μλ‘μ΄ κ°μμ ν
μ΄λΈ
μ λ§λ€κ³ , κ·Έ ν
μ΄λΈλ‘λΆν° νμν μ 보
λ₯Ό κ°μ Έμ€λ κ²μ΄λ€.