ํŠธ๋ฆฌ๊ฑฐ๋ž€?

  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์‹œ์Šคํ…œ์—์„œ ์‚ฝ์ž…, ๊ฐฑ์‹ , ์‚ญ์ œ ๋“ฑ์˜ ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•  ๋•Œ๋งˆ๋‹ค ๊ด€๋ จ ์ž‘์—…์ด ์ž๋™์œผ๋กœ ์ˆ˜ํ–‰๋˜๋Š” ์ ˆ์ฐจํ˜• SQL์ด๋‹ค.
  • ํ…Œ์ด๋ธ”์— ๋Œ€ํ•œ ์ด๋ฒคํŠธ์— ๋ฐ˜์‘ํ•ด ์ž๋™์œผ๋กœ ์‹คํ–‰๋˜๋Š” ์ž‘์—…์„ ์˜๋ฏธ

๋ชฉ์ 

  • ์ผ๋ฐ˜์ ์œผ๋กœ ์ด๋ฒคํŠธ์™€ ๊ด€๋ จ๋œ ํ…Œ์ด๋ธ”์˜ ๋ฐ์ดํ„ฐ ์‚ฝ์ž…, ์ถ”๊ฐ€, ์‚ญ์ œ ์ž‘์—…์„ DBMS๊ฐ€ ์ž๋™์ ์œผ๋กœ ์‹คํ–‰์‹œํ‚ค๋Š”๋ฐ ํ™œ์šฉ
  • ๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ ์œ ์ง€ ๋ฐ ๋กœ๊ทธ ๋ฉ”์‹œ์ง€ ์ถœ๋ ฅ ๋“ฑ์˜ ๋ณ„๋„ ์ฒ˜๋ฆฌ๋ฅผ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๊ธฐ๋„ ํ•จ
  • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ ๊ฐ’๊ณผ ๊ทธ ๊ฒƒ์ด ํ‘œํ˜„ํ•˜๋Š” ์‹ค์ œ ๊ฐ’์ด ์ผ์น˜ํ•˜๋Š” ์ •ํ™•์„ฑ์„ ์˜๋ฏธ

๊ตฌ์„ฑ

๊ตฌ์„ฑ์š”์†Œ ์„ค๋ช…
์„ ์–ธ๋ถ€(DECLARE) ํŠธ๋ฆฌ๊ฑฐ์˜ ๋ช…์นญ์„ ์ •์˜ํ•˜๋Š” ๋ถ€๋ถ„
์ด๋ฒคํŠธ๋ถ€(EVENT) ํŠธ๋ฆฌ๊ฑฐ๊ฐ€ ์‹คํ–‰๋˜๋Š” ํƒ€์ด๋ฐ, ์ด๋ฒคํŠธ๋ฅผ ๋ช…์‹œํ•˜๋Š” ๋ถ€๋ถ„
์‹œ์ž‘/์ข…๋ฃŒ๋ถ€(BEGIN/END) ํŠธ๋ฆฌ๊ฑฐ์˜ ์‹œ์ž‘๊ณผ ์ข…๋ฃŒ๋ฅผ ํ‘œํ˜„ํ•˜๋Š”๋ฐ ํ•„์ˆ˜์ ์ด๋ฉฐ, BEGIN/END๊ฐ€ ์Œ์œผ๋กœ ์ด๋ฃจ์–ด ์ถ”๊ฐ€๋˜๋ฏ€๋กœ ๋ธ”๋ก์œผ๋กœ ๊ตฌ์„ฑ, ๋‹ค์ˆ˜ ์‹คํ–‰์„ ์ œ์–ดํ•˜๋Š ๊ธฐ๋ณธ์  ๋‹จ์œ„๊ฐ€ ๋˜๋ฉฐ ๋…ผ๋ฆฌ์  ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ตฌ์„ฑ
์ œ์–ด๋ถ€(CONTROL) ๊ธฐ๋ณธ์ ์œผ๋กœ ์ˆœ์ฐจ์ ์œผ๋กœ ์ฒ˜๋ฆฌ, ๋น„๊ต ์กฐ๊ฑด์— ๋”ฐ๋ผ ๋ธ”๋ก ๋˜๋Š” ๋ฌธ์žฅ์„ ์‹คํ–‰, ์กฐ๊ฑด์— ๋”ฐ๋ผ ๋ฐ˜๋ณต ์‹คํ–‰
SQL DML์„ ์ฃผ๋กœ ์‚ฌ์šฉํ•˜๊ณ , ์ž์ฃผ ์‚ฌ์šฉ๋˜์ง€ ์•Š์ง€๋งŒ DDL (TRUNCATE ๋“ฑ)์„ ์‚ฌ์šฉ
์˜ˆ์™ธ๋ถ€(EXCEPTION) BEGIN~END ์ ˆ์—์„œ ์‹คํ–‰๋˜๋Š” SQL ๋ฌธ์ด ์‹คํ–‰๋  ๋•Œ ์˜ˆ์™ธ ๋ฐœ์ƒ ์‹œ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ ๋ฐฉ๋ฒ•์„ ์ •์˜ํ•˜๋Š” ์ฒ˜๋ฆฌ๋ถ€

