๐Ÿ“‹ ํ”„๋กœ๊ฐ€ ๋˜๊ธฐ ์œ„ํ•œ ์›น๊ธฐ์ˆ  ์ž…๋ฌธ 4


4. CGI์—์„œ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์œผ๋กœ


๋ฆฌ๋‹ค์ด๋ ‰ํŠธ์˜ ๊ตฌ์กฐ

์ƒํƒœ์ฝ”๋“œ 302์ผ ๊ฒฝ์šฐ Location ํ—ค๋”์— ํ‘œ์‹œ๋œ URL์— ๋‹ค์‹œ ์š”์ฒญ์„ ๋ฐœํ–‰ํ•œ๋‹ค.
์ด์ฒ˜๋Ÿผ ์ฒ˜์Œ ์š”์ฒญํ•œ URL๊ณผ ๋‹ค๋ฅธ URL๋กœ ์œ ๋„ํ•˜๋Š” ๊ฒƒ์„ ๋ฆฌ๋‹ค์ด๋ ‰ํŠธ๋ผ๊ณ  ํ•œ๋‹ค.

์ƒํƒœ ์œ ์ง€ ํ”„๋กœํ† ์ฝœ๊ณผ ๋ฌด์ƒํƒœ ํ”„๋กœํ† ์ฝœ์˜ ์ฐจ์ด

FTP๋Š” ์„œ๋ฒ„๊ฐ€ ์•ž์„  ์š”์ฒญ์„ ๊ธฐ์–ตํ•˜๋Š” ์ƒํƒœ ์œ ์ง€ ํ”„๋กœํ† ์ฝœ์ด๋‹ค.
์ƒํƒœ ์œ ์ง€ ํ”„๋กœํ† ์ฝœ์€ ํ†ต์‹  ์ ˆ์ฐจ๊ฐ€ ๋งŽ์•„ ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ํฌ๋‹ค.

HTTP๋Š” ์ƒํƒœ๋ฅผ ๊ฐ€์ง€ ์•Š๋Š” ๋ฌด์ƒํƒœ ํ”„๋กœํ† ์ฝœ์ด๋‹ค.
์ƒํƒœ๋ฅผ ์œ ์ง€ํ•˜์ง€ ์•Š์„ ๊ฒฝ์šฐ ์˜ค๋ฒ„ํ—ค๋“œ๊ฐ€ ์ ์ง€๋งŒ ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•˜์ง€ ์•Š์œผ๋‹ˆ, ๋กœ๊ทธ์ธ ๊ฐ™์€ ์ธ์ฆ์— ๋Œ€ํ•œ ์ƒํƒœ ๊ด€๋ฆฌ๋ฅผ ํ•˜๊ธฐ ์–ด๋ ค์› ๋‹ค.

์ฟ ํ‚ค์˜ ๊ฐœ๋…๊ณผ ๊ตฌํ˜„ ๋ฐฉ๋ฒ•

์ฟ ํ‚ค๋Š” ๋ฌด์ƒํƒœ ํ”„๋กœํ† ์ฝœ์•ˆ HTTP์˜ ๊ทœ๊ฒฉ์„ ํ™•์žฅํ•ด ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ์›น ๋ธŒ๋ผ์šฐ์ € ์‚ฌ์ด์—์„œ ์ •๋ณด๋ฅผ ๊ตํ™˜ํ•  ์ˆ˜ ์žˆ๊ฒŒํ•œ๋‹ค.
์š”์ฒญ์„ ํ•  ๋•Œ ์›น ๋ธŒ๋ผ์šฐ์ €์˜ ์ƒํƒœ๋ฅผ Cookie ๋ผ๋Š” ํ—ค๋”์— ์‹ค์–ด ๋ณด๋‚ธ๋‹ค.

์ฟ ํ‚ค์˜ ๋ฌธ์ œ์ 

์š”์ฒญ ํ—ค๋”, ์‘๋‹ต ํ—ค๋”์— ์ฟ ํ‚ค๋ฅผ ์„ค์ •ํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ณด์•ˆ์ƒ์˜ ์œ„ํ˜‘์ด ์žˆ๋‹ค.

์„ธ์…˜์˜ ๊ฐœ๋…๊ณผ ๊ตฌํ˜„ ๋ฐฉ๋ฒ•

์„ธ์…˜์ด๋ž€ ์ผ๋ จ์˜ ์ฒ˜๋ฆฌ ํ๋ฆ„์„ ๋งํ•œ๋‹ค.
์ด ์ฒ˜๋ฆฌ ํ๋ฆ„์ด ํ•œ ๋ฒˆ์— ์™„๋ฃŒ ๋˜์ง€ ์•Š๋Š”๋‹ค๋ฉด ์„ธ์…˜์— ์ƒํƒœ๋ฅผ ์ถ”๊ฐ€ํ•ด์•ผ ํ•œ๋‹ค.
์ด๋Ÿฌํ•œ ์„ธ์…˜์˜ ์ƒํƒœ๋Š” ์›น ์„œ๋ฒ„์—์„œ ๊ด€๋ฆฌํ•˜๊ณ  ์„ธ์…˜ ID๋งŒ์„ ์ฃผ๊ณ  ๋ฐ›๋Š”๋‹ค.
์„ธ์…˜ ID๋Š” ๋‹จ์ˆœํ•œ ์ˆซ์ž(๋˜๋Š” ๋ฌธ์ž์—ด) ์ด๋ฏ€๋กœ ์ฟ ํ‚ค๋ฅผ ์ด์šฉํ•ด ๊ด€๋ฆฌํ•œ๋‹ค.

