2023๋…„ 3์›” 21์ผยท3๋ถ„ ์ฝ๊ธฐ

CRUD ์ž‘์—… โ€“ CRUD๋ž€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

CRUD ์ž‘์—… ๋ฐฐ์šฐ๊ธฐ - ์›น ๊ฐœ๋ฐœ์— ํ•„์ˆ˜์ ์ž…๋‹ˆ๋‹ค. ์‹ค์šฉ์ ์ธ ์˜ˆ์™€ ํŒ์ด ํฌํ•จ๋œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ƒ์„ฑ, ์ฝ๊ธฐ, ์—…๋ฐ์ดํŠธ ๋ฐ ์‚ญ์ œํ•ฉ๋‹ˆ๋‹ค.

CRUD ์ž‘์—… โ€“ CRUD๋ž€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

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

CRUD ๋ž€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ?

Create, Read, Update ๋ฐ Delete์˜ ์•ฝ์–ด์ธ CRUD ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ๋‚ด์—์„œ ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ ๋ฐ ์กฐ์ž‘์—์„œ ์ˆ˜ํ–‰๋˜๋Š” ๋„ค ๊ฐ€์ง€ ํ•„์ˆ˜ ์ž‘์—…์„ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์ž‘์—…์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋˜๋Š” ๋ฐ์ดํ„ฐ ์Šคํ† ๋ฆฌ์ง€ ์‹œ์Šคํ…œ๊ณผ ์ƒํ˜ธ ์ž‘์šฉํ•˜๋Š” ๋Œ€๋ถ€๋ถ„์˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์ค‘์ถ”๋ฅผ ํ˜•์„ฑํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์‚ฌ์šฉ์ž๊ฐ€ ์˜จ๋ผ์ธ ์ƒ์ ์— ์ œํ’ˆ์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ๋Š” ์ „์ž ์ƒ๊ฑฐ๋ž˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ƒ๊ฐํ•ด ๋ณด์‹ญ์‹œ์˜ค. "๋งŒ๋“ค๊ธฐ" ์ž‘์—…์„ ํ†ตํ•ด ์‚ฌ์šฉ์ž๋Š” ์ƒˆ ์ œํ’ˆ์„ ์ถ”๊ฐ€ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ "์ฝ๊ธฐ" ์ž‘์—…์€ ํ‘œ์‹œํ•  ์ œํ’ˆ ์ •๋ณด๋ฅผ ๊ฒ€์ƒ‰ํ•ฉ๋‹ˆ๋‹ค.

์ƒ์  ์†Œ์œ ์ž๊ฐ€ ์ œํ’ˆ ์„ธ๋ถ€ ์ •๋ณด ๋˜๋Š” ๊ฐ€๊ฒฉ์„ ์—…๋ฐ์ดํŠธํ•˜๋ฉด "์—…๋ฐ์ดํŠธ" ์ž‘์—…์ด ์‹œ์ž‘๋ฉ๋‹ˆ๋‹ค. ๋งˆ์ง€๋ง‰์œผ๋กœ ์ œํ’ˆ์„ ๋” ์ด์ƒ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๊ฑฐ๋‚˜ ์ œ๊ฑฐํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ "์‚ญ์ œ" ์ž‘์—…์ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ CRUD ์ž‘์—…์„ ๊ตฌํ˜„ํ•จ์œผ๋กœ์จ ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์ž๋Š” ํฌ๊ด„์ ์ด๊ณ  ์ง๊ด€์ ์ธ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ์ œ๊ณตํ•˜์—ฌ ๊ธฐ๋ณธ ๋ฐ์ดํ„ฐ์™€ ์›ํ™œํ•˜๊ฒŒ ์ƒํ˜ธ ์ž‘์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. CRUD ์ž‘์—…์˜ ๊ตฌํ˜„์€ ์ข…์ข… SQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค, NoSQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋˜๋Š” RESTful API ์™€ ๊ฐ™์ด ์‚ฌ์šฉ๋˜๋Š” ๊ธฐ์ˆ  ์Šคํƒ์— ๋”ฐ๋ผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค.

