π κ΄κ³ λμ & κ΄κ³ ν΄μ ννλ² π― μ΄μ 리
κ΄κ³ λμ (Relation Algebra)
κ΄κ³ λμμμ΄λ κΈ°μ‘΄ 릴λ μ΄μ (ν μ΄λΈ)λ€λ‘λΆν° μλ‘μ΄ λ¦΄λ μ΄μ μ μμ±νλ μ μ°¨μ μΈμ΄ λ¬Έλ²μ΄λΌκ³ 보면 λλ€. 릴λ μ΄μ μ λν΄ κΈ°λ³Έμ μΈ μ°μ°μλ€μ μ μ©νμ¬ λ³΄λ€ λ³΅μ‘ν κ΄κ³ λμμμ μ μ°¨μ μΌλ‘ λ§λ€ μ μλ€.
μ½κ² μκ°ν΄ μ°λ¦¬κ° μ«μλ₯Ό λνκ±°λ λλμ΄ μνλ μλ₯Ό λμΆνλ―μ΄, 릴λ μ΄μ μ κ΄κ³ λμλΌλ μ μ© μ°μ°μλ₯Ό ν΅ν΄ λνκ±°λ κ³±ν΄ μνλ 릴λ μ΄μ μ λμΆνλ κ²μΌλ‘ μκ°νλ©΄ λλ€.
κ΄κ³ μ°μ°μλ€μ 릴λ μ΄μ μ νΉμ±μ λ°λΌ μΌλ° μ§ν© μ°μ°κ³Ό μμ κ΄κ³ μ°μ°μΌλ‘ λλλ©°, κ°κ°μ μ°μ° κ²°κ³Όλ λ λ€λ₯Έ κ΄κ³ λμμμ μ λ ₯μΌλ‘ μ¬μ©λ μ μλ€.
μ΄λ κ² κ΄κ³ λμμμ μ¬μ©μκ° μνλ λ°μ΄ν°λ₯Ό μ»κΈ° μν μ μ°¨λ₯Ό μμ€ν μ λͺ μΈνλ λ°μ΄ν° μΈμ΄λ‘μ κ΄κ³ λ°μ΄ν° λͺ¨λΈμμμ 릴λ μ΄μ μ μ‘°μνκΈ° μν κΈ°λ³Έ μ°μ° μ€ νλμ΄λ€. κ·Έλμ κ΄κ³ λμλ μμ© κ΄κ³ DBMSλ€μμ λ리 μ¬μ©λλ SQLμ μ΄λ‘ μ μΈ κΈ°μ΄μ΄κΈ°λ νλ€. λν SQLμ ꡬννκ³ μ΅μ ννκΈ° μν΄ DBMSμ λ΄λΆ μΈμ΄λ‘μλ μ¬μ©λλ€.
κ΄κ³ λμμ 8λ μ°μ°μ
8λ κ΄κ³ μ°μ°μλ, κ΄κ³ν λ°μ΄ν°λ² μ΄μ€μμ μμ£Ό μ¬μ©λλ 8κ°μ§ κΈ°λ³Έμ μΈ μ°μ°μλ€μ μλ―Ένλ€. μ΄λ¬ν μ°μ°μλ€μ λ°μ΄ν°λ² μ΄μ€μ κΈ°μ΄μ μΈ μ°μ°λ€μ΄λ©°, κ΄κ³ν λ°μ΄ν°λ² μ΄μ€μμ λ§€μ° μ€μν κ°λ μ΄λ€. κ΄κ³ μ°μ°μλ€μ μ μ΄ν΄νκ³ μ¬μ©ν¨μΌλ‘μ¨, λ°μ΄ν°λ² μ΄μ€μ μ§μλ₯Ό λ³΄λ€ ν¨μ¨μ μΌλ‘ μνν μ μκΈ° λλ¬Έμ΄λ€.
- μ λ μ : ν μ΄λΈμμ ν κ° λμ§μ΄λΈλ€
- νλ‘μ μ : νμ ν μ΄λΈμμ νΉμ ν νλ² μ΄λ¦λ§ μΆλ ₯.
- ν©μ§ν© : union κ²ΉμΉλ κ±Έ μ μΈνκ³ ν μ΄λΈ ν©
- κ΅μ§ν© : κ²ΉμΉλ κ²λ§ ν μ΄λΈ
- μ°¨μ§ν© : A - B ν κ²°κ³Ό ν μ΄λΈ
- μΉ΄ν°μ κ³± : λμ¬μ μλ μ‘°ν© κ²½μ°μ μ
- μ‘°μΈ : κ²°ν©
- λλΉμ : λΆν
μ λ μ μ°μ°μ σ
- μνλ λ°μ΄ν°λ₯Ό μνμ μΌλ‘ λμΆν¨
- σ (sigma)λ‘ μ°μ°μλ₯Ό νν
σ DNO=3 (EMPLOYEE) : EMPLOYEE ν
μ΄λΈμμ DNOκ° 3μΈ νμ λμΆ
νλ‘μ μ μ°μ°μ Π
- μνλ λ°μ΄ν°λ₯Ό μμ§μ μΌλ‘ λμΆν¨
- Π (pi)λ‘ μ°μ°μλ₯Ό νν
- λ³΄ν΅ μ λ μ μ κ²°κ³Ό 릴λ μ΄μ μλ μ€λ³΅ ννμ΄ μ‘΄μ¬ν μ μμ§λ§, νλ‘μ μ μ°μ°μ κ²°κ³Ό 릴λ μ΄μ μλ μ€λ³΅λ ννλ€μ΄ μ‘΄μ¬ν μ μλ€. λ°λΌμ λμΆλ 릴λ μ΄μ μ μ€λ³΅μ΄ λ€μ΄μλ€λ©΄ μ΄ μ€λ³΅μ μλμΌλ‘ μ κ±°λλ€.
Π TITLE( : EMPLOYEE ν
μ΄λΈμμ TITLE μ΄μ λμΆEMPLOYEE)
ν©μ§ν© μ°μ°μ ∪
- λ 릴λ μ΄μ μ ννλ€μ ν©μΉ¨
- ν©μΉ κ²°κ³Ό 릴λ μ΄μ μμ μ€λ³΅λ ν¬νλ€μ μ μΈλ¨
- ∪ λ‘ μ°μ°μλ₯Ό νν
- ν©μ§ν©μ ν©μ§ν© νΈν μ‘°κ±΄μ΄ λ§μμΌλ§ μ€νν μ μλ€.
ν©μ§ν© νΈν (union compatible)
μλ‘ λ€λ₯Έ ν μ΄λΈμ union νλλ° μμ΄, κ°―μκ° λ€λ₯΄κ±°λ λλ©μΈμ΄ λ€λ₯΄λ©΄ μλλ€. μ΄ κ·μΉμ ν©μ§ν©, μ°¨μ§ν©, κ΅μ§ν©μ λͺ¨λ μ μ©λλ€.
μλ₯Όλ€μ΄, μλμ EMPLOYEE 릴λ μ΄μ κ³Ό DEPARTMENT 릴λ μ΄μ μ κΈ°λ³Έμ μΌλ‘ μ΄νΈλ¦¬λ·°νΈ μκ° λ€λ₯΄λ―λ‘ ν©μ§ν© νΈν 쑰건μ λ§μ§ μλλ€κ³ μκ°ν μ μλ€.
κ·Έλ¬λ EMPLOYEE 릴λ μ΄μ μμ DNOλ₯Ό νλ‘μ μ ν κ²°κ³Ό 릴λ μ΄μ κ³Ό DEPARTMENT κ΄κ³μμ DEPTNOλ₯Ό νλ‘μ μ ν κ²°κ³Ό 릴λ μ΄μ μ μ νΈλ¦¬λ·°νΈμκ° κ°μΌλ©° DEPTNOμ DNO λλ©μΈμ΄ κ°κΈ° λλ¬Έμ, λ°λΌμ λ 릴λ μ΄μ μ κ²°κ³Όμ μΌλ‘ ν©μ§ν© νΈν μ‘°κ±΄μ΄ λΆν©λλ€.
κ΅μ§ν© μ°μ°μ ∩
- λ 릴λ μ΄μ μ ννλ€μ κ²ΉμΉλ λΆλΆλ§μ λμΆ
- ∩λ‘ μ°μ°μλ₯Ό νν
μ°¨μ§ν© μ°μ°μ -
- λ 릴λ μ΄μ μ ννλ€μ κ²ΉμΉμ§ μλ λΆλΆλ§μ λμΆ
- -λ‘ μ°μ°μλ₯Ό νν
μΉ΄ν°μ κ³± μ°μ°μ ×
- λ 릴λ μ΄μ (ν μ΄λΈ) μμ κ°λ₯ν λͺ¨λ μ‘°ν©μ λ§λ€μ΄μ£Όλ μ°μ°μ
- λ ν μ΄λΈλ‘ λ§λ€ μ μλ λͺ¨λ κ²½μ°μ μλ₯Ό λνλ΄λ μ 체 μ§ν©μ λμΆ
- μΉ΄λμ κ³±ν΄μ λμ€λκ² κ°μ΄ ν¬λ©΄ μ€λ²ν€λκ° λ무 컀μ§κΈ° λλ¬Έμ μ€μ λ‘λ μΉ΄ν°μ κ³± μ°μ°μλ μ¬μ©νμ§μκ³ λ€μμ λ°°μΈ μ‘°μΈ(join) μ°μ°μλ₯Ό μ¬μ©νλ€.
- ×λ‘ μ°μ°μλ₯Ό νν
λλΉμ μ°μ°μ ÷
- ν ν μ΄λΈμμ λ€λ₯Έ ν μ΄λΈμ λͺ¨λ κ°μ κ°μ§κ³ μλ νλ€μ μ°Ύμμ£Όλ μ°μ°μ
- 'λͺ¨λ ~μ λν΄ ~νλ' ννμ μ§μμ μ¬μ©λ μ μμ
- λλΉμ μ λλλ ν μ΄λΈμ μ΄μ κ°μλ§νΌ κ²°κ³Ό ν μ΄λΈμ μ΄μ κ°μκ° μ€μ΄λ€κ² λλ€
- ÷λ‘ μ°μ°μλ₯Ό νν
μ‘°μΈ μ°μ°μ β
- λ κ°μ 릴λ μ΄μ μΌλ‘λΆν° μ°κ΄λ ν¬νλ€μ κ²°ν©νλ μ°μ°μ
- βλ‘ μ°μ°μλ₯Ό νν
- μ‘°μΈ μ°μ°μλ λ€μκ³Ό κ°μ΄ μ°μ° λ°©μμ λ°λΌ μ¬λ¬ μ‘°μΈμΌλ‘ λλλ€
- μΈν μ‘°μΈ(theta join)
- λλ± μ‘°μΈ(equi join)
- μμ° μ‘°μΈ(natural join)
- μΈλΆ μ‘°μΈ(outer join)
- μΈλ―Έ μ‘°μΈ(semi join)
β
μΈν μ‘°μΈ & λλ± μ‘°μΈ
- μΈν μ‘°μΈμ λ 릴λ μ΄μ μμ 곡ν΅λ μ νΈλ¦¬λ·°νΈλ₯Ό κΈ°μ€μΌλ‘ λΉκ΅ μ°μ°μ(=,<>,<=,<,>=,>)λ₯Ό μ¬μ©νμ¬ μ‘°κ±΄μ λ§μ‘±νλ ννλ€μ κ²°ν©νλ κ²μ΄λ€.
- λλ± μ‘°μΈμ μΈν μ‘°μΈ μ€μμ λΉκ΅ μ°μ°μκ° =μΈ μ‘°μΈμ΄λ€.
μ¦, λ 릴λ μ΄μ μμ 곡ν΅λ μ νΈλ¦¬λ·°νΈμ κ°μ΄ κ°μ ννλ€μ κ²°ν©νλ κ²μ λ§νλ€.
μμ° μ‘°μΈ
- λλ± μ‘°μΈμ κ²°κ³Ό 릴λ μ΄μ μμ μ‘°μΈ μ νΈλ¦¬λ·°νΈλ₯Ό μ μΈν μ‘°μΈ (μ€λ³΅ νλ μ κ±°)
μΈλΆ μ‘°μΈ
- λκ°μ΄ λ€μ΄ μλ ν¬νλ€μ λ€λ£¨κΈ° μν΄μ μ‘°μΈ μ°μ°μ νμ₯ν μ‘°μΈ
- μΌλ°μ μΈ μ‘°μΈμ λ 릴λ μ΄μ μμ λμλλ ννμ΄ μμ κ²½μ°, κ·Έ ννμ κ²°κ³Όμ ν¬ν¨μν€μ§ μλλ€. νμ§λ§ μΈλΆ μ‘°μΈμ λμλλ ννμ΄ μμ΄λ κ²°κ³Όμ ν¬ν¨μν€κ³ , μλ 릴λ μ΄μ μ μ νΈλ¦¬λ·°νΈ κ°μ nullλ‘ μ±μ΄λ€.
- μΈλΆ μ‘°μΈμλ μ΄λ 릴λ μ΄μ
μ κΈ°μ€μΌλ‘ nullλ‘ μ±μ°λμ§μ λ°λΌ 3κ°μ§λ‘ λλλ€.
- μΌμͺ½ μΈλΆ μ‘°μΈ(left outer join)
- μ€λ₯Έμͺ½ μΈλΆ μ‘°μΈ(right outer join)
- μμ μΈλΆ μ‘°μΈ(full outer join)
μ§λ¨ ν¨μ
- ν 릴λ μ΄μ μμ νΉμ μμ±λ€μ κ°λ€μ λν΄ μ΄ν©, νκ· , μ΅λ, μ΅μ, κ°μ λ±μ μ°μ°μ μννλ ν¨μ
- κ΄κ³ λμμ ννλ ₯μ λμ΄κΈ° μν΄ μλ‘ μΆκ°λ μ°μ°μ
- μ§λ¨ ν¨μλ κ° κ·Έλ£Ήμ λν΄ λ 립μ μΌλ‘ μ μ©λλ©°, κ·Έλ£Ήν μ°μ°μμ ν¨κ» μ¬μ© λλ€.
- AVG, SUM, MIN, MAX, COUNT
κ·Έλ£Ήν
- ν 릴λ μ΄μ μμ νΉμ μμ±λ€μ κ°μ λ°λΌ ννλ€μ μ¬λ¬ κ·Έλ£ΉμΌλ‘ λΆλ₯νκ³ , κ° κ·Έλ£Ήμ λν΄ μ§λ¨ ν¨μλ₯Ό μ μ©νλ μ°μ°μ
- κ·Έλ£Ήν μ°μ°μλ Gλ‘ νκΈ°λ¨
κ΄κ³ λμμ SQL
κ΄κ³ λμλ κ΄κ³ λ°μ΄ν°λ² μ΄μ€μμ 릴λ μ΄μ
μ μ‘°μνκΈ° μν μ μ°¨μ μΈμ΄μ΄λ€. μ¦, μνλ λ°μ΄ν°λ₯Ό μ»κΈ° μν΄ μ΄λ€ μ°μ°μ μ΄λ€ μμλ‘ μνν κ²μΈμ§λ₯Ό μν 곡μ μ²λΌ λͺ
μν¨μΌλ‘μ¨ λ¦΄λ μ΄μ
μ λμΆ ν μ μλ€. κ΄κ³ λμμλ μΌλ° μ§ν© μ°μ°μμ μμ κ΄κ³ μ°μ°μκ° μμΌλ©°, μ΄λ€μ λͺ¨λ 릴λ μ΄μ
μ μ
λ ₯μΌλ‘ λ°μ 릴λ μ΄μ
μ μΆλ ₯νλ€.
SQLμ κ΄κ³ λ°μ΄ν°λ² μ΄μ€μμ λ°μ΄ν°λ₯Ό μ μνκ³ μ‘°μνκΈ° μν μ μΈμ μΈμ΄μ΄λ€. μ¦, μνλ λ°μ΄ν°κ° 무μμΈμ§λ§ μ μΈνλ©΄ λ°μ΄ν°λ² μ΄μ€ μμ€ν
μ΄ μμμ μ΅μ μ λ°©λ²μΌλ‘ μ§μλ₯Ό μννλ€. SQLμλ DDL(Data Definition Language), DML(Data Manipulation Language), DCL(Data Control Language) λ±μ κ΅¬μ± μμκ° μμΌλ©°, μ΄λ€μ λͺ¨λ 릴λ μ΄μ
μ λν μ°μ°μ ννμ΄λ€.
κ΄κ³ λμμ SQLμ μλ‘ λ°μ ν κ΄κ³μ μλ€κ³ λ³Ό μ μλ€. μ μ΄μ κ΄κ³ λμμ μ
κ·Έλ μ΄λ λ²μ μ΄ SQL μ΄κΈ° λλ¬Έμ΄λ€. SQLμ κ΄κ³ λμμ νκ³λ₯Ό 극볡νκ³ , κ΄κ³ λ°μ΄ν°λ² μ΄μ€μμ λ€μν λ°μ΄ν°λ₯Ό μ½κ³ κ°λ ₯νκ² μ‘°μν μ μλλ‘ ν΄μ€λ€. μμ£Ό μ½κ² λΉμ νμλ©΄, μν 곡μκ³Ό κ°μ κ΄κ³ λμμμ νλ‘κ·Έλλ° μΈμ΄μ²λΌ ꡬμ±νκ² SQLμ΄λΌκ³ 보면 λλ€.
μλ₯Ό λ€μ΄, κ΄κ³ λμμ μ λ νΈ μ°μ°μλ SQLμ WHERE μ κ³Ό λμλκ³ , νλ‘μ νΈ μ°μ°μλ SQLμ SELECT μ κ³Ό λμλλ€. λν, κ΄κ³ λμμ μ‘°μΈ μ°μ°μλ SQLμ JOIN μ κ³Ό λμλλ©°, μ§λ¨ ν¨μμ κ·Έλ£Ήν μ°μ°μλ SQLμ μ§ν© ν¨μμ GROUP BY μ κ³Ό λμλλ€.
-- μ
λ νΈ μ°μ°μ: σ<salary > 3000000> (EMP)
SELECT * FROM EMP WHERE salary > 3000000;
-- νλ‘μ νΈ μ°μ°μ: Π<name, dept> (EMP)
SELECT name, dept FROM EMP;
-- ν©μ§ν© μ°μ°μ: EMP ∪ MANAGER
SELECT * FROM EMP UNION SELECT * FROM MANAGER;
-- κ΅μ§ν© μ°μ°μ: EMP ∩ MANAGER
SELECT * FROM EMP INTERSECT SELECT * FROM MANAGER;
-- μ°¨μ§ν© μ°μ°μ: EMP - MANAGER
SELECT * FROM EMP EXCEPT SELECT * FROM MANAGER;
-- μΉ΄ν°μ
κ³± μ°μ°μ: EMP × DEPT
SELECT * FROM EMP CROSS JOIN DEPT;
-- μ‘°μΈ μ°μ°μ: EMP β<EMP.dept = DEPT.dno> DEPT
SELECT * FROM EMP JOIN DEPT ON EMP.dept = DEPT.dno;
-- λλΉμ μ°μ°μ: WORKS ÷ PROJECT
SELECT empno FROM WORKS GROUP BY empno HAVING COUNT(*) = (SELECT COUNT(*) FROM PROJECT);
-- μ§λ¨ ν¨μμ κ·Έλ£Ήν μ°μ°μ: DNO G AVG_SALARY (EMP)
SELECT DNO, AVG(SALARY) AS AVG_SALARY FROM EMP GROUP BY DNO;
λ°λΌμ, SQL μΈμ΄λ₯Ό νμ΅νκΈ° μμ λ¨Όμ κ΄κ³ λμλ₯Ό μ΄ν΄νλ©΄ 릴λ μ΄μ λμΆ μ리λ κ±°μ κ°μΌλ λ¨μν SQL λ¬Έλ²λ§ μΆκ°λ‘ λ°°μ°λ©΄ μ΄λ―Έ λ°μ΄ν°λ² μ΄μ€ ν μ΄λΈμ λ€λ£¨λλ° λ¬Έμ κ° μλ€. λ¬Όλ‘ μ²μλΆν° SQLμ ν΅ν΄ κ΄κ³ λμμ κ°λ κ³Ό μ리λ₯Ό νμ΅ν μλ μλ€.
κ΄κ³ ν΄μ (Relation Calculus)
μ°λ¦¬κ° μ§κΈκΉμ§ λ°°μ΄ κ΄κ³ λμλ μ μ© μ°μ°μλ₯Ό ν΅ν΄ μνλ λͺ©ν λ°μ΄ν°λ₯Ό μ»κΈ° μνμ¬ μ΄λ»κ² λ°μ΄ν°λ₯Ό κ²μν κ²μΈμ§ μ μ°¨λ₯Ό μν μμΌλ‘ μμ°¨μ μΌλ‘ λͺ μΈν΄ 릴λ μ΄μ μ λμΆν΄μλ€.
λ°λ©΄, κ΄κ³ ν΄μμ μνλ λ°μ΄ν°κ° 무μμΈμ§λ§ μ μΈνλ μ΄λ₯Έλ° λΉμ μ°¨μ μΈμ΄μ΄λ€. μ¦, μνλ λ°μ΄ν°λ§ λͺ μνκ³ "μ΄λ»κ² μ§μλ₯Ό ν΄μνλκ°"μ λν΄ μΈκΈμ΄ μλ μ μΈλ§ νλ μΈμ΄μΈ κ²μ΄λ€.
κ΄κ³ ν΄μμ νν κ΄κ³ ν΄μ (Tuple Relational Calculus), λλ©μΈ κ΄κ³ ν΄μ (Domain Relational Calculus) μ’ λ₯κ° μμΌλ©°, μν μ ννλ‘λ μλμ κ°λ€.
-- EMPLOYEE 릴λ μ΄μ
μμ κΈμ¬κ° 3000 μ΄μμΈ μ¬μλ€μ μ΄λ¦κ³Ό κΈμ¬λ₯Ό μ°Ύλ κ΄κ³ ν΄μ μ
{<t.Ename, t.Salary> | t ∈ EMPLOYEE ∧ t.Salary ≥ 3000}
-- μμ κ΄κ³ ν΄μμκ³Ό 맀μΉλλ SQL μ½λ
SELECT Ename, Salary
FROM EMPLOYEE
WHERE Salary >= 3000;
κ΅¬λΆ | ꡬμ±μμ | κΈ°νΈ | μ€λͺ |
μ°μ°μ | OR μ°μ° | V | μμμ κ° “λλ”μ΄λΌλ κ΄κ³λ‘ μ°κ²° |
AND μ°μ° | ∧ | μμμ κ° “κ·Έλ¦¬κ³ ”λΌλ κ΄κ³λ‘ μ°κ²° | |
NOT μ°μ° | γ± | μμμμ λν΄ λΆμ | |
μ λμ | μ μΉ μ λμ (Universal Quantifier |
∀ | λͺ¨λ κ°λ₯ν νν “For All” # Allμ ‘A’λ₯Ό λ€μ§μ ν |
μ‘΄μ¬ μ λμ (Existential Quantifier) |
∃ | μ΄λ€ νν νλλΌλ μ‘΄μ¬ “There Exists” # Existsμ ‘E’λ₯Ό λ€μ§μ ν |
κ΄κ³ λμ vs κ΄κ³ ν΄μ
κ΄κ³λμλ μ΄λ»κ² λ°μ΄ν°λ₯Ό μ²λ¦¬ν μ§λ₯Ό ν¨μ¨μ μΌλ‘ μ νλ λ° μ¬μ©λλ©°, κ΄κ³ν΄μμ μ΄λ€ λ°μ΄ν°κ° νμνμ§λ₯Ό λμ± κ°λ¨νκ² μ μνλ λ° μ¬μ©λλ€κ³ 보면 λλ€.
κ΄κ³λμ | κ΄κ³ν΄μ |
μ μ°¨μ μΈμ΄(μμ λͺ μ) | λΉμ μ°¨μ μΈμ΄(κ³μ° μμμ μ μ°μ μ¬μ©), νλ λν· ν΄μ(Predicate Calculus) κΈ°λ° |
μνλ μ 보λ₯Ό μ»κΈ° μν΄ μ΄λ»κ² (how) μ§μλ₯Ό ν΄μνλμ§λ₯Ό κΈ°μ | μνλ μ λ³΄κ° λ¬΄μ (what) μΈμ§λ§ λͺ μνκ³ μ΄λ»κ² μ§μλ₯Ό ν΄μνλμ§μ λν΄ μΈκΈνμ§ μλ μ μΈ |
μ°μ°μμ νΌμ°μ°μλ‘ κ΅¬μ±λλ©°, μ°μ°μλ 릴λ μ΄μ μ μ μ©λμ΄ μλ‘μ΄ λ¦΄λ μ΄μ μ μμ± | λͺ μ μ λ³μλ‘ κ΅¬μ±λλ©°, λͺ μ λ μ°Έ λλ κ±°μ§μ κ°μ κ°μ§κ³ , λ³μλ 릴λ μ΄μ μ ννμ΄λ μ νΈλ¦¬λ·°νΈ κ°μ λνλ |
μ°μ°μμ μ’ λ₯μ λ°λΌ λ€μν λ°μ΄ν° μ‘°μμ ν μ μμ | μ°κ²°μμ νμ μλ₯Ό μ¬μ©νμ¬ λ³΅μ‘ν 쑰건μμ λ§λ€ μ μμ |
μ’ λ₯λ‘λ μμκ΄κ³ μ°μ°μ, μΌλ°μ§ν© μ°μ°μκ° μλ€ | μ’ λ₯λ‘λ νν κ΄κ³ ν΄μ, λλ©μΈ κ΄κ³ ν΄μμ΄ μλ€ |
κ΄κ³ ν΄μμ λ°λμ 곡λΆν΄μΌ λλκ° π€
λ³΄ν΅ λν κ°μλ λ°μ΄ν°λ² μ΄μ€ κ΅μ λ₯Ό 보면, κ΄κ³ λμμ λν΄ μμΈν λ€λ£¨κ³ λ°λ‘ SQLλ‘ λμ΄κ°μ§, κ΄κ³ ν΄μμ μ€μ μ μΌλ‘ λ€λ£¨μ§λ μλλ€. κ΄κ³ λμλ‘ λ¦΄λ μ΄μ μ‘°ν©λ² λ° λμΆ μ리λ₯Ό λ°°μ°κ³ λ°λ‘ SQLλ‘ μ€μ λ°μ΄ν°λ² μ΄μ€ μ§μλ₯Ό μ΅λνλ κ² λ§μΌλ‘λ μ€λ¬΄λ₯Ό νλλ° μΆ©λΆνκΈ° λλ¬Έμ΄λ€.
μ μ΄μ κ΄κ³ ν΄μμ λΉμ μ°¨μ μΈ μΈμ΄μ΄κΈ° λλ¬Έμ, μ»΄ν¨ν°κ° μ§μ μ€νν μ μλ ννκ° μλλ€. κ·Έλμ κ΄κ³ ν΄μμΌλ‘ ννλ μ§μλ₯Ό κ΄κ³ λμλ‘ λ³ννκ±°λ SQLλ‘ λ²μν΄μΌ νλ μΆκ° μμ μ΄ λ λ€. λ°λΌμ λ°μ΄ν°λ² μ΄μ€ κ΄λ ¨ μμ μμλ κ΄κ³ λμμ λν΄ μμΈν λ€λ£¨κ³ κ΄κ³ ν΄μμ κ°λ¨νκ² λ€λ£¨λ κ²½μ°κ° λ§λ€. νμ§λ§ μ΄κ²μ κ΄κ³ ν΄μμ΄ μ€μνμ§ μλ€λ μλ―Έκ° μλλΌ, κ΄κ³ λμκ° μ€μ λ°μ΄ν°λ² μ΄μ€ μμ€ν μμ λ λ§μ΄ μ¬μ©λκ³ κ΅¬ννκΈ° μ½κΈ° λλ¬Έμ΄λ€.
κ΄κ³ ν΄μμ 곡λΆνλ©΄ λ°μ΄ν°λ² μ΄μ€μ μ΄λ‘ μ μΈ λ°°κ²½κ³Ό λ Όλ¦¬μ μΈ κ΅¬μ‘°λ₯Ό μ΄ν΄ν μ μκ³ , SQLμ λ³΄λ€ ν¨κ³Όμ μΌλ‘ μμ±νκ³ λΆμν μ μλ€. λν κ΄κ³ ν΄μμ λ°μ΄ν°λ² μ΄μ€μ μλ―Έμ μ μ½ μ‘°κ±΄μ λͺ ννκ² ννν μ μλ λ°©λ²μ΄λ―λ‘, λ°μ΄ν°λ² μ΄μ€ μ€κ³μ λͺ¨λΈλ§μλ λμμ΄ λλ€. μ€μ λ‘ κ΄κ³ ν΄μμ κ΄κ³ λμμ λλ±ν ννλ ₯μ κ°μ§κ³ μμΌλ©°, λ Όλ¦¬μ μΈ μΆλ‘ κ³Ό μνμ μΈ ννμ μ¬μ©νμ¬ μ§μλ₯Ό μ μν μ μλ€. λ°λΌμ κ΄κ³ ν΄μμ λ°μ΄ν°λ² μ΄μ€μ λν κΉμ μ§μκ³Ό μ€λ ₯μ ν₯μμν€λ λ° μ μ©νλ€.
κ·Έλ¬λ μ무λλ κ΄κ³ λμ, κ΄κ³ ν΄μμ λͺ¨λ 곡λΆνκΈ°μλ μκ°μ μΈ μ¬μ λλ¬Έμ νμ€μ μΌλ‘λ νλ κ²μ μ¬μ€μ΄λ€. κ·Έλμ κ΄κ³ λμλ₯Ό μ°μ μ μΌλ‘ 곡λΆνκ³ , κ΄κ³ ν΄μμ νμν λΆλΆλ§ 곡λΆνλ κ²λ λμμ§ μλ€. μ€μν κ²μ λ°μ΄ν°λ² μ΄μ€μ μ΄λ‘ κ³Ό SQLμ ν΅ν΄ λ°μ΄ν°λ² μ΄μ€ μ€μ΅μ λ³ννλ©΄μ λ°μ΄ν°λ² μ΄μ€μ λν κΉμ μ§μκ³Ό μ€λ ₯μ ν₯μμν€λ κ²μ΄λ€.
# μ°Έκ³ μλ£
https://slidesplayer.org/slide/17323973/
https://velog.io/@ieed0205/%EA%B4%80%EA%B3%84%EB%8C%80%EC%88%98-SQL-LEEToday
https://wook-2124.tistory.com/333