๋กœ๊ทธ์ธ๊ณผ ๊ฐ™์€ ์„ธ์…˜์„ ๊ฐœ์‹œํ•  ๋•Œ ์›น ์„œ๋ฒ„๊ฐ€ ์ƒˆ๋กœ์šด ์„ธ์…˜ ID๋ฅผ ๋ฐœํ–‰ํ•˜๊ณ , ์ฟ ํ‚ค์— ์ €์žฅ๋˜์–ด ๋ธŒ๋ผ์šฐ์ €์— ์ „๋‹ฌ๋œ๋‹ค.
์ดํ›„ ์š”์ฒญ๋ถ€ํ„ฐ๋Š” ๋ธŒ๋ผ์šฐ์ €๋Š” ์ฟ ํ‚ค๋ฅผ ์„œ๋ฒ„์— ๋ณด๋‚ด ์ธ์ฆ์„ ์„ฑ๊ณตํ•œ๋‹ค.

์ฟ ํ‚ค์— ์„ธ์…˜ID๋งŒ ์ €์žฅํ•จ์œผ๋กœ์จ ์ฟ ํ‚ค์— ์ €์žฅํ•  ์ˆ˜ ์žˆ๋Š” ์ •๋ณด๋Ÿ‰์˜ ์ œํ•œ์„ ๋ฌด์‹œํ•  ์ˆ˜ ์žˆ๊ณ , ์•ˆ์ •์„ฑ์„ ๋†’์ธ๋‹ค.

5. ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๊ตฌ์„ฑ ์š”์†Œ


์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ํด๋ผ์ด์–ธํŠธ์™€ ์„œ๋ฒ„๊ฐ€ HTTP๋ฅผ ํ†ตํ•ด ํ†ต์‹ ํ•จ์— ๋”ฐ๋ผ ๊ตฌํ˜„๋œ๋‹ค.

โž• ํ”„๋กœ๊ทธ๋žจ VS ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ VS ์„œ๋ฒ„ VS ํ”„๋กœ์„ธ์Šค

ํ”„๋กœ๊ทธ๋žจ

์ปดํ“จํ„ฐ๊ฐ€ ์‹คํ–‰ํ•˜๋Š” ์ฒ˜๋ฆฌ์˜ ์ˆœ์„œ๋ฅผ ์ง€์‹œํ•œ ๊ฒƒ.
์†Œ์Šค์ฝ”๋“œ ์ž์ฒด๋ฅผ ํ”„๋กœ๊ทธ๋žจ์ด๋ผ๊ณ  ํ•  ๋•Œ๋„ ๋งŽ๋‹ค.

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜

์›Œ๋“œํ”„๋กœ์„ธ์„œ, ํ‘œ ๊ณ„์‚ฐ ๋“ฑ ์ปดํ“จํ„ฐ ์ƒ์—์„œ ์ž‘๋™ํ•˜๋ฉฐ, ์‚ฌ์šฉ์ž์—๊ฒŒ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๊ธฐ ์œ„ํ•œ ๊ฒƒ.
์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋˜ํ•œ ์›น์„ ์ด์šฉํ•ด ํŠน์ • ๋ชฉ์ ์„ ๋‹ฌ์„ฑํ•˜๊ธฐ ์œ„ํ•œ ์†Œํ”„ํŠธ์›จ์–ด

์„œ๋ฒ„

ํŠน์ • ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•˜๋Š” ๋ฐ ํŠนํ™”๋œ ์†Œํ”„ํŠธ์›จ์–ด.
๋‹จ๋…์œผ๋กœ ์‹œ์Šคํ…œ์„ ๊ตฌ์„ฑํ•˜์ง€๋Š” ๋ชปํ•œ๋‹ค.
์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋น„๋กฏํ•œ ๋‹ค๋ฅธ ์†Œํ”„ํŠธ์›จ์–ด์™€ ์กฐํ•ฉํ•˜์—ฌ ์‚ฌ์šฉํ•˜์—ฌ์•ผ ํ•œ๋‹ค.
์„œ๋ฒ„๋ฅผ ์ด์šฉํ•˜๋Š” ๊ฒƒ์ด ํด๋ผ์ด์–ธํŠธ์ด๋‹ค.

ํ”„๋กœ์„ธ์Šค

์ปดํ“จํ„ฐ ์ƒ์—์„œ ์ž‘๋™ํ•˜๊ณ  ์žˆ๋Š” ์†Œํ”„ํŠธ์›จ์–ด

์›น ์„œ๋ฒ„

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„

์„œ๋ธ”๋ฆฟ์ด๋‚˜ JSP๋Š” ์–ด๋””์—์„œ ์ž‘๋™ํ•˜๋Š”๊ฐ€?

์ž๋ฐ” ํ”„๋กœ๊ทธ๋žจ์€ ์ปดํ“จํ„ฐ๊ฐ€ ์ง์ ‘ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ JVM์ด๋ผ๋Š” ๊ฐ€์ƒ์˜ ์ปดํ“จํ„ฐ๊ฐ€ ์‹คํ–‰ํ•œ๋‹ค.
๋•Œ๋ฌธ์— JVM๋„ ์ปดํ“จํ„ฐ๊ฐ€ ๋ณผ ๋•Œ๋Š” ํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์Šค๋กœ, ์›น ์„œ๋ฒ„, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๋…๋ฆฝ๋œ ํ”„๋กœ์„ธ์Šค๋กœ ๋™์ž‘ํ•œ๋‹ค.