CRUD ์˜ ์ด์ 

์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์—์„œ CRUD ์ž‘์—…์˜ ์ด์ ์€ ๋‹ค์–‘ํ•˜๋ฉฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ํšจ์œจ์„ฑ, ์œ ์ง€ ๊ด€๋ฆฌ์„ฑ ๋ฐ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์— ํฌ๊ฒŒ ๊ธฐ์—ฌํ•ฉ๋‹ˆ๋‹ค. ์ฃผ์š” ์ด์  ์ค‘ ์ผ๋ถ€๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • ํ‘œ์ค€ํ™” : CRUD ์ž‘์—…์€ ๋ฐ์ดํ„ฐ ์Šคํ† ๋ฆฌ์ง€ ์‹œ์Šคํ…œ๊ณผ ์ƒํ˜ธ ์ž‘์šฉํ•˜๊ธฐ ์œ„ํ•œ ๊ณตํ†ต ํ”„๋ ˆ์ž„์›Œํฌ๋ฅผ ์„ค์ •ํ•˜์—ฌ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋‹ค์–‘ํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐ ํ”Œ๋žซํผ์„ ์‰ฝ๊ฒŒ ์ดํ•ดํ•˜๊ณ  ์ž‘์—…ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.

  • ๋‹จ์ˆœํ™”๋œ ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค : CRUD ๋ชจ๋ธ์„ ๊ณ ์ˆ˜ํ•จ์œผ๋กœ์จ ๊ฐœ๋ฐœ์ž๋Š” ๋ฐ์ดํ„ฐ ์กฐ์ž‘์„ ์œ„ํ•ด ๊ตฌํ˜„ํ•  ๋ช…ํ™•ํ•œ ์ž‘์—… ์„ธํŠธ๊ฐ€ ์žˆ์œผ๋ฏ€๋กœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์ž‘์„ฑ ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ฐ„์†Œํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์ผ๊ด€๋˜๊ณ  ํšจ์œจ์ ์ธ ๊ฐœ๋ฐœ ๊ด€ํ–‰์„ ์ด‰์ง„ํ•ฉ๋‹ˆ๋‹ค.

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

  • ํ–ฅ์ƒ๋œ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜ : CRUD ์ž‘์—…์„ ๊ตฌํ˜„ํ•˜๋ฉด ์‚ฌ์šฉ์ž๊ฐ€ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋‚ด์—์„œ ๋ฐ์ดํ„ฐ ์ƒ์„ฑ, ์ฝ๊ธฐ, ์—…๋ฐ์ดํŠธ ๋ฐ ์‚ญ์ œ์™€ ๊ฐ™์€ ํ•„์ˆ˜ ์ž‘์—…์„ ์›ํ™œํ•˜๊ฒŒ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ ๊ฒฐ๊ณผ ์ง๊ด€์ ์ด๊ณ  ๋งŒ์กฑ์Šค๋Ÿฌ์šด ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์ด ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.

  • ๋ชจ๋“ˆ์„ฑ๊ณผ ์œ ์—ฐ์„ฑ : CRUD ๊ธฐ๋ฐ˜ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ๊ด€์‹ฌ์‚ฌ๋ฅผ ๋ถ„๋ฆฌํ•˜๋ฉด ๋ชจ๋“ˆ์„ฑ๊ณผ ์œ ์—ฐ์„ฑ์ด ์ด‰์ง„๋ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ์ „์ฒด ์‹œ์Šคํ…œ์— ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š๊ณ  ํŠน์ • ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ๋ถ€๋ถ„์„ ์‰ฝ๊ฒŒ ์ˆ˜์ •ํ•˜๊ฑฐ๋‚˜ ํ™•์žฅํ•  ์ˆ˜ ์žˆ์Œ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

  • ํ™•์žฅ์„ฑ : CRUD ๋ชจ๋ธ์— ๋”ฐ๋ผ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์€ ์ฆ๊ฐ€ํ•˜๋Š” ๋ฐ์ดํ„ฐ ๋˜๋Š” ์‚ฌ์šฉ์ž ์š”๊ตฌ๋ฅผ ์ˆ˜์šฉํ•˜๊ธฐ ์œ„ํ•ด ๋ณด๋‹ค ์‰ฝ๊ฒŒ ํ™•์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ์— ๋Œ€ํ•œ ํ‘œ์ค€ํ™”๋œ ์ ‘๊ทผ ๋ฐฉ์‹์„ ํ†ตํ•ด ๊ฐœ๋ฐœ์ž๋Š” ์„ฑ๋Šฅ์„ ์ตœ์ ํ™”ํ•˜๊ณ  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์ฆ๊ฐ€๋œ ์›Œํฌ๋กœ๋“œ๋ฅผ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.

  • ๋‹ค์–‘ํ•œ ๊ธฐ์ˆ ๊ณผ์˜ ํ˜ธํ™˜์„ฑ : CRUD ์ž‘์—…์€ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค, NoSQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค, RESTful API ๋ฐ GraphQL ์„ ๋น„๋กฏํ•œ ๋‹ค์–‘ํ•œ ๊ธฐ์ˆ ์— ์ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋‹ค์–‘์„ฑ์œผ๋กœ ์ธํ•ด ๊ฐœ๋ฐœ์ž๋Š” CRUD ๊ธฐ๋ฐ˜ ์‹œ์Šคํ…œ์„ ๋‹ค์–‘ํ•œ ๊ธฐ์ˆ  ์Šคํƒ์— ์ฑ„ํƒํ•˜๊ณ  ํ†ตํ•ฉํ•˜๊ธฐ๊ฐ€ ๋” ์‰ฝ์Šต๋‹ˆ๋‹ค.

