μ격μ¦/SQLD
λ¬Έμ₯ μ€ν μμ FROM - WHERE - GROUP BY - HAVING - SELECT - ORDER BY 1. λ°μ· λμ ν
μ΄λΈμ μ°Έμ‘° (FROM) 2. λ°μ΄ν°κ° μλ κ²μ μ κ±° (WHERE) 3. κ·Έλ£Ήν (GROUP BY) 4. κ·Έλ£Ήν 쑰건 (HAVING) 5. μΆλ ₯ (SELECT) 6. μ λ ¬ (ORDER BY) SQL λ¬Έμ₯λ€μ μ’
λ₯ λ°μ΄ν° μ‘°μμ΄(DML) : SELECT , INSERT , UPDATE , DELETE λ°μ΄ν° μ μμ΄(DDL) : CREATE , ALTER , DROP , RENAME λ°μ΄ν° μ μ΄μ΄(DCL) : GRANT , REVOKE νΈλμμ
μ μ΄μ΄(TCL) : COMMIT , ROLLBACK DISTINCT μ€λ³΅λ κ²½μ° 1κ±΄λ§ μΆλ ₯ λ°μ΄ν° κ·Έλ£Ήν/μ§κ³ (GROUP BY) κ°μ..
μ격μ¦/SQLD
μμ κ΄κ³ μ°μ°μ μ
λ νΈ (Select) μ°μ°μ 릴λ μ΄μ
μμ 쑰건μ λ§μ‘±νλ ν¬νλ§ μ ν νλ‘μ νΈ (Project) μ°μ°μ 릴λ μ΄μ
μμ μ νν μμ±μ κ°μΌλ‘ κ²°κ³Ό 릴λ μ΄μ
μ κ΅¬μ± λλΉμ (Division) μ°μ°μ 릴λ μ΄μ
μ μμ± κ°μ΄ μ§ν©μΌλ‘ μ°μ°μ μν 릴λ μ΄μ
S μ λͺ¨λ ννκ³Ό κ΄λ ¨μ΄ μλ 릴λ μ΄μ
Rμ ννλ€μ λ°ννλ€. INNER JOIN EQUI μ‘°μΈκ³Ό λ§μ°¬κ°μ§λ‘ ansi νμ€ FROM emp INNER JOIN dept ON emp.deptno = dept.deptno emp ν
μ΄λΈκ³Ό dept ν
μ΄λΈ κ²°ν© ENAME μΉΌλΌμ κ°μ΄ HANμΈ νμ μ°ΎμΌλΌλ μλ―Έμ
λλ€. BETWEEN BETWEEN A AND B : Aμ B μ¬μ΄μ λ΄μ©μ κ²μν΄μ λνλ΄λΌλ μλ―Έμ
λλ€. ( A,B ν¬ν¨ ) JOIN μ..
μ격μ¦/SQLD
νΈλμμ
μμμ±(atomicity) : νΈλμμ
μμ μ μλ μ°μ°λ€μ λͺ¨λ μ±κ³΅μ μΌλ‘ μ€νλλμ§ μλλ©΄ μ ν μ€νλμ§ μμ μνλ‘ λ¨μ μμ΄μΌ νλ€. (All or Nothing) μΌκ΄μ±(consistency) : νΈλμμ
μ΄ μ€ν λκΈ° μ μ λ°μ΄ν°λ² μ΄μ€ λ΄μ©μ΄ μλͺ» λμ΄ μμ§ μλ€λ©΄ νΈλμμ
μ΄ μ€νλ μ΄νμλ λ°μ΄ν°λ² μ΄μ€μ λ΄μ©μ μλͺ»μ΄ μμΌλ©΄ μλλ€. κ³ λ¦½μ±(isolation) : νΈλμμ
μ΄ μ€νλλ λμ€μ λ€λ₯Έ νΈλμμ
μ μν₯μ λ°μ μλͺ»λ κ²°κ³Όλ₯Ό λ§λ€μ΄μλ μλλ€. μ§μμ±(durability) : νΈλμμ
μ΄ μ±κ³΅μ μΌλ‘ μνλλ©΄ κ·Έ νΈλμμ
μ΄ κ°±μ ν λ°μ΄ν°λ² μ΄μ€μ λ΄μ©μ μꡬμ μΌλ‘ μ μ₯λλ€. 격리μ±(isolation)μΌλ‘ μΈν΄ λνλ μ μλ λ¬Έμ μ Dirty Read λ€λ₯Έ νΈλμμ
μ μν΄ μμ λμ§λ§ ..
μ격μ¦/SQLD
SQL λ¬Έμ₯λ€μ μ’
λ₯ λ°μ΄ν° μ‘°μμ΄(DML) : SELECT , INSERT , UPDATE , DELETE λΉμ μ°¨μ : 무μ¨(what) λ°μ΄ν°λ₯Ό μνλμ§λ§ λͺ
μΈ μ μ°¨μ : μ΄λ»κ²(how) λ°μ΄ν°λ₯Ό μ κ·Όν΄μΌ νλμ§ λͺ
μΈ λ°μ΄ν° μ μμ΄(DDL) : CREATE , ALTER , DROP , RENAME λ°μ΄ν° μ μ΄μ΄(DCL) : GRANT , REVOKE νΈλμμ
μ μ΄μ΄(TCL) : COMMIT , ROLLBACK PRIMARY KEY μ€μ CREATE λ¬Έ ALTER λ¬Έ ν
μ΄λΈ 컬λΌμ λν μ μ λ³κ²½ (ALTER) [Oracle] ALTER TABLE ν
μ΄λΈλͺ
MODIFY ( μΉΌλΌλͺ
λ°μ΄ν°μ ν NOT NULL ) [SQL Server] ALTER TABLE ν
μ΄λΈλͺ
ALTER COLUMN 컬λΌλͺ
λ°μ΄ν°μ ν..
μ격μ¦/SQLD
μ±λ₯λ°μ΄ν°λͺ¨λΈλ§ λ°μ΄ν° λ² μ΄μ€ μ±λ₯ ν₯μμ λͺ©μ μΌλ‘ μ€κ³ λ¨κ³μ λ°μ΄ν° λͺ¨λΈλ§ λ λΆν° μ±λ₯κ³Ό κ΄λ ¨λ μ¬νμ΄ λ°μ΄ν° λͺ¨λΈλ§μ λ°μλ μ μλλ‘ νλ κ² μ±λ₯ν₯μμ μν λΉμ©μ νλ‘μ νΈ μν μ€μ μμ΄μ μ¬μ μ ν μλ‘ λΉμ©μ΄ μ κ² λ λ€. νΉν, λΆμ / μ€κ³ λ¨κ³μμ λ°μ΄ν° λͺ¨λΈμ μ±λ₯μ κ³ λ €ν λ°μ΄ν° λͺ¨λΈλ§μ μνν κ²½μ° μ±λ₯μ νμ λ°λ₯Έ μ¬μ
무(Rework) λΉμ©μ μ΅μν ν μ μλ κΈ°νλ₯Ό κ°μ§κ² λλ€. λ°μ΄ν° λͺ¨λΈμ μ±λ₯μ νλνλ©΄μ λ³κ²½μ΄ λ μ μλ€. μ±λ₯ λ°μ΄ν° λͺ¨λΈλ§ μν μ μ°¨ 1. λͺ¨λΈλ§ ν λ μ κ·νλ₯Ό μ νν μν 2. μ©λμ°μ μν 3. νΈλμμ
μ μ ν νμ
4. μ©λκ³Ό νΈλμμ
μ νμ λ°λΌ λ°μ κ·ν μν 5. μ΄λ ₯λͺ¨λΈμ μ‘°μ , PK/FKμ‘°μ , μν΄νμ
/μλΈνμ
μ‘°μ μν 6. κ²μ¦ λ°μ κ·..
μ격μ¦/SQLD
λ°μ΄ν° λͺ¨λΈλ§ νμ€μκ³μ λ°μ΄ν°λ₯Ό λ¨μν(μΆμν)μμΌ λ°μ΄ν°λ² μ΄μ€λ‘ νννκΈ° μν μμ
μ΄λ€. λ¨μ§ λ°μ΄ν°λ² μ΄μ€λ§μ κ΅¬μΆ νκΈ° μν μ©λλ‘ μ°μ΄λ κ²μ΄ μλλΌ λ°μ΄ν°λͺ¨λΈλ§ μ체λ‘μ μ
무λ₯Ό μ€λͺ
νκ³ λΆμνλ λΆλΆμμλ λ§€μ° μ€μν μλ―Έλ₯Ό μμ§κ³ μλ€. μ½μλ νκΈ°λ²μΌλ‘ νννλ€. λͺ¨λΈλ§ μ μ μμ¬ν μ€λ³΅μ± μ¬λ¬ μ₯μμ λ°μ΄ν°λ² μ΄μ€μ κ°μ μ 보λ₯Ό μ μ₯νμ§ μλλ‘ νλ€. λΉμ μ°μ± λ°μ΄ν°μ μ μλ₯Ό λ°μ΄ν°μ μ¬μ© νλ‘μΈμ€μ λΆλ¦¬νλ€. νλ‘μΈμ€μ μμ λ³νκ° μ ν리μΌμ΄μ
κ³Ό λ°μ΄ν°λ² μ΄μ€μ μ€λν λ³νλ₯Ό μΌμΌν¬ μ μλ κ°λ₯μ±μ μ€μΈλ€. λΉμΌκ΄μ± λ°μ΄ν°μ μ€λ³΅μ΄ μλλΌλ λΉμΌκ΄μ±μ λ°μν μ μλ€. λ°μ΄ν°μ λ°μ΄ν°κ°μ μνΈ μ°κ΄ κ΄κ³μ λν΄ λͺ
ννκ² μ μνμ¬μΌ νλ€. μ¬μ©μκ° μ²λ¦¬νλ νλ‘μΈμ€ νΉμ μ΄μ κ΄λ ¨λ νλ‘κ·Έλ¨..
μ격μ¦/SQLD
150λ¬Έμ κΈ°μΆλ¬Έμ 5-12μΌ 1νλ
13-17μΌ 2νλ
18μΌ 3νλ
19μΌ μν