[D+33] SQLํ์ฉ
๊ตญ๋น์ง์ D+33
- SQLํ์ฉ -
SQL ํ์ฉ
• ๋ฐ์ดํฐ ์ฌ์ (Data Dictionary)
- ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ฐ์ดํฐ(์ฌ์ฉ์ ๋ฐ์ดํฐ)๋ฅผ ์ ์ธํ ๋ชจ๋ ์ ๋ณด(DBMS๊ฐ ๊ด๋ฆฌํ๋ ๋ฐ์ดํฐ)๊ฐ ์๋ค.
- ๋ฐ์ดํฐ๋ฅผ ์ ์ธํ(๋ฐ์ดํฐ๋ฅผ ๊ตฌ์ฑํ๋) ๋ชจ๋ ์ ๋ณด๋ผ๋ ์ ์ ๋ฐ์ดํฐ์ ๋ฐ์ดํฐ๋ฅผ ๋งํ๋ค.
- ๋ฐ์ดํฐ ์ฌ์ ์ ๋ฉํ ๋ฐ์ดํฐ(Meta data)๋ก ๊ตฌ์ฑ๋์ด ์๋ค.
- ์ฌ์ฉ์์๊ฒ ๋ฐ์ดํฐ ์ฌ์ ์ ๋จ์ ์กฐํ์ ๋์์ด๋ค.
๋ฐ์ดํฐ ์ฌ์ ์์ ํฌํจ๋ ๋ฉํ ๋ฐ์ดํฐ ์ ํ
- ์ฌ์ฉ์ ์ ๋ณด(ID, ๋น๋ฐ๋ฒํธ ๋ฐ ๊ถํ ๋ฑ)
- ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐ์ฒด(ํ ์ด๋ธ, ์ธ๋ฑ์ค, ๋ทฐ ๋ฑ)
- ๋ฌด๊ฒฐ์ฑ ์ ์ฝ ์ํ
- ํจ์, ํ๋ก์์ ๋ฐ ํธ๋ฆฌ๊ฑฐ ์ ๋ณด
=> ๋ฉํ ๋ฐ์ดํฐ๋ฅผ ๊ตฌ์ฑํ๋ ๋ด์ฉ์ ์ ํ๋ง๋ค ๋ค๋ฅด๋ค.
๋ฐ์ดํฐ ์ฌ์ ์กฐํ
- ๋ทฐ(View)๋ก ๋ฐ์ดํฐ ์ฌ์ ์ ์ ๊ทผํ ์ ์๋ค.
- ์ค๋ธ์ ํธ์ ์ ๊ทผํ ์ ์๋ ์ฌ์ฉ์ ๊ถํ์ ๋ฐ๋ผ ์ธ ๊ฐ์ง๋ก ๊ตฌ๋ถ๋๋ค.
- DBA_ > ALL_ > USER_
๋ฐ์ดํฐ ์ฌ์ ๊ฒ์
- ํ ์ด๋ธ ๋ชฉ๋ก์ผ๋ก ๋ฐ์ดํฐ ์ฌ์ ์ ๊ตฌ์ฑํ๋ ์ด๋ฆ์ ํ์ธํ๊ณ , SELECT๋ฌธ์ ํตํด ํด๋น ํ ์ด๋ธ์ ๋ด์ฉ์ ์กฐํํ ์ ์๋ค.
• DDL (Data Definition Language)
- ๋ฐ์ดํฐ๋ฅผ ์ ์ํ๋ ์ธ์ด
- DDL์ ํตํด ๋ฐ์ดํฐ๋ฅผ ๋ด์ ๊ทธ๋ฆ์ ์์ฑํ์ ๋, ์์ฑํ ๊ทธ๋ฆ์ DBMS์์ ์ค๋ธ์ ํธ๋ผ๊ณ ๋ถ๋ฅธ๋ค.
DDL ๋์
- ์คํค๋ง(Schema) : DBMS์ ํน์ง๊ณผ ๊ตฌ์ถ ํ๊ฒฝ์ ๊ธฐ๋ฐํ ๋ฐ์ดํฐ ๊ตฌ์กฐ
- ๋๋ฉ์ธ(Domain) : ๋ด๊ฐ ์ธ์ํ ์ ์๊ณ ๋๋ฅผ ์ธ์ํด์ฃผ๋ ๋ฒ์, ์์ฑ์ด ๋๋ฅผ ๊ฐ์ง ์ ์๋ ๊ฐ์ ๋ฒ์
- ํ ์ด๋ธ(Table) : ๋ฆด๋ ์ด์ , ๋ฐ์ดํฐ ์ ์ฅ๊ณต๊ฐ
- ๋ทฐ(View) : 1๊ฐ ์ด์์ ๋ฌผ๋ฆฌ ํ ์ด๋ธ์ ํตํด์ ๋ง๋๋ ๊ฐ์์ ๋ ผ๋ฆฌ ํ ์ด๋ธ
- ์ธ๋ฑ์ค(Index) : ๋น ๋ฅธ ๊ฒ์์ ์ํ ๋ฐ์ดํฐ ๊ตฌ์กฐ
DDL ์ ํ
- ์์ฑ : CREATE → ์ค๋ธ์ ํธ ์์ฑ
- ๋ณ๊ฒฝ : ALTER → ์ค๋ธ์ ํธ ๋ณ๊ฒฝ
- ์ญ์ : DROP → ์ค๋ธ์ ํธ ์ญ์ , TRUNCATE → ์ค๋ธ์ ํธ ๋ด์ฉ ์ญ์ (๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ด์ ๋ก๊น ์์ ๊ฑด๋๋)
์ ์ฝ์กฐ๊ฑด
์ ์ฝ์กฐ๊ฑด์ ๋ชฉ์ ์ ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ ๋ณด์ฅ์ด๋ค.
- PRIMARY KEY(PK) : ๊ธฐ๋ณธํค
- FOREIGN KEY(FK) : ์ธ๋ํค
- UNIQUE : ํ ์ด๋ธ์์ ํด๋นํ๋ ์ด๊ฐ์ ์ ์ผํด์ผ ํ๋ค.
- NOT NULL : ํ ์ด๋ธ์์ ํด๋นํ๋ ์ด์ ๊ฐ์ NULL์ด ๋ถ๊ฐ๋ฅํ๋ค.
• DML (Data Manipulation Language)
- ๋ฐ์ดํฐ๋ฅผ ์กฐ์ํ๋ ์ธ์ด
- ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ๋ฐ์ดํฐ์ ์ค๋ณต์ ์ต์ํํ๊ธฐ ์ํด ๋ฐ์ดํฐ๋ฅผ ๋ถํดํ์ฌ ์ ์ฅํ๊ณ ํตํฉํ์ฌ ์ฌ์ฉํ๋ค.
- ๋ฐ์ดํฐ๋ฅผ ๋ถํดํ๋ ๋ฐฉ๋ฒ์๋ ์ ๊ทํ ๊ธฐ๋ฒ์ด ์๊ณ , ๋ฐ์ดํฐ๋ฅผ ํตํฉํ๋ ๋ฐฉ๋ฒ์๋ ๋ค์ค ํ ์ด๋ธ ๊ฒ์ ๊ธฐ๋ฒ์ด ์๋ค.
์กฐ์ธ (JOIN)
- ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์์ ์กฐ์ธ์ ๊ต์งํฉ ๊ฒฐ๊ณผ๋ก ๋ฐ์ดํฐ ๊ฒฐํฉ ๋ฐฉ๋ฒ์ ์๋ฏธํ๋ค.
- ๋ ํ ์ด๋ธ์ ๊ณตํต๊ฐ์ ์ด์ฉํ์ฌ ๊ฐ๋ผ์ ์กฐํํ๋ ์๋จ์ด๋ฉฐ, ์ผ๋ฐ์ ์ผ๋ก PK์ FK๊ฐ์ ๊ฒฐํฉํด ์ฌ์ฉํ๋ค.
์๋ธ์ฟผ๋ฆฌ (SUB QUERY)
- SQL๋ฌธ ์์ ํฌํจ๋ ๋ ๋ค๋ฅธ SQL๋ฌธ์ ๋งํ๋ค.
- ์์ง ํ์ธ๋์ง ์์ ๊ธฐ์ค์ ์ํ ๊ฒ์ํ๋ ์ฉ๋๋ก ์ฌ์ฉํ๋ค.
• DCL (Data Control Language)
- ๋ฐ์ดํฐ๋ฅผ ์ ์ดํ๋ ์ธ์ด
DCL ์กฐ์ ๋์
- ์ฌ์ฉ์ ๊ถํ : ์ ๊ทผ ํต์
- ํธ๋์ญ์ : ์์ ํ๊ณ ๋ฌด๊ฒฐํ ๊ฑฐ๋ ๋ณด์ฅ
DCL ๋ช ๋ น์ด