CREATE ์ž‘์—…์ด๋ž€ ๋ฌด์—‡์ด๋ฉฐ ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•ฉ๋‹ˆ๊นŒ?

๋„ค ๊ฐ€์ง€ CRUD ์ž‘์—… ์ค‘ ์ฒซ ๋ฒˆ์งธ์ธ CREATE ์ž‘์—…์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋˜๋Š” API ์™€ ๊ฐ™์€ ๋ฐ์ดํ„ฐ ์Šคํ† ๋ฆฌ์ง€ ์‹œ์Šคํ…œ์— ์ƒˆ ๋ฐ์ดํ„ฐ ํ•ญ๋ชฉ ๋˜๋Š” ๊ฐœ์ฒด๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์—์„œ CREATE ์ž‘์—…์„ ํ†ตํ•ด ์‚ฌ์šฉ์ž๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋‚ด์—์„œ ์ƒˆ ๋ ˆ์ฝ”๋“œ ๋˜๋Š” ๋ฆฌ์†Œ์Šค๋ฅผ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์‚ฌ์šฉ์ž๊ฐ€ ์†Œ์…œ ๋ฏธ๋””์–ด ํ”Œ๋žซํผ์— ๊ฐ€์ž…ํ•˜๋ฉด CREATE ์ž‘์—…์€ ์‚ฌ์šฉ์ž ์ด๋ฆ„, ์ด๋ฉ”์ผ, ๋น„๋ฐ€๋ฒˆํ˜ธ์™€ ๊ฐ™์€ ์‚ฌ์šฉ์ž ์ •๋ณด๋ฅผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ์ด ํ”„๋กœ์„ธ์Šค์—๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ์ž…๋ ฅ ์ˆ˜์‹ , ๋ฐ์ดํ„ฐ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ ๋ฐ ์ƒˆ ๋ฐ์ดํ„ฐ ๋ชจ๋ธ ์ธ์Šคํ„ด์Šค(์˜ˆ: ์‚ฌ์šฉ์ž ๊ฐœ์ฒด) ๊ตฌ์„ฑ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