JVM์—์„œ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„๋ผ๋Š” ์†Œํ”„ํŠธ์›จ์–ด๊ฐ€ ์ž‘๋™๋˜๊ณ , ์ด ์„œ๋ฒ„๊ฐ€ ์„œ๋ธ”๋ฆฟ์ด๋‚˜ JSP๋ฅผ ์ž‘๋™์‹œํ‚จ๋‹ค.
CGI๋Š” ์›น ์„œ๋ฒ„๋กœ ์š”์ฒญ์ด ์˜ฌ ๋•Œ๋งˆ๋‹ค ์ƒˆ๋กœ์šด ํ”„๋กœ์„ธ์Šค๊ฐ€ ๊ธฐ๋™๋˜์—ˆ๋‹ค๊ฐ€ ์ข…๋ฃŒ๋˜๋Š” 1ํšŒ์šฉ ๋ชจ๋ธ์ด์ง€๋งŒ,
์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„๋Š” ํ•ญ์ƒ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ƒ์ฃผํ•ด ์žˆ๊ณ  ์›น ์„œ๋ฒ„๋กœ๋ถ€ํ„ฐ ์š”์ฒญ์„ ๋ฐ›์•„ ์„œ๋ธ”๋ฆฟ์ด๋‚˜ JSP๋ฅผ ์‹คํ–‰ํ•˜๋Š” ์žฌ์‚ฌ์šฉ ๋ชจ๋ธ์ด๋‹ค.

์›น ์„œ๋ฒ„์™€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„์˜ ์—ฐ๋™

ํ†ฐ์บฃ

์•„ํŒŒ์น˜์—์„œ ๊ฐœ๋ฐœํ•œ ์˜คํ”ˆ ์†Œ์Šค ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„.
์›น ์„œ๋ฒ„์™€ ์—ฐ๋™ํ•˜๊ธฐ ์œ„ํ•ด ํ†ฐ์บฃ์€ ์•„ํŒŒ์น˜์šฉ์œผ๋กœ mode_jk๋ผ๋Š” ์—ฐ๋™ ๋ชจ๋“ˆ์„ ์ œ๊ณตํ•˜๋ฉฐ, ์•„ํŒŒ์น˜ ํ™•์žฅ ๊ธฐ๋Šฅ์œผ๋กœ ํƒ‘์žฌํ•ด ์—ฐ๋™์„ ๊ตฌํ˜„ํ•œ๋‹ค.

์•„ํŒŒ์น˜์— ๋„์ฐฉํ•œ HTTP ์š”์ฒญ์„ mod_jk๊ฐ€ ํ†ฐ์บฃ์œผ๋กœ ์ „์†กํ•˜๊ณ , ํ†ฐ์บฃ์ด ์ด ๊ธฐ๋ฐ˜์—์„œ ์ž‘๋™ํ•˜๋Š” ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์ „๋‹ฌํ•œ๋‹ค.
์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์ฒ˜๋ฆฌ๋ฅผ ์‹คํ–‰ํ•˜๊ณ , ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„๋กœ ๊ฒฐ๊ณผ๋ฅผ ๋˜๋Œ๋ ค์ค€๋‹ค.
์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„๋Š” mod_jk์— ๊ฒฐ๊ณผ๋ฅผ ๋˜๋Œ๋ ค์ฃผ๊ณ  ์•„ํŒŒ์น˜๊ฐ€ ์›น ๋ธŒ๋ผ์šฐ์ €๋กœ HTTP ์‘๋‹ต์„ ๋˜๋Œ๋ ค์ค€๋‹ค.

image

๋˜ํ•œ ์—ฌ๋Ÿฌ ๋Œ€์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„๋ฅผ ๋‹ค๋ฅธ ๋…ธ๋“œ์— ๋ฐฐ์น˜ํ•ด ๋ถ„๋‹ด์‹œํ‚ฌ ์ˆ˜๋„ ์žˆ๋‹ค.

์›น ์„œ๋ฒ„์™€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„์˜ ๋ถ„๋‹ด

  • ์›น ์„œ๋ฒ„ : ์ •์ ์ธ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•œ๋‹ค.
  • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„ : ๋™์  ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•œ๋‹ค.

์ด์™€ ๊ฐ™์ด ์„œ๋ฒ„ ์‚ฌ์ด๋“œ์—์„œ ํ”„๋กœ์„ธ์Šค ๋‘๊ฐœ๊ฐ€ ์—ฐ๋™ํ•œ๋‹ค.
ํด๋ผ์ด์–ธํŠธ๊ฐ€ ํŽ˜์ด์ง€์— ๋”ฐ๋ผ ์š”๊ตฌ๋ฅผ ๋ณด๋‚ผ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ œ๊ฐ๊ฐ์ด๋ฉด ๊ณจ์น˜์•„ํ”„๋‹ˆ, ํด๋ผ์ด์–ธํŠธ์˜ HTTP ์š”์ฒญ์„ ์›น ์„œ๋ฒ„๊ฐ€ ์ „๋ถ€ ๋ฐ›๊ณ ,
์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„๊ฐ€์ฒ˜๋ฆฌํ•ด์•ผ ํ•  ์š”์ฒญ๋งŒ ์›น ์„œ๋ฒ„๊ฐ€ ์ „๋‹ฌํ•œ๋‹ค.

