[์ž๊ฒฉ์ฆ] SQLD ์ •๋ฆฌ

๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์™„๋ฒฝํžˆ ๊ณต๋ถ€ํ•˜๊ณ  ์ž๊ฒฉ์ฆ์„ ๋”ด ๊ฒƒ์ด ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์— ์ค‘์š”ํ•œ ๋ถ€๋ถ„๋งŒ ์ •๋ฆฌํ•˜๊ณ ์ž ํ•œ๋‹ค!


 

1) ํŠธ๋žœ์žญ์…˜

ํŠธ๋žœ์žญ์…˜ ๋œป :

์ธ๊ฐ€ X ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ๋ฐ์ดํ„ฐ ๋ณด๋‹นํ•˜๋Š” DBMS ํŠน์„ฑ 

DB ํ•˜๋‚˜์˜ ๊ธฐ๋Šฅ ์ •์ƒ์ ์œผ๋กœ ์ˆ˜ํ–‰ ํ•˜๊ธฐ ์œ„ํ•œ ์ž‘์—…์˜ ๊ธฐ๋ณธ๋‹จ์œ„

 

ํŠน์„ฑ

i) Atomicity ์›์ž์„ฑ : ํŠธ๋žœ์žญ์…˜ ์—ฐ์‚ฐ ๋ชจ๋‘ ์ •์ƒ์‹คํ–‰๋˜๊ฑฐ๋‚˜ ๋ชจ๋‘ ์ทจ์†Œ

ii) Consistency ์ผ๊ด€์„ฑ : ์‹œ์Šคํ…œ ๊ณ ์ •์š”์†Œ๋Š” ํŠธ๋žœ์žญ์…˜ ์ˆ˜ํ–‰ ์ „ํ›„ ๋™์ผ

iii) Isolation ๊ณ ๋ฆฝ์„ฑ : ๋™์‹œ ์‹คํ–‰ ํŠธ๋žœ์žญ์…˜๋“ค์ด ์„œ๋กœ ์˜ํ–ฅ ๋ฏธ์น˜์ง€ ์•Š์Œ

iv) Durability ์˜์†์„ฑ : ์„ฑ๊ณตํ•œ ํŠธ๋žœ์žญ์…˜ ๊ฒฐ๊ณผ๋Š” ์˜์†์ ์œผ๋กœ DB์— ์ €์žฅ

 

2) TCL

i) ์ปค๋ฐ‹ (COMMIT) : ํŠธ๋žœ์žญ์…” ํ™•์ •

ii) ๋กค๋ฐฑ (ROLLBACK) : ํŠธ๋žœ์žญ์…˜ ์ทจ์†Œ

iii) ์ฒดํฌํฌ์ธํŠธ (CHECK POINT) : ์ €์žฅ์‹œ๊ธฐ ์„ค์ •

 

3) ๋ณ‘ํ–‰์ œ์–ด

i) ๋กœํ‚น : ์ˆœ์ฐจ์  ํŠธ๋žœ์žญ์…˜ ๋ณด์žฅ

 

4) DDL ์šฉ์–ด

- ๋„๋ฉ”์ธ : ํ•˜๋‚˜์˜ ์†์„ฑ์ด ๊ฐ€์งˆ ์ˆ˜ ์žˆ๋Š” ์›์ž๊ฐ’๋“ค์˜ ์ง‘ํ•ฉ - ์Šคํ‚ค๋งˆ

i) ์‚ฌ์šฉ์ž ๊ฐœ๋ฐœ์ž ๊ด€์  : ์™ธ๋ถ€์Šคํ‚ค๋งˆ

ii) ์ „์ฒด ๋…ผ๋ฆฌ๊ตฌ์กฐ : ๊ฐœ๋… ์Šคํ‚ค๋งˆ

iii) ๋ฐ์ดํ„ฐ ๋ฌผ๋ฆฌ์  ์ €์žฅ ์žฅ์น˜ ๊ด€์  : ๋‚ด๋ถ€์Šคํ‚ค๋งˆ - ๋ทฐ : ํ•˜๋‚˜์ด์ƒ์˜ ๋ฌผ๋ฆฌํ…Œ์ด๋ธ”์—์„œ ์œ ๋„๋˜๋Š” ๊ฐ€์ƒ ํ…Œ์ด๋ธ”

 

5) DDL

i) CREATE

ii) ALTER

iii) DROP

iv) TRUNCATE

 

6) DML

i) SELECT

ii) INSERT

iii) UPDATE

iv) DELETE

 

7) WHERE

- BETWEEN AND

- IN / NOT IN

- LIKE % : 0๊ฐœ์ด์ƒ ์ผ์น˜ [] : 1๊ฐœ๋ผ๋„ ์ผ์น˜ [^] : 1๊ฐœ ๋ถˆ์ผ์น˜

_ : ํŠน์ •์œ„์น˜ 1๊ฐœ ์ผ์น˜

 

8) BY

GROUP BY, HAVING / ORDERBY (๋ณต์ˆ˜๊ฐ€๋Šฅ) + DESC ASC

 

9) JOIN 

๋‚ด๋ถ€์กฐ์ธ / ์™ธ๋ถ€์กฐ์ธ(์™ผ์ชฝ, ์˜ค๋ฅธ์ชฝ, ์™„์ „) / ๊ต์ฐจ์กฐ์ธ(์ „๋ถ€๋‹ค) / ์…€ํ”„์กฐ์ธ(์ž๊ธฐ๋ž‘)

 