์ƒˆ ์ธ์Šคํ„ด์Šค๊ฐ€ ์ค€๋น„๋˜๋ฉด CREATE ์ž‘์—…์€ ์ด๋ฅผ ๋ฐ์ดํ„ฐ ์Šคํ† ๋ฆฌ์ง€ ์‹œ์Šคํ…œ์— ์‚ฝ์ž…ํ•˜๊ณ  ํ–ฅํ›„ ๊ฒ€์ƒ‰ ๋ฐ ์ˆ˜์ •์„ ์œ„ํ•œ ๊ณ ์œ  ์‹๋ณ„์ž๋ฅผ ํ• ๋‹นํ•ฉ๋‹ˆ๋‹ค. CREATE ์ž‘์—…์˜ ๊ตฌํ˜„์€ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ SQL "INSERT" ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๊ฑฐ๋‚˜ RESTful API์— HTTP "POST" ์š”์ฒญ์„ ๋งŒ๋“œ๋Š” ๊ฒƒ๊ณผ ๊ฐ™์ด ์‚ฌ์šฉ๋˜๋Š” ๊ธฐ์ˆ  ์Šคํƒ์— ๋”ฐ๋ผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค. ์ƒˆ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์ œ๊ณตํ•จ์œผ๋กœ์จ CREATE ์ž‘์—…์€ ๊ฐœ๋ฐœ์ž๊ฐ€ ์‚ฌ์šฉ์ž ์ž…๋ ฅ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์ง€์†์ ์œผ๋กœ ๋ฐœ์ „ํ•˜๋Š” ๋™์  ๋Œ€ํ™”ํ˜• ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.

READ ์ž‘์—…์ด๋ž€ ๋ฌด์—‡์ด๋ฉฐ ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•ฉ๋‹ˆ๊นŒ?

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

๋ฐ์ดํ„ฐ๊ฐ€ ๊ฒ€์ƒ‰๋˜๋ฉด ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์˜ ์ธํ„ฐํŽ˜์ด์Šค ๋‚ด์—์„œ ์‚ฌ์šฉ์ž์—๊ฒŒ ์นœ์ˆ™ํ•˜๋„๋ก ๋ณ€ํ™˜๋˜๊ฑฐ๋‚˜ ํ˜•์‹์ด ์ง€์ •๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค. READ ์ž‘์—…์˜ ๊ตฌํ˜„์€ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ SQL "SELECT" ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๊ฑฐ๋‚˜ RESTful API์— ๋Œ€ํ•œ HTTP "GET" ์š”์ฒญ์„ ๋งŒ๋“œ๋Š” ๊ฒƒ๊ณผ ๊ฐ™์ด ์‚ฌ์šฉ๋˜๋Š” ๊ธฐ์ˆ  ์Šคํƒ์— ๋”ฐ๋ผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค. READ ์ž‘์—…์„ ํ†ตํ•ด ๊ฐœ๋ฐœ์ž๋Š” ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ์— ์•ก์„ธ์Šคํ•˜๊ณ  ํ‘œ์‹œํ•˜๋Š” ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์ œ๊ณตํ•˜์—ฌ ๋‹ค์–‘ํ•œ ์‚ฌ์šฉ์ž ์š”๊ตฌ์™€ ๊ธฐ๋ณธ ์„ค์ •์„ ์ถฉ์กฑํ•˜๋Š” ํ’๋ถ€ํ•˜๊ณ  ์œ ์ตํ•˜๋ฉฐ ๋งค๋ ฅ์ ์ธ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

UPDATE ์ž‘์—…์ด๋ž€ ๋ฌด์—‡์ด๋ฉฐ ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•ฉ๋‹ˆ๊นŒ?

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์‹œ๊ฐ์ ์œผ๋กœ ๋ชจ๋ธ๋ง
PostgreSQL ํ…Œ์ด๋ธ”์„ ์‹œ๊ฐ์ ์œผ๋กœ ์„ค๊ณ„ํ•œ ๋’ค ๋™์ผํ•œ ์Šคํ‚ค๋งˆ๋กœ ๋ฐฑ์—”๋“œ์™€ ์›น ์•ฑ์„ ์ƒ์„ฑํ•˜์„ธ์š”.
๋ฐ์ดํ„ฐ ๋ชจ๋ธ๋ง

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