์ด ๋‘ ์„œ๋ฒ„๋ฅผ ๋ถ„๋ฆฌํ•จ์œผ๋กœ์จ
์ฒ˜๋ฆฌ๋Š” ๊ฐ€๋ฒผ์šด ๋Œ€์‹  ํšŸ์ˆ˜๊ฐ€ ๋งŽ์€ ์ •์  ์ฝ˜ํ…์ธ ์— ๋Œ€ํ•œ ์š”์ฒญ์€ ์›น ์„œ๋ฒ„,
ํšŸ์ˆ˜๋Š” ์ ์ง€๋งŒ ์ฒ˜๋ฆฌ๋Ÿ‰์ด ๋ฌด๊ฑฐ์šด ๋™์  ์ปจํ…์ธ  ์š”์ฒญ์€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์œผ๋กœ ๋ถ„๋‹ดํ•œ๋‹ค.

์‚ฌ์‹ค ๋Œ€๋ถ€๋ถ„์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„๋Š” ์›น ์„œ๋ฒ„ ๊ธฐ๋Šฅ๋„ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.

๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค ์„œ๋ฒ„

๋Œ€๋Ÿ‰์˜ ์ •๋ณด๋ฅผ ๊ธฐ๋กํ•˜๊ณ  ๋น ๋ฅด๊ฒŒ ๊ฒ€์ƒ‰, ์ง‘๊ณ„ํ•  ์ˆ˜ ์žˆ๋Š” ์†Œํ”„ํŠธ์›จ์–ด (Database Management System)

SQL

Structured Query Language (๊ตฌ์กฐ์  ์งˆ์˜ ์–ธ์–ด).
๋ฌด์—‡์„(SELECT), ์–ด๋””์—์„œ(WHERE), ์–ด๋–ป๊ฒŒ(GROUP BY ๋“ฑ) ์ถ”์ถœํ•  ๊ฒƒ์ธ์ง€ ํ‘œํ˜„ํ•˜๋Š” ์ž‘์—…์— ํŠนํ™”๋˜์–ด ์žˆ๋‹ค.

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ํด๋ผ์ด์–ธํŠธ์˜ ๊ด€๊ณ„

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ๋…๋ฆฝ์ ์œผ๋กœ ์ž‘๋™ํ•˜๋Š” ํ”„๋กœ์„ธ์Šค์ด๊ณ , ์ฟผ๋ฆฌ๋ฅผ ํ†ตํ•ด ๊ฒฐ๊ณผ๋ฅผ ์ทจ๋“ํ•˜๋Š” ์ชฝ๋„ ํ”„๋กœ์„ธ์Šค์ด๋‹ค.
์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ๋Š” ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ”„๋กœ๊ทธ๋žจ์ด SQL์„ ๋ฐœํ–‰ํ•œ๋‹ค.
๋งŒ์•ฝ ๊ณ ๊ฐ์ด ์ƒํ’ˆ์˜ ๋ฆฌ์ŠคํŠธ๋ฅผ ์กฐํšŒํ•˜๊ณ  ์‹ถ์„ ๋•Œ ์ƒํ’ˆ ๋ชฉ๋ก์„ HTML์— ๋งค๋ฒˆ ์ง์ ‘ ๊ธฐ์ˆ ํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹Œ,
์š”์ฒญ์ด ๋“ค์–ด์˜ฌ ๋•Œ๋งˆ๋‹ค ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค์—์„œ ๋ชฉ๋ก์„ ์กฐํšŒํ•ด์˜จ๋‹ค.

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„œ๋ฒ„์˜ ๋ถ„๋ฆฌ

DBMS๋Š” ์—ฌ๋Ÿฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ๋™์‹œ์— ์ด์šฉ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๋‹จ๋… ํ”„๋กœ์„ธ์Šค๋กœ ์ž‘๋™ํ•œ๋‹ค.
์ฆ‰ ์›น ์„œ๋ฒ„์™€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์„œ๋ฒ„๋Š” ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค๋กœ์„œ ์ž‘๋™ํ•œ๋‹ค.
์ผ๋ฐ˜์ ์œผ๋กœ๋Š” ์›น ์„œ๋ฒ„๋ฅผ ์ž‘๋™์‹œํ‚ฌ ์ปดํ“จํ„ฐ์™€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ž‘๋™์‹œํ‚ฌ ์ปดํ“จํ„ฐ๋ฅผ ๋”ฐ๋กœ ์ค€๋น„ํ•ด ๊ฐ ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ฐ ์ปดํ“จํ„ฐ์—์„œ ์‹คํ–‰ํ•œ๋‹ค.
์ด ๊ฒฝ์šฐ, ์ฒ˜๋ฆฌ๊ฐ€ ๋ถ„์‚ฐ๋˜์–ด ๋ถ€ํ•˜๊ฐ€ ์ค„์–ด๋“ค๋ฉฐ ์ƒˆ๋กœ์šด ์‹œ์Šคํ…œ์ด ๊ตฌ์ถ•๋˜๋”๋ผ๋„ ์—ฌ๋Ÿฌ ํด๋ผ์ด์–ธํŠธ๊ฐ€ DB ์„œ๋ฒ„๋ฅผ ์ด์šฉํ•˜๊ธฐ ํŽธ๋ฆฌํ•ด์ง„๋‹ค.

์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค์˜ ํ†ต์‹ 