10) ์ง‘ํ•ฉ ์—ฐ์‚ฐ์ž 

UNION / UNION ALL / INTERSECT / MINUS

 

11) DCL

GRANT : ํŠน์ • ํ…Œ์ด๋ธ”์— ํŠน์ • ๊ถŒํ•œ ๋ถ€์—ฌ

REVOKE : ๋ถ€์—ฌํ•œ ๊ถŒํ™˜ ํšŒ์ˆ˜

 

์ž‘์„ฑ๋ฒ•

[DDL]

- ALTER

์นผ๋Ÿผ ์ถ”๊ฐ€ : ALTER TABLE ํ…Œ์ด๋ธ”๋ช… ADD ์ปฌ๋Ÿผ๋ช… ๋ฐ์ดํ„ฐํƒ€์ž… [์ œ์•ฝ์กฐ๊ฑด];

ex) ALTER TABLE ์‚ฌ์› ADD ์ „ํ™”๋ฒˆํ˜ธ VARCHAR(11) UNIQUE

์นผ๋Ÿผ ์ˆ˜์ • : ALTER TABLE ํ…Œ์ด๋ธ”๋ช… MODIFY ์ปฌ๋Ÿผ๋ช… ๋ฐ์ดํ„ฐํƒ€์ž… [์ œ์•ฝ์กฐ๊ฑด];

ex) ALTER TABLE ์‚ฌ์› MODIFY ์ด๋ฆ„ VARCHAR(30) NOT NULL;

์นผ๋Ÿผ ์‚ญ์ œ : ALTER TABLE ํ…Œ์ด๋ธ”๋ช… DROP ์ปฌ๋Ÿผ๋ช…;

ex) ALTER TABLE ์‚ฌ์› DROP ์ƒ๋…„์›”์ผ;

 

- DROP

ํ…Œ์ด๋ธ” ์‚ญ์ œ : DROP TABLE ํ…Œ์ด๋ธ”๋ช… [CASCADE | RESTRICT]

ex) DROP TABLE ์‚ฌ์›;

CASCADE : ์ฐธ์กฐํ•˜๋Š” ํ…Œ์ด๋ธ”๊นŒ์ง€ ์—ฐ์‡„์ ์œผ๋กœ ์ œ๊ฑฐํ•˜๋Š” ์˜ต์…˜

RESTRICT : ๋‹ค๋ฅธ ํ…Œ์ด๋ธ”์ด ์‚ญ์ œํ•  ํ…Œ์ด๋ธ”์„ ์ฐธ์กฐ์ค‘์ด๋ฉด ์ œ๊ฑฐํ•˜์ง€ ์•Š๋Š” ์˜ต์…˜

 

- TRUNCATE

ํ…Œ์ด๋ธ” ๋‚ด์˜ ๋ฐ์ดํ„ฐ ์‚ญ์ œ : TRUNCATE TABLE ํ…Œ์ด๋ธ”๋ช…;

ex) TRUNCATE TABLE ์‚ฌ์›;

 

- ๋ทฐ CREATE VIEW ๋ทฐ์ด๋ฆ„ AS SELECT ~

 

[DML]

- SELECT [ALL | DISTINCT] FROM ํ…Œ์ด๋ธ” WHERE / GROUP BY, HAVING

- INSERT INTO ํ•™์ƒ (ํ•™๋ฒˆ, ์„ฑ๋ช…) VALUES (1234, ‘๋ฐ•์ˆ˜์ง„’);

- UPDATE ํ•™์ƒ SET ์ฃผ์†Œ = ‘์ธ์ฒœ’ WHERE ์ด๋ฆ„ = ‘์žฅ๊ธธ์‚ฐ’;

- DELETE FROM ํ•™์ƒ WHERE ์ด๋ฆ„ = ‘์žฅ๊ธธ์‚ฐ’;

 

[DCL]

- GRANT [UPDATE] ON ํ•™์ƒ TO ์žฅ๊ธธ์‚ฐ

- REVOKE [UPDATE] ON ํ•™์ƒ FROM ์žฅ๊ธธ์‚ฐ

 

12) ์ง‘๊ณ„ํ•จ์ˆ˜

COUNT / SUM / AVG / MAX / MIN / STDDEV(ํ‘œ์ค€ํŽธ์ฐจ) / VARIAN(๋ถ„์‚ฐ)

 

13) ๊ทธ๋ฃนํ•จ์ˆ˜

ROLLUP : ์ค‘๊ฐ„ ์ง‘๊ณ„๊ฐ’

CUBE : ๋‹ค์ฐจ์› ์ง‘๊ณ„

GROUPING SETS : ์„น์…˜๋ณ„

 

14) ์œˆ๋„ํ•จ์ˆ˜

PARTION BY → RANK OVER / DENSE_RANK OVER / ROW_NUMBER OVER

 

15) ๋ฐ์ดํ„ฐ ์ •๊ทœํ™”

์ •๋ฆฌ : https://ming9mon.tistory.com/23

 

  • ๋„ค์ด๋ฒ„ ๋ธ”๋Ÿฌ๊ทธ ๊ณต์œ ํ•˜๊ธฐ
  • ๋„ค์ด๋ฒ„ ๋ฐด๋“œ์— ๊ณต์œ ํ•˜๊ธฐ
  • ํŽ˜์ด์Šค๋ถ ๊ณต์œ ํ•˜๊ธฐ
  • ์นด์นด์˜ค์Šคํ† ๋ฆฌ ๊ณต์œ ํ•˜๊ธฐ