UPDATE ์ž‘์—…์€ ๋ ˆ์ฝ”๋“œ์˜ ๋‚ด์šฉ์„ ๋ณ€๊ฒฝํ•˜๋Š” ๋™์•ˆ ๋ ˆ์ฝ”๋“œ์˜ ๊ณ ์œ  ์‹๋ณ„์ž๋ฅผ ๋ณด์กดํ•˜์—ฌ ๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ๊ณผ ์ผ๊ด€์„ฑ์„ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค. UPDATE ์ž‘์—…์˜ ๊ตฌํ˜„์€ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ SQL " UPDATE " ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๊ฑฐ๋‚˜ RESTful API์— HTTP "PUT" ๋˜๋Š” "PATCH" ์š”์ฒญ์„ ํ•˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™์ด ์‚ฌ์šฉ๋˜๋Š” ๊ธฐ์ˆ  ์Šคํƒ์— ๋”ฐ๋ผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค. ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์ˆ˜์ •ํ•˜๋Š” ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์ œ๊ณตํ•จ์œผ๋กœ์จ UPDATE ์ž‘์—…์„ ํ†ตํ•ด ๊ฐœ๋ฐœ์ž๋Š” ์‚ฌ์šฉ์ž ์ƒํ˜ธ ์ž‘์šฉ ๋ฐ ๋ณ€ํ™”ํ•˜๋Š” ์š”๊ตฌ ์‚ฌํ•ญ์— ๋”ฐ๋ผ ์ง„ํ™”ํ•  ์ˆ˜ ์žˆ๋Š” ์ ์‘ ๊ฐ€๋Šฅํ•˜๊ณ  ์‘๋‹ต์„ฑ์ด ๋›ฐ์–ด๋‚œ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

DELETE ์ž‘์—…์ด๋ž€ ๋ฌด์—‡์ด๋ฉฐ ์–ด๋–ป๊ฒŒ ์ž‘๋™ํ•ฉ๋‹ˆ๊นŒ?