์›น ๋ธŒ๋ผ์šฐ์ €์™€ ์›น ์„œ๋ฒ„๊ฐ€ HTTP๋ฅผ ์‚ฌ์šฉํ•ด ํ†ต์‹ ํ•˜๋“ฏ์ด,
์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๊ฐ€ ํ†ต์‹ ํ•  ๊ฒฝ์šฐ์—๋„ ๊ณ ์œ ์˜ ํ†ต์‹  ํ”„๋กœํ† ์ฝœ์„ ์‚ฌ์šฉํ•ด ํ†ต์‹ ํ•œ๋‹ค.

6. ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ํšจ์œจ์ ์œผ๋กœ ๊ฐœ๋ฐœํ•˜๋Š” ๋ฐฉ๋ฒ•


์„œ๋ธ”๋ฆฟ/JSP๋งŒ์œผ๋กœ๋Š” ๋ถ€์กฑํ•œ๊ฐ€?

์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋Œ€๋ถ€๋ถ„์—์„œ ์ž๋ฐ”๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์ด์œ 

  • ์—ญ์‚ฌ ๊นŠ์€ ์–ธ์–ด
  • ๊ฐ์ฒด์ง€ํ–ฅ, ์žฌ์‚ฌ์šฉ์ 
  • ์˜คํ”ˆ ์†Œ์Šค ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ์™€ ํ”„๋ ˆ์ž„์›Œํฌ์˜ ์–‘๊ณผ ์งˆ์ด ์ถฉ์‹ค
  • ์ˆ˜๋งŽ์€ ๊ฐœ๋ฐœ ์ง€์› ๋„๊ตฌ๊ฐ€ ์˜คํ”ˆ์†Œ์Šค๋กœ ์ œ๊ณต

์„œ๋ธ”๋ฆฟ๊ณผ JSP์˜ ์—ฐ๋™

์„œ๋ธ”๋ฆฟ์€ HTTP ์š”์ฒญ์„ ๋ฐ›์•„ ๋ธŒ๋ผ์šฐ์ €์— ๋˜๋Œ๋ ค์ค„ HTML์„ ์ž๋ฐ” ํ”„๋กœ๊ทธ๋žจ์—์„œ ์ถœ๋ ฅํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•œ ๊ฒƒ.
JSP๋Š” HTML ์†์— ์ž๋ฐ”๋ฅผ ์Šคํฌ๋ฆฝํ‹€๋ฆฟ์œผ๋กœ ์‹ฌ์„ ์ˆ˜ ์žˆ๊ฒŒ ํ•œ ๊ฒƒ์ด๋‹ค.
JSP๋งŒ์„ ์ด์šฉํ•  ๊ฒฝ์šฐ, ์ฒ˜๋ฆฌ๊ฐ€ ๋ณต์žกํ•œ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“ค ๋•Œ JSP ์•ˆ์— ๊ธฐ์ˆ ๋˜๋Š” ์ฝ”๋“œ๊ฐ€ ๋Š˜์–ด๋‚˜ ๊ฐœ๋ฐœ ๊ด€๋ฆฌ๊ฐ€ ํž˜๋“ค์–ด์ง„๋‹ค.

์ด ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด HTML ํ‘œ์‹œ๋Š” JSP๊ฐ€, ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ถ€๋ถ„์€ ์„œ๋ธ”๋ฆฟ์ด ๋‹ด๋‹นํ•˜๊ฒŒ ํ•œ๋‹ค.

<!-- ์„œ๋ธ”๋ฆฟ ์ •์˜ -->
<servlet>
	<servlet-name>login</servlet-name>
	<servlet-class>kr.co.wiki.webtext.pizza.servlet.LoginServlet</servlet-class>
</servlet>

<!-- ์„œ๋ธ”๋ฆฟ ๋งคํ•‘ -->
<servlet-mapping>
	<servlet-name>login</servlet-name>
	<servlet-pattern>login.do</servlet-pattern>
</servlet-mapping>
public void doPost(HttpServletRequest req, HttpServletResponse res)
throws ServletException, IOException {

    String id = req.getParameter("realname");
    String password = req.getParameter("mypassword");
}

ํฌ์›Œ๋“œ vs ๋ฆฌ๋‹ค์ด๋ ‰ํŠธ

์„œ๋ธ”๋ฆฟ์—์„œ JSP๋กœ ์ด๋™์€ ๋ธŒ๋ผ์šฐ์ €๋ฅผ ํ†ตํ•˜์ง€ ์•Š๊ณ  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„ ๋‚ด์—์„œ๋งŒ ์ง„ํ–‰๋œ๋‹ค.
์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ๋Š” ์ด์™€ ๊ฐ™์€ ์ด๋™์„ ํฌ์›Œ๋“œ๋ผ๊ณ  ํ•˜๋ฉฐ ๋ฆฌ๋‹ค์ด๋ ‰ํŠธ์™€๋Š” ๊ตฌ๋ถ„๋œ๋‹ค.

  • ๋ฆฌ๋‹ค์ด๋ ‰ํŠธ : ์ƒํƒœ์ฝ”๋“œ 302๋ฅผ ํ†ตํ•ด ์ด๋™ํ•  URL์„ ์•Œ๋ ค์ฃผ์–ด ํด๋ผ์ด์–ธํŠธ์—์„œ ์„œ๋ฒ„๋กœ ๋‹ค์‹œ ์š”์ฒญ์„ ๋ณด๋‚ธ๋‹ค. (์š”์ฒญ์ด 2๋ฒˆ ์ผ์–ด๋‚จ)
  • ํฌ์›Œ๋“œ : ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„ ๋‚ด์—์„œ๋งŒ ์ด๋™ ์ฒ˜๋ฆฌ๊ฐ€ ์ง„ํ–‰๋˜์–ด ์„œ๋ฒ„์ธก ์ฒ˜๋ฆฌ ๊ฒฐ๊ณผ๊ฐ€ ํด๋ผ์ด์–ธํŠธ๋กœ ๋Œ์•„์˜จ๋‹ค. (์š”์ฒญ์ด 1๋ฒˆ ์ผ์–ด๋‚จ)

