()=
SQL intro#
1. ์ sql์ ๋ฐฐ์์ผ ํ๋๊ฐ?#
๋ฐ์ดํฐ ์์ฒด๊ฐ ๊ฐ์น๋ค. ๋ฐ์ดํฐ๋ ๋๋ฅผ ๊ท์ ํจ๊ณผ ๋์์ ๋์ ๋ค์ ์คํ ์ ์์ธกํ๋ฉฐ ๊ฐ์ํ ์๋์๋ค. ์ด๋ฌํ ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋๋ ๊ณณ์ด database์ด๊ณ , ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํต์ ํ๋ ๊ฒ์ด SQL์ด๋ค.
2. orm vs sql#
ORM : object relational mapping
orm์ ๊ฐ์ฒด์ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฐ์ดํฐ๋ฅผ ์๋์ผ๋ก ๋งคํํด์ฃผ๋ ๊ฒ์ด๋ค. ์ฆ, ๊ฐ์ฒด๋ฅผ ํตํด ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์กฐ์ํ ์ ์๊ฒ ํด์ค๋ค. orm์ sql์ ์ฌ์ฉํ์ง ์์๋ ๋๋ค. ํ์ง๋ง orm์ ์ฌ์ฉํ๋ฉด sql์ ์ฌ์ฉํ์ง ์์๋ ๋๋ค๋ ๊ฒ์ orm์ ์ฌ์ฉํ์ง ์๋ ๊ฒ๋ณด๋ค ๋ ๋ง์ sql์ ์์์ผ ํ๋ค๋ ๊ฒ์ด๋ค.
3. SQL, RDBMS#
1970๋ ๋์ ๋ง๋ค์ด์ก๋ค.
Structured Query Language๋ผ๋ ๊ฒ์ ์ค์๋ง์ด๋ค.
RDBMS : relational database management system ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํต์ ํ๊ฒ ํด์ค๋ค.
๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๋ ๊ณณ์ด๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ํ ์ด๋ธ๋ก ๊ตฌ์ฑ๋์ด ์๋ค. ํ ์ด๋ธ์ ํ๊ณผ ์ด๋ก ๊ตฌ์ฑ๋์ด ์๋ค. ํ์ ๋ ์ฝ๋, ์ด์ ํ๋๋ผ๊ณ ๋ถ๋ฅธ๋ค. ๊ด๊ณํ์ ์ด๋ ๊ฒ ์์ ์ฒ๋ผ ํ๋ ๊ฒ์ ๋งํ๋ค.
Declarative ์ ์ธํ ์ธ์ด์ด๋ค. ์ฆ, ๋ช ๋ นํ ์ธ์ด์์์ฒ๋ผ ๋ฌธ์ ํด๊ฒฐ์ ์ํด์ ๊ตฌ์ฒด์ ์ธ ์ ์ฐจ์ ๋ก์ง์ ์์ฑํ ํ์๊ฐ ์๋ค. ๊ทธ๋ฅ ์ํ๋ ๊ฒ๋ง ๋ก ์จ๋ฒ๋ฆฌ๋ฉด ๋๋ค.
์ด์์ฑ์ด ์๋ค? Portable
sqlite code \(\to\) mysql code \(\to\) oracle code \(\to\) sql server code ??
๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ณ๋ก ๊ท์น์ด ์๋ค.
Standardized ํ์ค์ด ์๋ค.
๊ทธ๋ฐ๋ฐ ๋ค ์ด์๋ ๊ฒ์ ์๋๋ค.
4. Many Languagues of SQL#
DDL : Data Definition Language
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ตฌ์กฐ๋ฅผ ์ ์ํ๋ ์ธ์ด
CREATE, ALTER, DROP
DML : Data Manipulation Language
๋ฐ์ดํฐ๋ฅผ ์กฐ์ํ๋ ์ธ์ด
SELECT, INSERT, UPDATE, DELETE
DCL : Data Control Language
๋ฐ์ดํฐ๋ฅผ ์ ์ดํ๋ ์ธ์ด
GRANT, REVOKE
TCL : Transaction Control Language