์๊ฒฉ์ฆ/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์ผ ์ํ
์๊ฒฉ์ฆ/์ ๋ณด์ฒ๋ฆฌ๊ธฐ์ฌ
๊ธฐ๋ฅ์ ์๊ตฌ์ฌํญ - ์์คํ
์ด ์ํํ๋ ๊ธฐ๋ฅ - ์
๋ ฅ๊ธฐ๋ฅ,์ถ๋ ฅ๊ธฐ๋ฅ,๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฑ ๋น๊ธฐ๋ฅ์ ์๊ตฌ์ฌํญ - ํ์ง, ํจ์จ์ฑ , ์ฑ๋ฅ , ๋ณด์ ๋ผ๋ฐ์ฐ ๊ฐ,๋,๊ธฐ / ๊ฐ๊ฐ ๋์ ๊ธฐ์ ~ ๊ฐ์ฒด ๋ชจ๋ธ๋ง - ๊ฐ์ฒด ๋ค์ด์ด๊ทธ๋จ ๋์ ๋ชจ๋ธ๋ง - ์ํ ๋ค์ด์ด๊ทธ๋จ ๊ธฐ๋ฅ ๋ชจ๋ธ๋ง - ์๋ฃํ๋ฆ๋ ์์ฐจ์ ์ธ์ฒ๋ฆฌ - ํํฅ์ - ์ ์ฐจ์งํฅ ๋ถ์ ๊ธฐ๋ฒ ๊ฐ์ฒด์งํฅ ๋ถ์ ๊ธฐ๋ฒ - ๋์ ๋ชจ๋ธ๋ง - ์ํฅ์ ๊ฒฐํจ(fault) : ์ค๋ฅ ๋ฐ ์๋ ์คํจ์ ์์ธ ์คํ
(Stub) ์ ๋๋ผ์ด๋ฒ(Driver) ๋ ํตํฉํ
์คํธ ํํฅ์ / ์ํฅ์ ๊ด๊ณ๋์ ์ฐ์ฐ 1. Select 2. Project 3. Join 4. Division ARQ : Automatic Repeat reQuest ์๋๋ฐ๋ณต ์์ฒญ๋ฐฉ์ 1. Stop-and-wait 2. Go-Back-N 3. Selec..