์ฐ์ฐ ์์: From โ Where โ Group by โ Having โ Select โ Order by / SELECT / INSERT: ์ฝ์ ์ปฌ๋ผ ๋ช ์, ์๋ต ์ ๋ชจ๋ ์ปฌ๋ผ ์ ๋ ฅ ํ์ / DELETE: DELETE FROM ํ ์ด๋ธ๋ช ;
๋ฐ์ดํฐ ๋ชจ๋ธ๋ง 3์์: Entity, Relationship, Attribute๋ฐ์ดํฐ ๋ชจ๋ธ๋ง ๋จ๊ณ๊ฐ๋ ์ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง (๊ฐ์ฅ ์ถ์์ )์ถ์ํ ์์ค์ด ๋๊ณ ์ ๋ฌด์ค์ฌ์ ์ด๋ฉฐ ํฌ๊ด์ ์ธ ์์ค์ ๋ชจ๋ธ๋ง ์งํ.์ ์ฌ์ ๋ฐ์ดํฐ ๋ชจ๋ธ๋งEA ์๋ฆฝ ์ ๋ง์ด ์ด์ฉ๋ ผ๋ฆฌ์ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง๋ฐ์ดํฐ ๋ชจ๋ธ
์ 1 ์ ๊ทํ: ์์์ฑ ํ๋ณด์ปฌ๋ผ์ ์ํ ๋ฐ๋ณต์ ์ธ ์์ฑ์ ๊ฐ์ ๊ฐ๋ ๊ฒฝ์ฐ โ 1์ฐจ ์ ๊ทํ ํ์์ 2 ์ ๊ทํ: ๋ถ๋ถ ํจ์ ์ข ์์ฑ ์ ๊ฑฐ์ 3 ์ ๊ทํ: ์ดํ ํจ์ ์ข ์์ฑ ์ ๊ฑฐBCNF: ๊ฒฐ์ ์์ด๋ฉด์ ํ๋ณดํค๊ฐ ์๋ ์์ฑ ์ ๊ฑฐ์ด์ ํ์์ญ์ ์ด์์ฝ์ ์ด์๊ฐฑ์ ์ด์SELECT ์ ์์๋
- ์ธ๋ถ์คํค๋ง: ์ฌ์ฉ์ ๊ฐ๊ฐ์ธ์ ๊ด์ ์์ ์ ์ํ DB ์คํค๋ง์ฌ๋ฌ ๊ฐ ์กด์ฌ์๋ธ ์คํค๋ง๋ผ๊ณ ๋ ํจ - ๊ฐ๋ ์คํค๋ง: ๋ฒ ๊ธฐ๊ด์ ๊ด์ ์์ ์ ์ํ DB ์คํค๋ง๋ชจ๋ ์ธ๋ถ ์คํค๋ง๊ฐ ์๊ตฌํ๋ ์ ์ฒด์ ์ธ DB ๊ตฌ์กฐ์ ์ ์ฝ์กฐ๊ฑด์ ํฌํจ๋จ ํ๋๋ง ์กด์ฌ - ๋ด๋ถ์คํค๋ง: ์ ์ฅ ์ฅ์น ๊ด์ ์์ ์ ์ํ
ACID: Atomicity(์์์ฑ), Consistency(์ผ๊ด์ฑ), Isolation(๊ณ ๋ฆฝ์ฑ), Durability(์์์ฑ)ํธ๋์ญ์ ์ ํญ์ ์ ์ฒด๋ฅผ ํตํฉํด ๋ถ์ํ๋ฏ๋ก ์ํผ/์๋ธ ํ์ ์ ํ๋๋ก ํตํฉํ๋ฉด ์ง์ ๋ ํ ์ด๋ธ๋ง ์ฝ์ด ์ฒ๋ฆฌ ๊ฐ๋ฅ โ ์กฐ์ธ ํ์ X, ์ฑ๋ฅ ์ฐ์ํธ๋์ญ
Row Chaining: ํ๋์ Row๋ฅผ ํ๋์ ๋ธ๋ก์ ์ ์ฅํ ์ ์์ด ์ฌ๋ฌ ๋ธ๋ก์ ๊ฑธ์ณ ์ ์ฅ, Initial Row Piece(ํ ์กฐ์)์ Row Pointer๋ก ๋ธ๋ก ๋ด์ ์ ์ฅ๋จ, Row ์ ๋ณด ๊ฒ์์ ์ํด ํ๋ ์ด์์ ๋ฐ์ดํฐ ๋ธ๋ก์ Scanํด์ผ ํ๋ฏ๋ก ์ฑ๋ฅ ๊ฐ์
๋ ผ๋ฆฌ ์ฐ์ฐ์ ์ฐ์ฐ ์์: NOT โ AND โ OR์์ ๊ด๊ณ ์ฐ์ฐ์: SELECT, PROJECT, JOIN, DIVIDEA Between 1 and 2 โ 1 โค A โค 2A IN (1, 2, 3) โ A = 1 OR A = 2 OR A = 3LIKE โญ๏ธ\_: ๋ฏธ์ง
DISTINCT(์ง์ฝ): ์ค๋ณต๋ ๊ฐ๋ค์ด ์กด์ฌํ ๋ ํ๋๋ง ์ถ๋ ฅํ๋๋ก ์ง์ฝ์ํดDISTINCT depno, mgr: depno, mgr์ ๋ํด์ distinct. group by depno, mgr๊ณผ ์ ์ฌํจASSELECT ์ ์ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ: ์๋ต ๊ฐ๋ฅ, ์ปฌ๋ผ๋ช ์ ๋์ด์ฐ๊ธฐ
ROUND: ์ซ์๋ฅผ ์์ m ์๋ฆฌ์์ ๋ฐ์ฌ๋ฆผํ์ฌ ๋ฆฌํด (m default: 0). ์๋ฆฟ์ ํ์ธ ํ์ROUND(138.94) ์ธ์ : ROUND(138.94) 1 โ 138.9 \-1 0 1 2Ceil/Ceiling: ์ซ์๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ์ ์ต์ ์ ์
Scalar ์๋ธ์ฟผ๋ฆฌ: ํ ํ, ํ ์ปฌ๋ผ๋ง ๋ฐํํ๋ ์๋ธ์ฟผ๋ฆฌInline View: SQL ๋ฌธ์ด ์คํ๋ ๋๋ง ์์์ ์ผ๋ก ์์ฑ๋๋ ๋์ ๋ทฐ์ด๊ธฐ ๋๋ฌธ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํด๋น ์ ๋ณด๊ฐ ์ ์ฅ๋์ง ์์๋ค์ค ์ปฌ๋ผ ์๋ธ ์ฟผ๋ฆฌ: ๊ฒฐ๊ณผ๋ก ์ฌ๋ฌ ์ปฌ๋ผ์ด ๋ฐํ๋์ด ๋น๊ตํ๊ณ ์ํ๋ ๋ฉ์ธ์ฟผ๋ฆฌ์์ ์ปฌ๋ผ
NATURAL JOIN, USING โ ์ค๋ณต๋ ์ปฌ๋ผ์ด ํ๋๋ก๋ง ์ถ๋ ฅ๋จ. ์ค๋ณต๋ ์ปฌ๋ผ์ด ๊ฐ์ฅ ์์ ๋ฑ์ฅํจ. Alias ์ฌ์ฉ ๋ถ๊ฐ๋ฅA LEFT OUTER JOIN B = A.col1 = B.col1(+)ON(์กฐ๊ฑด) ์ฌ์ฉ ์ ์กฐ๊ฑด์ ๋ง๋ ๊ฐ๋ค๋ง ๊ฐ์ ธ์ค๊ณ ๋๋จธ์ง๋ NULL๋ก
์๋์ฐ ํจ์๋ ๊ฒฐ๊ณผ์ ๋ํ ํจ์ ์ฒ๋ฆฌ์ด๋ฏ๋ก ์ฌ์ฉ ์ ํ์ ๊ฒฐ๊ณผ ๊ฑด์๋ ๋์ผํ์ฌ ๋ ์ฝ๋ ๊ธฐ์ค ์ด์ ๋๋ ์ดํ ์์น์ ๋ ์ฝ๋ ์ ๊ทผ ๊ฐ๋ฅ โ ROWS, RANGEROWS (ํ์ฌ ํ ๊ธฐ์ค ๋ช๊ฐ์ ํ์ ํฌํจํ๋์ง. ๋ฌผ๋ฆฌ์ )RANGE (ํ์ฌ ํ์ ๊ธฐ์ค์ผ๋ก ์ด๋ค ๊ฐ์ ๋ฒ์๋ฅผ ํฌํจํ
Prior ์์๋ฐ์ดํฐ = ๋ถ๋ชจ๋ฐ์ดํฐ : ์๋ฐฉํฅPrior ๋ถ๋ชจ๋ฐ์ดํฐ = ์์๋ฐ์ดํฐ : ์ญ๋ฐฉํฅ๋ฃจํธ ๋ ธ๋์ LEVEL์ 1ORDER BY SIBLINGS BY: ํ์ ๋ ธ๋(๋์ผ LEVEL) ์ฌ์ด์์ ์ ๋ ฌ ์ํPRIOR ํค์๋๋ CONNECT BY, SELECT, WHERE
Exception โ ์๋ต ๊ฐ๋ฅ=์ ์ฅ๋ชจ๋(Stored Module)Trigger๋ฐ์ดํฐ์ ๋ฌด๊ฒฐ์ฑ๊ณผ ์ผ๊ด์ฑ ์ํด ํน์ ํ ์ด๋ธ์ INSERT, UPDATE, DELETE์ ๊ฐ์ DML๋ฌธ์ด ์ํ๋์์ ๋ DB ๋ด์์ ์๋ ์คํDB์ ๋ก๊ทธ์ธํ๋ ์์ ์๋ ์ ์ ๊ฐ๋ฅTCL(comm
NL(Nested Loop) JOIN๋๋ค ์ก์ธ์คDriving Table์ ์กฐ์ธ ๋ฐ์ดํฐ ์์ด ํฐ ์ํฅ์ ์ค์กฐ์ธ ์ปฌ๋ผ์ ์ ๋นํ ์ธ๋ฑ์ค๊ฐ ์์ด Natural Join์ด ํจ์จ์ ์ผ ๋ ์ ์ฉOLTP์ ๋ชฉ๋ก ์ฒ๋ฆฌ ์ ๋ฌด์ ๋ง์ด ์ฌ์ฉ์ ๋ํฌ ์ธ๋ฑ์ค๋ฅผ ํ์ฉํด ์ํ์๊ฐ์ด ์ ์ ์๋ ํ ์ด๋ธ์
์ฌ์ค ํฉ๊ฒฉ ๋ฐํ ๋์จ์ง ํ์ฐธ ์ง๋ฌ์ง๋งโขโข ๋ฏธ๋ฃจ๋ค ์ด์ ์์ผ ์์ฑํฉ๋๋คโขโข์ด๋ฒ ์ ๋ณด์ฒ๋ฆฌ๊ธฐ์ฌ ์ค๊ธฐ ์ํ์ด ๋๋๊ณ 3์ฃผ๋ค๊ฐ ๋ฐ๋ก SQLD ์ํ์ด์ด์ ๋๋ํ๋ค~ ํ๊ณ ์ฌ์ ๋ถ๋ฆฌ๋ค๊ฐ 1์ฃผ์ผ๋ฐ์ ์๋จ์ ์์ ์ ๋ฐ๋ฑ ๋ถ๋จ์ด์ ธ์ 1์ฃผ์ผ ๊ณต๋ถํ๊ณ ์ณค์ต๋๋ค.