๐Ÿ‡๋ฐ•๋ด‰๋ด‰๐Ÿ‡ 2022. 11. 7. 10:21

 

 

๊ตญ๋น„์ง€์› 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 ๋ช…๋ น์–ด

 

 

๋ฐ˜์‘ํ˜•