์š”์ฒญ ์Šค์ฝ”ํ”„

์„œ๋ธ”๋ฆฟ๊ณผ JSP ์‚ฌ์ด์—์„œ ์ •๋ณด๋ฅผ ๊ณต์œ ํ•˜๊ธฐ ์œ„ํ•œ ๋ฐฉ์‹์ด๋‹ค.
์ฆ‰, ํฌ์›Œ๋“œ ํ•œ ๊ณณ๊ณผ ํฌ์›Œ๋“œ ๋œ ๊ณณ ์‚ฌ์ด์—์„œ ์ •๋ณด๋ฅผ ๊ณต์œ ํ•˜๊ธฐ ์œ„ํ•œ ๋ฐฉ์‹์ด๋‹ค.

์š”์ฒญ ๋งค๊ฐœ๋ณ€์ˆ˜์™€์˜ ์ฐจ์ด

  • ์š”์ฒญ ๋งค๊ฐœ๋ณ€์ˆ˜ : HTTP ๋ฉ”์„œ๋“œ๋ฅผ ํ†ตํ•ด ํด๋ผ์ด์–ธํŠธ์—์„œ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๋ฌธ์ž์—ด๋กœ ์ „๋‹ฌ๋œ๋‹ค. ์„œ๋ธ”๋ฆฟ์ด๋‚˜ JSP์—์„œ ์ฐธ์กฐ๋Š” ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ๋ฐ›์€ ๊ฐ’์€ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์—†๋‹ค.
  • ์š”์ฒญ ์Šค์ฝ”ํ”„ : ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„์—์„œ ์ œ๊ณต๋œ๋Š” ๊ตฌ์กฐ๋กœ, ํฌ์›Œ๋“œ ์ „ํ›„์— ์ž๋ฐ” ๊ฐ์ฒด๋ฅผ ๊ณต์œ ํ•  ์ˆ˜ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ HTTP ์š”์ฒญ์„ 1ํšŒ ์ฒ˜๋ฆฌํ•˜๋Š” ๋™์•ˆ๋งŒ ์œ ํšจํ•˜๋ฏ€๋กœ ์š”์ฒญ ์ฒ˜๋ฆฌ๊ฐ€ ์ข…๋ฃŒ๋˜๋ฉด ์š”์ฒญ ์Šค์ฝ”ํ”„์— ๋‹ด๊ฒผ๋˜ ์ •๋ณด๋Š” ์‚ฌ๋ผ์ง„๋‹ค. ์ฆ‰ ๋ฆฌ๋‹ค์ด๋ ‰ํŠธ์—์„œ๋Š” ์ •๋ณด๋ฅผ ์ธ๊ณ„ํ•  ์ˆ˜ ์—†๋‹ค.

์š”์ฒญ ์Šค์ฝ”ํ”„๊ฐ€ ํ•„์š”ํ•œ ์ด์œ 

์„ธ์…˜์€ ๋ณด์กดํ•œ ์ •๋ณด๋ฅผ ์–ธ์ œ ํ•ด์ œํ•ด์•ผ ํ• ์ง€ ๋ชจ๋ฅธ๋‹ค.
์ด๋ฅผ ์„ธ์…˜ ํƒ€์ž„์•„์›ƒ์œผ๋กœ ํ•ด๊ฒฐํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์„ธ์…˜์€ ๋ฉ”๋ชจ๋ฆฌ๋„ ๋งŽ์ด ์†Œ๋น„ํ•˜๋Š” ๋‹จ์ ์ด ์žˆ๋‹ค.

์„ธ์…˜ ์Šค์ฝ”ํ”„์™€ ์š”์ฒญ ์Šค์ฝ”ํ”„์˜ ์ฐจ์ด

ย  ์„ธ์…˜ ์Šค์ฝ”ํ”„ ์š”์ฒญ ์Šค์ฝ”ํ”„
์œ ํšจ ๋ฒ”์œ„ ์„ธ์…˜ ์‹œ์ž‘, ์ข…๋ฃŒ ๋˜๋Š” ํƒ€์ž„์•„์›ƒ ๋  ๋•Œ๊นŒ์ง€ ์š”์ฒญ ๋ฐ›์€ ๋‹ค์Œ ์‘๋‹ต์„ ๋Œ๋ ค์ค„ ๋•Œ๊นŒ์ง€
์‹œ์ž‘๊ณผ ์ข…๋ฃŒ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์ œ์–ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„œ๋ฒ„๊ฐ€ ์ œ์–ด
์ฃผ๋œ ์šฉ๋„ ์‚ฌ์šฉ์ž ์ •๋ณด์˜ ๋ณด์กด ํŽ˜์ด์ง€ ์ด๋™์ „ํ›„์˜ ๋ณด์กด

์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์•„ํ‚คํ…์ณ

