- Database์ ์๋ ์ ๋ณด๋ฅผ ์ฌ์ฉํ ์ ์๋๋ก ์ง์ํ๋ ์ธ์ด
- ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค(RDBMS)์์ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ๊ณ ๊ด๋ฆฌํ๊ธฐ ์ํ ํ์ค ์ธ์ด
- ๋ชจ๋ RDBMS์์ ์ฌ์ฉ ๊ฐ๋ฅ (MySQL, PostgreSQL, Oracle ๋ฑ)
- ANSI ํ์ค
- Query์ ๋์๋ฌธ์๋ ๊ตฌ๋ถํ์ง ์์
- ํ์ง๋ง ๋ฐ์ดํฐ์ ๋์๋ฌธ์๋ ๊ตฌ๋ถ
- MySQL์ ๋ฐ์ดํฐ๋ ๋์๋ฌธ์ ๊ตฌ๋ถํ์ง ์์ (default ์ค์ )
- ์ฟผ๋ฆฌ ์บ์ฑ์ ๊ฒฝ์ฐ ๋์๋ฌธ์๋ฅผ ๊ตฌ๋ถํ์ฌ ์บ์ฑํ์ง๋ง MySQL InnoDB์์๋ ์ฟผ๋ฆฌ ์ฑ๋ฅ ํฅ์์ ์ํด ์ฟผ๋ฆฌ ์บ์ฑ์ด ์ ๊ฑฐ๋จ
- ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์คํ ์ผ๋ก, ๋ฐ์ดํฐ๋ฅผ ํ ์ด๋ธ ํ์์ผ๋ก ์ ์ฅํ๊ณ ํ ์ด๋ธ ๊ฐ์ ๊ด๊ณ๋ฅผ ์ ์ํ์ฌ ๋ฐ์ดํฐ๋ฅผ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํ๋ ์์คํ
- ํ
์ด๋ธ ๊ธฐ๋ฐ์ DBMS
- ๋ฐ์ดํฐ๋ฅผ ํ ์ด๋ธ ๋จ์๋ก ๊ด๋ฆฌํจ. ํ๋์ ํ ์ด๋ธ์ ์ฌ๋ฌ ๊ฐ์ ์นผ๋ผ์ผ๋ก ๊ตฌ์ฑ
- ์ค๋ณต ๋ฐ์ดํฐ๋ฅผ ์ต์ํ ์ํด. ๊ฐ์ ๋ฐ์ดํฐ๊ฐ ์ฌ๋ฌ ์นผ๋ผ ๋๋ ํ ์ด๋ธ์ ์กด์ฌํ์ ๊ฒฝ์ฐ ๋ฐ์ดํฐ๋ฅผ ์์ ์ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ๊ฐ๋ฅ์ฑ์ด ๋์์ง๋ฏ๋ก ์ ๊ทํ ํ์
- SQL์ ํธ๋์ญ์ ์ ํตํด ๋ฐ์ดํฐ์ ์ผ๊ด์ฑ๊ณผ ๋ฌด๊ฒฐ์ฑ์ ์ ์ง
- ํธ๋์ญ์
๊ด๋ฆฌ ๋ช
๋ น์ด๋ ๋ค์๊ณผ ๊ฐ์
- COMMIT: ํธ๋์ญ์ ์ ์ข ๋ฃํ๊ณ ๋ณ๊ฒฝ์ฌํญ์ ์ ์ฅ
- ROLLBACK: ํธ๋์ญ์ ์ ์ทจ์ํ๊ณ ๋ณ๊ฒฝ์ฌํญ์ ๋๋๋ฆผ
- SAVEPOINT: ํธ๋์ญ์ ๋ด์์ ๋๋๋ฆด ์ ์๋ ์ง์ ์ ์ค์
- SQL์ ์ฌ๋ฌ ํ ์ด๋ธ์ ๋ฐ์ดํฐ๋ฅผ ๊ฒฐํฉํ์ฌ ์กฐํํ ์ ์์
- ์กฐ์ธ์ ์ข
๋ฅ๋ ๋ค์๊ณผ ๊ฐ์
- INNER JOIN : ๋ ํ ์ด๋ธ์์ ์ผ์นํ๋ ํ๋ง ์กฐํ
- LEFT JOIN : ์ผ์ชฝ ํ ์ด๋ธ์ ๋ชจ๋ ํ๊ณผ ์ผ์นํ๋ ์ค๋ฅธ์ชฝ ํ ์ด๋ธ์ ํ์ ์กฐํ
- RIGHT JOIN : ์ค๋ฅธ์ชฝ ํ ์ด๋ธ์ ๋ชจ๋ ํ๊ณผ ์ผ์นํ๋ ์ผ์ชฝ ํ ์ด๋ธ์ ํ์ ์กฐํ
- FULL OUTER JOIN : ๋ ํ ์ด๋ธ์ ๋ชจ๋ ํ์ ์กฐํ (์ง์ํ์ง ์๋ ๊ฒฝ์ฐ๋ ์์)
- SQL์ ๋ฐ์ดํฐ๋ฅผ ์์ฝํ๊ฑฐ๋ ์ง๊ณํ ๋ ์ง๊ณ ํจ์๋ฅผ ์ ๊ณต
- ์ง๊ณ ํจ์๋ ๋ค์๊ณผ ๊ฐ์
- COUNT(): ํ์ ๊ฐ์๋ฅผ ๋ฐํ
- SUM(): ํฉ๊ณ๋ฅผ ๊ณ์ฐ
- AVG(): ํ๊ท ์ ๊ณ์ฐ
- MAX(), MIN(): ์ต๋๊ฐ๊ณผ ์ต์๊ฐ์ ๋ฐํ
- SQL์์ ์ธ๋ฑ์ค๋ ๋ฐ์ดํฐ๋ฅผ ๋น ๋ฅด๊ฒ ๊ฒ์ํ๊ธฐ ์ํด ์ฌ์ฉ
- CREATE INDEX ๋ช ๋ น์ด๋ฅผ ํตํ์ฌ ์ธ๋ฑ์ค๋ฅผ ์์ฑํ์ฌ ์กฐํ ์ฑ๋ฅ์ ํฅ์
- ์ฑ๋ฅ ์ต์ ํ๋ฅผ ์ํด์๋ ์ ์ ํ ์ธ๋ฑ์ค ์ค๊ณ๊ฐ ํ์
- SQL์ ์ฌ์ฉ์์ ๋ฐ์ดํฐ ์ ๊ทผ์ ์ ์ดํ๋ ๊ถํ ๊ด๋ฆฌ ๊ธฐ๋ฅ์ ์ ๊ณต
- ์ฃผ์ ๋ช
๋ น์ด๋ GRANT, REVOKE๊ฐ ์กด์ฌ
- GRANT : ์ฌ์ฉ์๊ฐ ๋ฐ์ดํฐ์ ์ ๊ทผํ ์ ์๋๋ก ๊ถํ์ ๋ถ์ฌ
- REVOKE : ๋ถ์ฌ๋ ๊ถํ์ ์ฒ ํ