CRUD ํ”„๋ ˆ์ž„์›Œํฌ์˜ ๋งˆ์ง€๋ง‰ ์ธก๋ฉด์ธ DELETE ์ž‘์—…์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋‚˜ API์™€ ๊ฐ™์€ ์Šคํ† ๋ฆฌ์ง€ ์‹œ์Šคํ…œ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ์ œ๊ฑฐํ•˜๋Š” ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ์—์„œ DELETE ์ž‘์—…์„ ํ†ตํ•ด ์‚ฌ์šฉ์ž๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋‚ด์˜ ํŠน์ • ๋ ˆ์ฝ”๋“œ๋‚˜ ๋ฆฌ์†Œ์Šค๋ฅผ ์˜๊ตฌ์ ์œผ๋กœ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์‚ฌ์šฉ์ž๊ฐ€ ๋ธ”๋กœ๊ทธ ํ”Œ๋žซํผ์—์„œ ๊ฒŒ์‹œ๋ฌผ์„ ์ œ๊ฑฐํ•˜๋ฉด DELETE ์ž‘์—…์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ๊ด€๋ จ ๋ฐ์ดํ„ฐ๋ฅผ ์ œ๊ฑฐํ•ฉ๋‹ˆ๋‹ค. ์ด ํ”„๋กœ์„ธ์Šค์—๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ๊ณ ์œ  ์‹๋ณ„์ž๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์‚ญ์ œํ•  ๋ ˆ์ฝ”๋“œ ๋˜๋Š” ๋ฆฌ์†Œ์Šค๋ฅผ ์ฐพ๊ณ  ๋ฐ์ดํ„ฐ ์Šคํ† ๋ฆฌ์ง€ ์‹œ์Šคํ…œ์—์„œ ์ œ๊ฑฐํ•˜๋ผ๋Š” ๋ช…๋ น์„ ๋‚ด๋ฆฌ๋Š” ์ž‘์—…์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ์™ธ๋ž˜ ํ‚ค ์ œ์•ฝ ์กฐ๊ฑด ๋˜๋Š” RESTful API์˜ ์ข…์† ๋ฆฌ์†Œ์Šค์™€ ๊ฐ™์€ ๊ด€๋ จ ๋ฐ์ดํ„ฐ๋ฅผ ์ ์ ˆํ•˜๊ฒŒ ์ฒ˜๋ฆฌํ•˜์—ฌ ์‚ญ์ œ ํ”„๋กœ์„ธ์Šค์—์„œ ๋ฐ์ดํ„ฐ ๋ฌด๊ฒฐ์„ฑ๊ณผ ์ผ๊ด€์„ฑ์„ ์œ ์ง€ํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. DELETE ์ž‘์—… ๊ตฌํ˜„์€ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ SQL " DELETE " ๋ช…๋ น์„ ์‹คํ–‰ํ•˜๊ฑฐ๋‚˜ RESTful API์— HTTP " DELETE " ์š”์ฒญ์„ ํ•˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™์ด ์‚ฌ์šฉ๋˜๋Š” ๊ธฐ์ˆ  ์Šคํƒ์— ๋”ฐ๋ผ ๋‹ค๋ฆ…๋‹ˆ๋‹ค. ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์ œ๊ฑฐํ•˜๋Š” ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ์ œ๊ณตํ•จ์œผ๋กœ์จ DELETE ์ž‘์—…์€ ๊ฐœ๋ฐœ์ž๊ฐ€ ์‚ฌ์šฉ์ž ์š”๊ตฌ ์‚ฌํ•ญ์— ์ ์‘ํ•˜๊ณ  ๋ฐ์ดํ„ฐ ๋ณด์กด ์ •์ฑ…์„ ์ค€์ˆ˜ํ•˜๋ฉฐ ์Šคํ† ๋ฆฌ์ง€ ๋ฆฌ์†Œ์Šค๋ฅผ ์ตœ์ ํ™”ํ•  ์ˆ˜ ์žˆ๋Š” ์œ ์—ฐํ•˜๊ณ  ๊ด€๋ฆฌ ๊ฐ€๋Šฅํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.

๊ฒฐ๋ก 

CRUD ๋น„์ฆˆ๋‹ˆ์Šค ๊ทœ์น™ ์ถ”๊ฐ€
๊ฐ CRUD ์ž‘์—…์— ๋Œ€ํ•ด ๋“œ๋ž˜๊ทธ ์•ค ๋“œ๋กญ ๋น„์ฆˆ๋‹ˆ์Šค ํ”„๋กœ์„ธ์Šค๋กœ ๊ฒ€์ฆ๊ณผ ์›Œํฌํ”Œ๋กœ๋ฅผ ์ถ”๊ฐ€ํ•˜์„ธ์š”.
๋กœ์ง ๊ตฌ์„ฑ

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

์‰ฌ์šด ์‹œ์ž‘
๋ฉ‹์ง„๋งŒ๋“ค๊ธฐ

๋ฌด๋ฃŒ ์š”๊ธˆ์ œ๋กœ AppMaster๋ฅผ ์‚ฌ์šฉํ•ด ๋ณด์„ธ์š”.
์ค€๋น„๊ฐ€ ๋˜๋ฉด ์ ์ ˆํ•œ ๊ตฌ๋…์„ ์„ ํƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์‹œ์ž‘ํ•˜๋‹ค
CRUD ์ž‘์—… โ€“ CRUD๋ž€ ๋ฌด์—‡์ž…๋‹ˆ๊นŒ? | AppMaster