๊ฑด์ถ•์„ ํ•  ๋•Œ ๊ผผ๊ผผํ•œ ์„ค๊ณ„๋ฅผ ํ•˜๋“ฏ, ์†Œํ”„ํŠธ์›จ์–ด๋„ ๊ฐœ๋ฐœ ์ดˆ๊ธฐ์— ์ „์ฒด์ ์ธ ๊ตฌ์กฐ๋ฅผ ์ฒ ์ €ํžˆ ๊ฒ€ํ† ํ•ด์•ผํ•œ๋‹ค.

  • ์•„ํ‚คํ…์ฒ˜ : ์†Œํ”„ํŠธ์›จ์–ด๋Š” ํ•„์—ฐ์ ์œผ๋กœ ๋‹ฎ์€ ๋ถ€๋ถ„์ด ๋‚˜ํƒ€๋‚˜๋Š”๋ฐ, ์ด๋Ÿฐ ์„ค๊ณ„ ์Šคํƒ€์ผ๊ณผ ์„ค๊ณ„์— ๋ฐ”ํƒ•์„ ๋‘” ์ „์ฒด ๊ตฌ์กฐ

โž• ์ž๋ฐ”๋ฅผ ๋ถ€ํ’ˆํ™”ํ•˜๊ธฐ ์œ„ํ•œ ๋ฐฉ๋ฒ• - JavaBeans

์ž๋ฐ” ํด๋ž˜์Šค๋ฅผ ๋ถ€ํ’ˆํ™”ํ•˜๊ธฐ ์œ„ํ•œ ๊ฒƒ์œผ๋กœ, ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ๋Š” ๋‹จ์ˆœํžˆ ๋ฐ์ดํ„ฐ๋ฅผ ๋ณด์กดํ•˜๊ธฐ ์œ„ํ•œ ํด๋ž˜์Šค ์ •๋„์˜ ์˜๋ฏธ๋ฐ–์— ์—†๋‹ค.
์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ž๋ฐ”๋นˆ์ฆˆ๋Š” ํ•„๋“œ์— ๋Œ€์‘ํ•˜๋Š” ์„ธํ„ฐ์™€ ๊ฒŒํ„ฐ๊ฐ€ ์กด์žฌํ•œ๋‹ค.

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๊ณ ์œ  ์ฒ˜๋ฆฌ๋ฅผ ๋น„์ฆˆ๋‹ˆ์ด๋ผ๊ณ  ํ•œ๋‹ค.
๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์€ ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค์— ์˜ํ–ฅ๋ฐ›์ง€ ์•Š๊ณ  ์กด์žฌํ•˜๋Š” ๋ถ€๋ถ„์ด๋‹ค.
ex) ํšŒ์› ๊ด€๋ฆฌ ์„œ๋น„์Šค๋ฅผ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์•„๋‹ˆ๋ผ GUI ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์œผ๋กœ ๊ตฌํ˜„ํ•œ๋‹ค๋ฉด, ํ™”๋ฉด ๊ตฌํ˜„ ๋ฐฉ๋ฒ•์€ ๋‹ฌ๋ผ์ง€์ง€๋งŒ ๋กœ๊ทธ์ธ ์ฒ˜๋ฆฌ๋Š” ๊ฐ™๋‹ค.

JDBC๋ฅผ ํ†ตํ•œ DB ์ ‘๊ทผ

์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋กœ๋ถ€ํ„ฐ ์ •๋ณด๋ฅผ ์–ป๊ธฐ ์œ„ํ•œ API๋กœ JDBC๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค.

  • ๋ฐ์ดํ„ฐ ์†Œ์Šค ํš๋“ : ๋ฐ์ดํ…๋ฒ ์ด์Šค์— ๋Œ€ํ•œ ์ ‘์†์„ ๊ตฌํ•˜๊ธฐ ์œ„ํ•œ ๊ฐ์ฒด
  • ์—ฐ๊ฒฐ ํš๋“
  • SQL์˜ ์‹คํ–‰
  • SQL ์‹คํ–‰ ๊ฒฐ๊ณผ์˜ ์ทจ๋“

JDBC๋ฅผ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ ๋‹จ์ 

๋‹จ์ˆœํ•œ ์ฟผ๋ฆฌ์—๋„ ๋ฐฉ๋Œ€ํ•œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•ด์•ผํ•œ๋‹ค.

MVC + Layered Architecture

Layered Architecture์€ ์‹œ์Šคํ…œ์„ ๊ณ„์ธตํ™”ํ•˜๊ณ  ํ•˜์œ„ ๋ ˆ์ด์–ด๊ฐ€ ์ œ๊ณตํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ƒ์œ„ ๋ ˆ์ด์–ด๊ฐ€ ์ด์šฉํ•จ์œผ๋กœ ๊ฐ ๋ ˆ์ด์–ด ๊ตฌ์กฐ๋ฅผ ๋‹จ์ˆœํ™”ํ•œ๋‹ค.
๊ฐ ๋ ˆ์ด์–ด๋ฅผ ๋จผ์ œ 3 ๊ณ„์ธต์œผ๋กœ ๋ถ„๋ฆฌํ•œ๋‹ค.

  • ํ”„๋ ˆ์  ํ…Œ์ด์…˜ ๋ ˆ์ด์–ด : ์‚ฌ์šฉ์ž์™€์˜ ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๋‹ด๋‹นํ•˜๋Š” ๋ ˆ์ด์–ด
  • ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง ๋ ˆ์ด์–ด : ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ๊ตฌํ˜„ํ•ด์•ผ ํ•  ๊ณ ์œ ์˜ ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•œ ๋ ˆ์ด์–ด
  • ๋ฐ์ดํ„ฐ ์—‘์„ธ์Šค ๋ ˆ์ด์–ด : ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง ๋ ˆ์ด์–ด์™€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ค‘๊ฐœํ•˜๊ธฐ ์œ„ํ•œ ๋ ˆ์ด์–ด. ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง์—์„œ ๋ถ„๋ฆฌํ•ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ฐ๊ฒฐ ์ ˆ์ฐจ๋ฅผ ์˜์‹ํ•˜์ง€ ์•Š๊ฒŒ ํ•ด์ค€๋‹ค.

