
๐ 1์ผ์ฐจ [DCL, DDL]
DCL : ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฌ์ฉ์์๊ฒ ๊ถํ์ ๋ถ์ฌ/ํ์ํ๋ ์ธ์ด
- GRANT(๊ถํ์ ์ฃผ๋ ๊ฑฐ, TO), REVOKE(ํ์ํ๋ ๊ฑฐ, FROM) ์์ง๋ง์
- ROLE : ๋ค์ํ ๊ถํ์ ํ๋์ ๊ทธ๋ฃน์ผ๋ก ๋ฌถ์ด์ ๊ด๋ฆฌ, ์ฌ๋ฌ์ฌ์ฉ์์๊ฒ ๋์ผํ ๋กค ๋ถ์ฌ ๊ฐ๋ฅ, CREATE ROLE ๊ถํ์ ๊ฐ์ง์๊ฐ ์ฌ์ฉ๊ฐ๋ฅ.
UPDATE hoho_qualificaiton.data
SET col2 = '์ฒ์ฌ'
WHERE col1 = 'IDIOT'
์ด ์์ ์ ์ํํ๊ธฐ ์ํ DCL => GRANT SELECT, UPDATE ON hoho_qualitication.list TO hoho;
- GRANT ๊ถํ ON ํ ์ด๋ธ๋ช TO ์ ์ ๋ช ;
- WHERE ์กฐ๊ฑด๋ฌธ์ ์ฌ์ฉ๊ฐ๋ฅํ๊ฒ ํ๊ธฐ ์ํ ์ ๋ ํธ ๊ถํ๋ ์์ฌ
DDL : ๋ฐ์ดํฐ๋ฅผ ๋ณด๊ดํ๊ณ ๊ด๋ฆฌํ๊ธฐ ์ํ ๊ฐ์ฒด์ ๊ตฌ์กฐ๋ฅผ ์ ์ํ๊ธฐ ์ํ ์ธ์ด
- CREATE : ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ ํ
์ด๋ธ ๊ตฌ์กฐ ์์ฑ
๊ตฌ์กฐ-์ปฌ๋ผ๋ช (ํ์1 ๋ค ๊ฐ๋ฅํ์ง๋ง ์์์ ๋ฌธ์๋กํด์ผํจ), ๋ฐ์ดํฐ ํ์ number, date, varchar2, char
์ ์ฝ์กฐ๊ฑด(constraint)-default, not null, primary key, foreign key - ALTER : ํ
์ด๋ธ๊ณผ ์ปฌ๋ผ์ ๋ํด ์ด๋ฆ ๋ฐ ์์ฑ ๋ณ๊ฒฝ, ์ถ๊ฐ/ ์ญ์ ๋ฑ ๊ตฌ์กฐ ์์ ์ ์ํด ์ฌ์ฉ
ALTER TABLE ์ธ๋ถ๋ช ๋ น COLUNM ๋์ TO ๋์
(RENAME, MODIFY(์ปฌ๋ผ์์ฑ๋ณ๊ฒฝ), ADD, DROP) - DROP : ํ
์ด๋ธ ๋ฐ ์ปฌ๋ผ ์ญ์ (!!!!!! ๋๋กญ์ ํ
์ด๋ธ๊ด๋ จ ๋ชจ๋ ์ญ์ ํด์ ๋ชจ๋ ์ ์ฅ๊ณต๊ฐ์ ์๋ ํ์ ์ผ๋ก ๋ง๋ค๊ณ ,
TRUNCATE๋ ํ ์ด๋ธ ๋ฐ์ดํฐ๋ง ์ญ์ ๋๊ณ ๊ตฌ์กฐ๋ ์ด์์๋ค, ์ฆ ๊ฐ์ ๋ฃ์ง ์์ ์ํ๋ก ์ด๊ธฐํ์ํด
๐ 2์ผ์ฐจ (๋ฐ์ดํฐ ๋ชจ๋ธ๋ง)
ํ๋ก์ ํธ ์๋ช ์ฃผ๊ธฐ(life cycle) ์์ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง
- ์ ๋ณด์ ๋ต๊ณํ -> ๋ถ์ -> ์ค๊ณ -> ๊ฐ๋ฐ -> ํ ์คํธ -> ์ ํ ์ดํ
- ์ ๋ณด~ ๋ถ์ : ๊ฐ๋ ์ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง, ๋ถ์ : ๋ ผ๋ฆฌ์ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง, ์ค๊ณ : ๋ฌผ๋ฆฌ์ ๋ฐ์ดํฐ ๋ชจ๋ธ๋ง
๋ฐ์ดํฐ์ ๋ ๋ฆฝ์ฑ ํ๋ณด
- ๊ฐ view์ ๋ ๋ฆฝ์ฑ์ ์ ์งํ๊ณ ๊ณ์ธต๋ณ view์ ์ํฅ์ ์ฃผ์ง ์๊ณ ๋ณ๊ฒฝ์ด ๊ฐ๋ฅ
- ๋จ๊ณ๋ณ ์คํค๋ง์ ๋ฐ๋ผ ๋ฐ์ดํฐ ์ ์์ด(DDL)์ ๋ฐ์ดํฐ ์กฐ์์ด(DML)๊ฐ ๋ค๋ฆ์ ์ ๊ณต
๋ฐ์ดํฐ๋ฒ ์ด์ค 3๋จ๊ณ ๊ตฌ์กฐ
1) ์ธ๋ถ์คํค๋ง (์ฌ์ฉ์ ๊ด์ ), 2) ๊ฐ๋ ์คํค๋ง( ํตํฉ๊ด์ ), 3)๋ด๋ถ์คํค๋ง (๋ฌผ๋ฆฌ์ ๊ฝ์ )
- ์ธ๋ถ์คํค๋ง๋ ๋ทฐ ๋จ๊ณ ์ฌ๋ฌ๊ฐ์ ์ฌ์ฉ์ ๊ด์ ์ผ๋ก ๊ตฌ์ฑ๋์ด์๋ค. ์ฆ ๊ฐ๊ฐ ์ฌ์ฉ์ ๋จ๊ณ๋ก์ ๊ฐ๊ฐ ์ฌ์ฉ์๊ฐ ๋ณด๋ ๊ฐ์ธ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํค๋ง. ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ฐ๊ฐ ์ฌ์ฉ์๋ ์์ฉํ๋ก๊ทธ๋๋จธ๊ฐ ์ ๊ทผํ๋ ๋ฐ์ดํฐ ๋ฒ ์ด์ค์ ์ ์๋ฅผ ๋งํ๋ค. ๊ฐ๋ ์คํค๋ง๋ ๊ฐ๋ ๋จ๊ณ ํ๋์ ๊ฐ๋ ์ ์คํค๋ง๋ก ๊ตฌ์ฑ ๋ชจ๋ ์ฌ์ฉ์๊ด์ ์ ํตํฉํ ์กฐ์ง์ ์ฒด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ธฐ์ ํ๋ ๊ฒ์ด๋ค. ๋ชจ๋ ์์ฉ์์คํ ๋ค์ด๋ ์ฌ์ฉ์๋ค์ด ํ์๋ก ํ๋ ๋ฐ์ดํฐ๋ฅผ ํตํฉํ ์กฐ์ง ์ ์ฒด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅด ใน ๊ธฐ์ ํ ๊ฒ์ผ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅ๋๋ ๋ฐ์ดํฐ์ ๊ทธ๋ค๊ฐ์ ๊ด๊ณ๋ฅผ ํํํ๋ ์คํค๋ง. ๋ด๋ถ์คํค๋ง๋ ๋ด๋ถ ๋จ๊ณ, ๋ด๋ถ์คํค๋ง๋ก ๊ตฌ์ฑ๋์ด์๊ณ , ๋ฐ์ดํฐ๋ฒ ์ด์ค๊ฐ ๋ฌผ๋ฆฌ์ ์ผ๋ก ์ ์ฅ๋ ํ์์ด๋ค. ๋ฌผ๋ฆฌ์ ์ฅ์น์์ ๋ฐ์ดํฐ๊ฐ ์ค์ ์ ์ผ๋ก ์ ์ฅ๋๋ ๋ฐฉ๋ฒ์ ํํํ๋ ์คํค๋ง.
๋ ผ๋ฆฌ์ ๋ ๋ฆฝ์ฑ, ๋ฌผ๋ฆฌ์ ๋ ๋ฆฝ์ฑ
๋ฐ์ดํฐ๋ชจ๋ธ๋ง ์์ ์์
- ์ํฐํฐ๋ฅผ ๊ทธ๋ฆฐ๋ค / ์ํฐํฐ๋ฅผ ์ ์ ํ๊ฒ ๋ฐฐ์นํ๋ค/ ์ํฐํฐ๊ฐ ๊ด๊ณ๋ฅผ ์ค์ ํ๋ค/ ๊ด๊ณ๋ช ์ ๊ธฐ์ ํ๋ค / ๊ด๊ณ์ ์ฐธ์ฌ๋๋ฅผ ๊ธฐ์ ํ๋ค. / ๊ด๊ณ์ ํ์์ฌ๋ถ๋ฅผ ๊ธฐ์ ํ๋ค.
๐ 3์ผ์ฐจ (์ํฐํฐ)
์ํฐํฐ์ ํน์ง
- ์ํฐํฐ๋ ์ฌ๋, ์ฅ์, ๋ฌผ๊ฑด, ์ฌ๊ฑด, ๊ฐ๋ ๋ฑ์ ๋ช ์ฌ์ ํด๋น/ ์ ๋ฌด์ ๊ด๋ฆฌ๊ฐ ํ์ํ ๊ด์ฌ์ฌ / ์ ์ฅ์ด ๋๊ธฐ์ํ ์ด๋ค๊ฒ
- ๋ฐ๋์ ํด๋น ์ ๋ฌด์์ ํ์ํ๊ณ ๊ด๋ฆฌํ๊ณ ์ ํ๋ ์ ๋ณด (ํ์, ํ ์ต ์์ํ์ ...)
- ์ ์ผํ ์๋ณ์์ ์ํด ์ค๋ณ์ด ๊ฐ๋ฅํด์ผํจ
- ์์์ ์ผ๋ก ์กด์ฌํ๋ ์ธ์คํด์ค์ ์งํฉ์ด์ด์ผ ํจ ( ํ๊ฐ๊ฐ ์๋๋ผ ๋๊ฐ ์ด์)
- ์ํฐํฐ๋ ์ ๋ฌดํ๋ก์ธ์ค์ ์ํด ์ด์ฉ๋์ด์ผ ํ๋ค
- ๋ฐ๋์ ์์ฑ์ด ์์ด์ผ ํจ
- ๋ค๋ฅธ ์ํฐํฐ์ ์ต์ ํ ๊ฐ ์ด์์ ๊ด๊ณ๊ฐ ์์ด์ผ ํจ
์์ฑ
- ์ ๋ฌด์์ ํ์๋ก ํ๋ค
- ์๋ฏธ์ ๋ ๋ถ๋ฆฌ๋์ง ์๋๋ค
- ์ํฐํฐ๋ฅผ ์ค๋ช ํ๊ณ ์ธ์คํด์ค์ ๊ตฌ์ฑ์์๊ฐ ๋๋ค.
- ๊ธฐ๋ณธ ์์ฑ, ์ค๊ณ ์์ฑ(์๋ ์ ๋ฌด์ ์กด์ฌx->์ค๊ผํ๋ฉด์ ๋์ถ), ํ์์์ฑ(๋ค๋ฅธ ์์ฑ์ผ๋ก๋ถํฐ ๊ณ์ฐ์ด๋ ๋ณํ)
- ํ์์ด๋ผ๋ ์ํฐํฐ๊ฐ ์์ ๋ ํ์ ์ด๋ผ๋ ์์ฑ์ ๋๋ฉ์ธ์ 0.0์์ 4.0 ์ฌ์ด์ ์ค์๊ฐ์ด๋ฉฐ ์ฃผ์๋ผ๋ ์์ฑ์ ๊ธธ์ด๊ฐ 20์๋ฆฌ ์ด๋ด์ธ ๋ฌธ์์ด๋ก ์ ์
- ๊ฐ ์์ฑ์ ๋๋ฉ์ธ ์ด์ธ์ ๊ฐ์ ๊ฐ์ง ๋ชปํ๋ค.
- ํ ๊ฐ์ ์ธํ ํฐ๋ ๋ ๊ฐ ์ด์์ ์ธ์คํด์ค์ ์งํฉ์ด์ด์ผ ํ๋ค
- ํ ๊ฐ์ ์ํฐํฐ๋ ๋ ๊ฐ ์ด์์ ์์ฑ์ ๊ฐ๋๋ค
- ํ ๊ฐ์ ์์ฑ์ ํ ๊ฐ์ ์์ฑ ๊ฐ์ ๊ฐ๋๋ค.
๐ 4์ผ์ฐจ (์๋ณ์)
์๋ณ์์ ํน์ง
- ์ฃผ์๋ณ์์ ์ํด ์ํฐํฐ๋ด์ ๋ชจ๋ ์ธ์คํด์ค๋ค์ด ์ ์ผํ๊ฒ ๊ตฌ๋ถ๋์ด์ผ ํ๋ค.
- ์ฃผ์๋ณ์๋ฅผ ๊ตฌ์ฑํ๋ ์์ฑ์ ์๋ ์ ์ผ์ฑ์ ๋ง์กฑํ๋ ์ต์์ ์๊ฐ ๋์ด์ผ ํ๋ค.
- ์ง์ ๋ ์ฃผ์๋ณ์์ ๊ฐ์ ์์ฃผ ๋ณํ์ง ์๋ ๊ฒ์ด์ด์ผ ํ๋ค.
- ์ฃผ์๋ณ์๊ฐ ์ง์ ์ด ๋๋ฉด ๋ฐ๋์ ๊ฐ์ด ๋ค์ด์์ผ ํ๋ค
์๋ณ์, ๋น์๋ณ์
- ์๋ณ์ ๊ด๊ณ : ์์์ํฐํฐ์ ์ฃผ์๋ณ์๋ก ๋ถ๋ชจ์ ์ฃผ์๋ณ์๊ฐ ์์์ด ๋๋ ๊ฒฝ์ฐ๋ฅผ ์๋ณ์ ๊ด๊ณ(Identifying Relationship)๋ผ๊ณ ์ง์นญํ๋ค.
- ๋น์๋ณ์ ๊ด๊ณ : ๋ถ๋ชจ์ํฐํฐ๋ก๋ถํฐ ์์ฑ์ ๋ฐ์์ง๋ง ์์์ํฐํฐ์ ์ฃผ์๋ณ์๋ก ์ฌ์ฉํ์ง ์๊ณ ์ผ๋ฐ์ ์ธ ์์ฑ์ผ๋ก๋ง ์ฌ์ฉํ๋ ๊ฒฝ์ฐ, ์์์ ์ด์ฉํ์ง ์๋๊ฒ ๋ ์ ๋ฆฌํ๋ค๊ณ ํ๋จ ๋ ๋
์๋ณ์ ๊ด๊ณ๋ง์ผ๋ก ์ฐ๊ฒฐ๋ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ํน์ง์ ์ฃผ์๋ณ์ ์์ฑ์ด ์ง์์ ์ผ๋ก ์ฆ๊ฐํ ์ ๋ฐ์ ์๋ ๊ตฌ์กฐ๋ก์ ๊ฐ๋ฐ์ ๋ณต์ก์ฑ๊ณผ ์ค๋ฅ๊ฐ๋ฅ์ฑ์ ์ ๋ฐ์ํฌ ์ ์๋ ์์ธ์ด ๋ ์ ์๋ค๋ ์ฌ์ค์ ๊ธฐ์ตํด์ผ ํ๋ค.
๐ 5์ผ์ฐจ (๋ฐ์ ๊ทํ)
์ ๊ทํ๋ ๋ฐ์ดํฐ์ ์ผ๊ด์ฑ, ์ต์ํ์ ๋ฐ์ดํฐ ์ค๋ณต, ์ต์ํ์ ๋ฐ์ดํฐ ์ ์ฐ์ฑ์ ์ํ ๋ฐฉ๋ฒ์ด๋ฉฐ ๋ฐ์ดํฐ๋ฅผ ๋ถํดํ๋ ๊ณผ์ ์ด๋ค. -> ๋ถํ์ํ ๋ฐ์ดํฐ๋ฅผ ์ ๋ ฅํ์ง ์๊ธฐ ๋๋ฌธ์ ์ค๋ณต๋ฐ์ดํฐ๊ฐ ์ ๊ฑฐ ๋๋ค.
๋ฐ์ ๊ทํ
๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฑ๋ฅ ํฅ์์ ์ํ์ฌ, ๋ฐ์ดํฐ ์ค๋ณต์ ํ์ฉํ๊ณ ์กฐ์ธ์ ์ค์ด๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฑ๋ฅ ํฅ์ ๋ฐฉ๋ฒ์ด๋ค.
๋ฐ์ ๊ทํ๋ ์กฐํ์๋๋ฅผ ํฅ์์ํค์ง๋ง, ๋ฐ์ดํฐ ๋ชจ๋ธ์ ์ ์ฐ์ฑ์ ๋ฎ์์ง๋ค.
๋ฐ์ ๊ทํ๋ฅผ ์ํํ๋ ์ด์
- ์ ๊ทํ์ ์ถฉ์คํ์ฌ ์ข ์์ฑ, ํ์ฉ์ฑ์ ํฅ์ ๋์์ง๋ง ์ํ์๋๊ฐ ๋๋ ค์ง ๊ฒฝ์ฐ
- ๋ค๋์ ๋ฒ์๋ฅผ ์์ฃผ ์ฒ๋ฆฌํด์ผํ๋ ๊ฒฝ์ฐ
- ํน์ ๋ฒ์์ ๋ฐ์ดํฐ๋ง ์์ฃผ ์ฒ๋ฆฌํ๋ ๊ฒฝ์ฐ
- ์์ฝ/์ง๊ณ ์ ๋ณด๊ฐ ์์ฃผ ์๊ตฌ๋๋ ๊ฒฝ์ฐ
๐ 6์ผ์ฐจ (์๋ธ์ฟผ๋ฆฌ)
ํ๋์ SQL ๋ฌธ์์ ํฌํจ๋์ด ์๋ ๋ ๋ค๋ฅธ SQL ๋ฌธ
- SELECT ์ -FROM ์ -WHERE ์ -HAVING ์ -ORDERBY ์
- INSERT ๋ฌธ์ VALUES ์ - UPDATE ๋ฌธ์ SET ์
- ๋์ ๋ฐฉ์์ ๋ฐ๋ฅธ ๋ถ๋ฅ : ๋น์ฐ๊ด ์ฐ๊ด
- ๋ฐํ ํํ : ๋จ์ผ ํ(ํญ์ ๋น๊ต ์ฐ์ฐ์), ๋ค์ค ํ(๋ค์คํ ๋น๊ต์ฐ์ฐ์), ๋ค์ค ์นผ๋ผ(๋์ ๋น๊ตxxx)
- exist ๋ฌธ, ์ค์นผ๋ผ, ์ธ๋ผ์ธ ๋ทฐ, HAVING ์ , UPDATE ๋ฌธ, INSERT ๋ฌธ
'๋ ํ๊ฐ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ ์์ผ์ง - ๋น์ ๊ณต์๋ฅผ ์ํ ์ดํดํ ์ ์๋ IT ์ง์ ํ๊ธฐ ๐ (1) | 2023.05.19 |
---|---|
๋ ์์ผ์ง - Deep dive (0) | 2023.05.17 |