์žฅ / ๋‹จ์ 

  • ์žฅ์ 
    • ๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ์˜ ๊ฐ•ํ™”(์ฐธ์กฐ ๋ฌด๊ฒฐ์„ฑ)
    • ์—…๋ฌด์ฒ˜๋ฆฌ ์ž๋™ํ™”
      • ํŠธ๋ฆฌ๊ฑฐ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ํŠธ๋žœ์žญ์…˜์— ์˜ํ•ด ์ž๋™์œผ๋กœ ๋‹ค๋ฅธ ๋ช…๋ น์„ ์ผ์œผํ‚ด์œผ๋กœ์จ ์—…๋ฌด์ฒ˜๋ฆฌ๋ฅผ ์ž๋™ํ™”ํ•  ์ˆ˜ ์žˆ์Œ
      • ์ค‘๊ฐ„์— ์‚ฌ์šฉ์ž๊ฐ€ ๊ฐœ์ž…ํ•˜์ง€ ์•Š๊ณ  ๊ตฌํ˜„๋œ ๊ทœ์น™๋Œ€๋กœ ์•Œ์•„์„œ ์‹คํ–‰๋จ
  • ๋‹จ์ 
    • ํŠธ๋ฆฌ๊ฑฐ๋ฅผ ๊ณผ๋„ํ•˜๊ฒŒ ์‚ฌ์šฉํ•œ๋‹ค๋ฉด ๋ณต์žกํ•œ ์ƒํ˜ธ ์˜์กด์„ฑ์„ ์•ผ๊ธฐํ•  ์ˆ˜ ์žˆ์Œ
      • ์˜ˆ๋ฅผ ๋“ค์–ด ํ•˜๋‚˜์˜ ํŠธ๋ฆฌ๊ฑฐ๊ฐ€ ํ™œ์„ฑํ™”๋˜์–ด ์ด ํŠธ๋ฆฌ๊ฑฐ ๋‚ด์˜ SQL๋ฌธ์ด ์ˆ˜ํ–‰๋˜๊ณ , ๊ทธ ๊ฒฐ๊ณผ๋กœ ์ธํ•˜์—ฌ ๋‹ค๋ฅธ ํŠธ๋ฆฌ๊ฑฐ๊ฐ€ ํ™œ์„ฑํ™”๋˜์–ด ๊ทธ ํŠธ๋ฆฌ๊ฑฐ์˜ SQL๋ฌธ์ด ์ˆ˜ํ–‰๋  ์ˆ˜ ์žˆ์Œ(ํŠธ๋ฆฌ๊ฑฐ์˜ ์—ฐ์‡„)

์šฉ์–ด์ •๋ฆฌ

  • DDL(Data Definition Language): ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ •์˜ํ•˜๋Š” ์–ธ์–ด์ด๋ฉฐ, ๋ฐ์ดํ„ฐ๋ฅผ ์ƒ์„ฑ, ์ˆ˜์ •, ์‚ญ์ œํ•˜๋Š” ๋“ฑ์˜ ๋ฐ์ดํ„ฐ์˜ ์ „์ฒด์˜ ๊ณจ๊ฒฉ์„ ๊ฒฐ์ •ํ•˜๋Š” ์—ญํ• ์„ ํ•˜๋Š” ์–ธ์–ด
  • DML(Data Manipulation Language): ์ •์˜๋œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ž…๋ ฅ๋œ ๋ ˆ์ฝ”๋“œ๋ฅผ ์กฐํšŒํ•˜๊ฑฐ๋‚˜ ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜ ์‚ญ์ œํ•˜๋Š” ๋“ฑ์˜ ์—ญํ• ์„ ํ•˜๋Š” ์–ธ์–ด
  • DCL(Data Control Language): ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ ‘๊ทผํ•˜๊ฑฐ๋‚˜ ๊ฐ์ฒด์— ๊ถŒํ•œ์„ ์ฃผ๋Š”๋“ฑ์˜ ์—ญํ• ์„ ํ•˜๋Š” ์–ธ์–ด

์ฐธ๊ณ ๋งํฌ

[DB] Trigger ํŠธ๋ฆฌ๊ฑฐ ๊ฐœ์š” ๋ฐ ์žฅ๋‹จ์ 

ํŠธ๋ฆฌ๊ฑฐ(Trigger)์˜ ๊ฐœ๋…๊ณผ ๋ชฉ์  ๊ทธ๋ฆฌ๊ณ  ๊ตฌ์„ฑ

DDL/DML/DCL ์ด๋ž€?