์ปจํŠธ๋กค๋Ÿฌ์™€ ๋ทฐ๋Š” ํ”„๋ ˆ์  ํ…Œ์ด์…˜ ๋ ˆ์ด์–ด์ด๋ฉฐ, ๋ชจ๋ธ์€ ๋น„์ฆˆ๋‹ˆ์Šค ๋กœ์ง ๋ ˆ์ด์–ด์™€ ๋ฐ์ดํ„ฐ ์—‘์„ธ์Šค ๋ ˆ์ด์–ด๊ฐ€ ๋œ๋‹ค.

DAO ํŒจํ„ด์„ ์ด์šฉํ•œ ๋ฐ์ดํ„ฐ ์•ก์„ธ์Šค ๋ ˆ์ด์–ด์˜ ๊ตฌํ˜„

DAO์˜ ์—ญํ• ์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ ‘์†์„ ์€ํํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

RDB์™€ ๊ฐ์ฒด์˜ ์ž„ํ”ผ๋˜์Šค ๋ถˆ์ผ์น˜

OR ๋งคํ•‘์€ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์˜ ๊ฐ์ฒด์™€ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ๋Œ€์‘์‹œํ‚จ๋‹ค.
๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ ๋ฒ ์ด์Šค๋Š” ์—ฌ๋Ÿฌ ๊ฐœ์˜ ํ…Œ์ด๋ธ”๊ณผ ๊ทธ ๊ด€๊ณ„๋ฅผ ์ด์šฉํ•ด ์ •๋ณด๋ฅผ ๊ด€๋ฆฌํ•œ๋‹ค.
๊ฐ์ฒด์™€ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋Š” ๋ณธ์งˆ์ ์œผ๋กœ๋Š” ๊ฐ™์€ ์ •๋ณด์ด์ง€๋งŒ, ํ‘œํ˜„ ๋ฐฉ๋ฒ•์—๋Š” ํฐ ์ฐจ์ด๊ฐ€ ์žˆ์„ ์ˆ˜ ์žˆ๋‹ค.
์ด๋ฅผ ์ž„ํ”ผ๋˜์Šค ๋ถˆ์ผ์น˜๋ผ๊ณ  ํ•œ๋‹ค.

์ด๋Ÿฐ ์ž„ํ”ผ๋˜์Šค ๋ถˆ์ผ์น˜๋ฆƒ ํ•ด๊ฒฐํ•ด์ฃผ๋Š” ๊ฒƒ์ด ๋ฐ”๋กœ OR ๋งคํ•‘ ํ”„๋ ˆ์ž„ ์›Œํฌ์ด๋‹ค.
(์ด ๋ฐ–์—๋„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€์˜ ์ ‘์†์„ ๊ด€๋ฆฌํ•˜๊ฑฐ๋‚˜, ์ •๋ณด๋ฅผ ์บ์‹ฑํ•ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ ‘์†์„ ๋น ๋ฅด๊ฒŒ ํ•˜๋Š” ๋“ฑ์˜ ๊ธฐ๋Šฅ๋„ ์ œ๊ณตํžŒ๋‹ค.)

์•„์ด๋ฐ”ํ‹ฐ์Šค๋ฅผ ์ด์šฉํ•˜๋ฉด SQL์ด๋‚˜ ํ…Œ์ด๋ธ”์˜ ๊ตฌ์„ฑ์ด ๋ณ€๊ฒฝ๋˜๋”๋ผ๋„ ์†Œ์Šค์ฝ”๋“œ๊ฐ€ ์•„๋‹ˆ๋ผ SQL ์•ฑ ํŒŒ์ผ๋งŒ ๋ฐ”๊พธ๋ฉด ๋˜์–ด ๋ณ€๊ฒฝํ•˜๊ธฐ ์‰ฝ๋‹ค.

ํ”„๋ ˆ์ž„์›Œํฌ ์ด์šฉ์˜ ์žฅ์ ๊ณผ ๋‹จ์ 

์žฅ์ 

  • ์„ค๊ณ„, ๊ฐœ๋ฐœ ๊ณต์ˆ˜์˜ ์ ˆ๊ฐ : ์•„์ด๋ฐ”ํ‹ฐ์Šค๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์—ฐ๊ฒฐ์— ๊ด€ํ•œ ๋Œ€๋ถ€๋ถ„์˜ ์ฒ˜๋ฆฌ๋ฅผ ๋Œ€์‹  ํ•ด์ค€๋‹ค.
  • ํ’ˆ์งˆ ํ–ฅ์ƒ
  • ํ…Œ์ŠคํŠธ ๊ณต์ˆ˜์˜ ์ ˆ๊ฐ

๋‹จ์ 

  • ํ•™์Šต ๋น„์šฉ์˜ ์ฆ๋Œ€
  • ์„ค๊ณ„์˜ ์ž์œ ๋„ ์ €ํ•˜
  • ์žฅ๊ธฐ์ ์ธ ๊ธฐ์ˆ ๋ ฅ์˜ ์ €ํ•˜