JavaRush /Java Blog /Random-KO /๋ถ๋งˆํฌ: ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ SQL ์–ธ์–ด์— ๋Œ€ํ•ด ์•Œ์•„์•ผ ํ•  ๋ชจ๋“  ๊ฒƒ - ๊ฐ•์˜, ๊ธฐ์‚ฌ ๋ฐ ๋น„๋””์˜ค

๋ถ๋งˆํฌ: ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ SQL ์–ธ์–ด์— ๋Œ€ํ•ด ์•Œ์•„์•ผ ํ•  ๋ชจ๋“  ๊ฒƒ - ๊ฐ•์˜, ๊ธฐ์‚ฌ ๋ฐ ๋น„๋””์˜ค

Random-KO ๊ทธ๋ฃน์— ๊ฒŒ์‹œ๋˜์—ˆ์Šต๋‹ˆ๋‹ค
JavaRush ํ•™์ƒ๋“ค์˜ ํŽธ์˜๋ฅผ ์œ„ํ•ด ์šฐ๋ฆฌ๋Š” ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ์ฃผ์ œ์— ๊ด€ํ•œ ๊ฐ•์˜์™€ ๊ธฐ์‚ฌ๋ฅผ ์ˆ˜์ง‘ํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์Šต๋‹ˆ๋‹ค. ์—ดํ•œ ๋ฒˆ์งธ ์„ ํƒ ํ•ญ๋ชฉ์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ SQL ์ฟผ๋ฆฌ ์–ธ์–ด์— ๊ด€ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ฏธ๋‹ˆ ๊ฐ€์ด๋“œ์—์„œ๋Š” ๊ธฐ์‚ฌ์˜ ๋ณธ์งˆ์„ ๊ฐ„๋žตํ•˜๊ฒŒ ์„ค๋ช…ํ•˜๊ณ  ์žˆ์œผ๋ฉฐ, ๋งํฌ๋ฅผ ๋”ฐ๋ผ๊ฐ€๋ฉด ๊ด€์‹ฌ ์žˆ๋Š” ์ฃผ์ œ์— ๋Œ€ํ•ด ์ž์„ธํžˆ ์•Œ์•„๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ถ๋งˆํฌ์— ์ปฌ๋ ‰์…˜์„ ์ถ”๊ฐ€ํ•˜๊ณ  ํ•„์š”ํ•  ๋•Œ ๋‹ค์‹œ ๋ฐฉ๋ฌธํ•˜์„ธ์š”. ๋ถ๋งˆํฌ: ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ SQL ์–ธ์–ด์— ๋Œ€ํ•ด ์•Œ์•„์•ผ ํ•  ๋ชจ๋“  ๊ฒƒ - ๊ฐ•์˜, ๊ธฐ์‚ฌ ๋ฐ ๋น„๋””์˜ค - 1

๊ธฐ์‚ฌ ๋ฐ ๊ฐ•์˜

SQL ์†Œ๊ฐœ

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

DBMS ๊ตฌ์กฐ, ํ…Œ์ด๋ธ” ๋ฐ ๋ฐ์ดํ„ฐ ์œ ํ˜•

ํ…์ŠคํŠธ์˜ ๋‘ ๋ฒˆ์งธ ๋ถ€๋ถ„์€ SQL ์†Œ๊ฐœ์— ๊ด€ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—์„œ ์ €์ž๋Š” ์ฆ๊ถŒ ๊ฑฐ๋ž˜์†Œ ์—๋ฎฌ๋ ˆ์ดํ„ฐ ์ƒ์„ฑ ์˜ˆ๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ฐ SQL์˜ ์ž‘๋™ ์›๋ฆฌ๋ฅผ ๊ณ„์† ๋ถ„์„ํ•ฉ๋‹ˆ๋‹ค.

"A๋ถ€ํ„ฐ Z๊นŒ์ง€์˜ Java ํ”„๋กœ์ ํŠธ": ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ SQL ์–ธ์–ด๋ฅผ ๋ถ„์„ํ•ฉ๋‹ˆ๋‹ค.

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

"A๋ถ€ํ„ฐ Z๊นŒ์ง€์˜ Java ํ”„๋กœ์ ํŠธ": ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ SQL ์–ธ์–ด๋ฅผ ๋ถ„์„ํ•ฉ๋‹ˆ๋‹ค. 2 ๋ถ€

๋‘ ๋ฒˆ์งธ ๋ถ€๋ถ„์—์„œ ์ €์ž๋Š” ์‹ค์Šต์— ์ค‘์ ์„ ๋‘์–ด MySQL ์„ค์น˜, ์ด ์–ธ์–ด๋กœ ์ฒซ ์ค„ ์ž‘์„ฑ ๋ฐ ์ฒซ ๋ฒˆ์งธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ƒ์„ฑ์— ๋Œ€ํ•œ ์ง€์นจ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋งˆ์ง€๋ง‰์—๋Š” ์ˆ™์ œ๋ฅผ ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

"A๋ถ€ํ„ฐ Z๊นŒ์ง€์˜ Java ํ”„๋กœ์ ํŠธ": ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ SQL ์–ธ์–ด๋ฅผ ๋ถ„์„ํ•ฉ๋‹ˆ๋‹ค. 3๋ถ€

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ถ„์„์˜ ์„ธ ๋ฒˆ์งธ ๋ถ€๋ถ„์—์„œ ์ €์ž๋Š” SELECT ์—ฐ์‚ฐ์ž, WHERE, ORDER BY, GROUP BY ๋งค๊ฐœ๋ณ€์ˆ˜์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค. ๋งˆ์ง€๋ง‰์—๋Š” ์ด์ „๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ์ˆ™์ œ๊ฐ€ ๊ธฐ๋‹ค๋ฆฌ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค.

"A๋ถ€ํ„ฐ Z๊นŒ์ง€์˜ Java ํ”„๋กœ์ ํŠธ": ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ SQL ์–ธ์–ด๋ฅผ ๋ถ„์„ํ•ฉ๋‹ˆ๋‹ค. 4๋ถ€ - ์ˆ™์ œ ํ™•์ธํ•˜๊ธฐ

์ด๋ฆ„์—์„œ ์•Œ ์ˆ˜ ์žˆ๋“ฏ์ด ๋„ค ๋ฒˆ์งธ ๋ถ€๋ถ„ ์ „์ฒด๋Š” ์ˆ™์ œ ๋ถ„์„์— ์ „๋…ํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ธ€์„ ์ฝ์–ด๋ณด์‹œ๊ธธ ๊ถŒํ•ฉ๋‹ˆ๋‹ค. ์ด ์ž‘์—…์€ ํฅ๋ฏธ๋กญ๊ณ  ์—ฌ๋Ÿฌ๋ถ„๋„ ํ•˜๊ณ  ์‹ถ์„ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

"A๋ถ€ํ„ฐ Z๊นŒ์ง€์˜ Java ํ”„๋กœ์ ํŠธ": ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ SQL ์–ธ์–ด๋ฅผ ๋ถ„์„ํ•ฉ๋‹ˆ๋‹ค. 5๋ถ€ - ์—ฐ๊ฒฐ ๋ฐ ์กฐ์ธ

๋‹ค์„ฏ ๋ฒˆ์งธ ๋ถ€๋ถ„์—์„œ ์ €์ž๋Š” ์—ฐ๊ฒฐ ๋ฐ ์กฐ์ธ์˜ ์œ ํ˜•์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•ฉ๋‹ˆ๋‹ค. ์ผ๋Œ€๋‹ค, ์ผ๋Œ€์ผ, ๋‹ค๋Œ€๋‹ค ๋ฐ ๊ธฐํƒ€ ๊ฐœ๋…์ด ๋ฌด์—‡์ธ์ง€ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

"A๋ถ€ํ„ฐ Z๊นŒ์ง€์˜ Java ํ”„๋กœ์ ํŠธ": ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ SQL ์–ธ์–ด๋ฅผ ๋ถ„์„ํ•ฉ๋‹ˆ๋‹ค. 6๋ถ€ - ์ตœ์ข… ์ž‘์—… ํ™•์ธ

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

"SQL."์ด๋ผ๋Š” ์ฑ…์˜ ๋ฆฌ๋ทฐ์ž…๋‹ˆ๋‹ค. ๋ ˆ์‹œํ”ผ ๋ชจ์Œโ€(Anthony Molinaro ์ €)

SQL์— ๋Œ€ํ•œ ์ดˆ๊ธฐ ํ•™์Šต์— ์ ํ•ฉํ•œ ์ฑ… ์˜ต์…˜์ด ์—„์ฒญ๋‚˜๊ฒŒ ๋งŽ์ง€๋งŒ ์ด ๊ฒŒ์‹œ๋ฌผ์˜ ์ž‘์„ฑ์ž๋Š” โ€œSQL. ์š”๋ฆฌ๋ฒ• ๋ชจ์Œโ€(Anthony Molinaro). ์ด ์ฑ…์˜ ํŠน์ง•์€ ๊ธฐ๋ณธ์ ์ธ ์ˆ˜์ค€์—์„œ SQL์„ ๊ณต๋ถ€ํ•˜๋Š” ๊ฒƒ ์™ธ์—๋„ ์—ฌ๋Ÿฌ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋Œ€ํ•ด ํ•œ ๋ฒˆ์— ์ต์ˆ™ํ•ด์ง€๊ณ  ํ•ด๋‹น ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋Œ€ํ•œ ์ฟผ๋ฆฌ๊ฐ€ ์–ด๋–ป๊ฒŒ ๋‹ค๋ฅธ์ง€, ํŠน์ • ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๊ธฐ๋Šฅ์€ ๋ฌด์—‡์ธ์ง€ ํ™•์ธํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๋น„์šฉ ๋ชจ๋ธ์— ์˜์กดํ•˜์ง€ ์•Š๋Š” ๋ฉ‹์ง„ SQL ์ตœ์ ํ™”์ž…๋‹ˆ๋‹ค. 1 ๋ถ€

์šฐ๋ฆฌ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ SQL์— ๋Œ€ํ•œ ์ผ๋ฐ˜์ ์ธ ์ดํ•ด์™€ DBMS์— ๋Œ€ํ•œ ์‹ค๋ฌด ๊ฒฝํ—˜์ด ์žˆ๋Š” ์‚ฌ๋žŒ๋“ค์„ ์œ„ํ•ด ๊ณ ์•ˆ๋œ Lukas Eder์˜ ๊ธฐ์‚ฌ๋ฅผ ๊ฐ์ƒ‰ํ•œ ๋‚ด์šฉ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ(์ฆ‰, ์ œ์•ฝ ์กฐ๊ฑด)์™€ ์ฟผ๋ฆฌ ์ž์ฒด๋งŒ์„ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ๋Š” 5๊ฐ€์ง€ ๊ฐ„๋‹จํ•œ ์ตœ์ ํ™”์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

๋น„์šฉ ๋ชจ๋ธ์— ์˜์กดํ•˜์ง€ ์•Š๋Š” ๋ฉ‹์ง„ SQL ์ตœ์ ํ™”์ž…๋‹ˆ๋‹ค. 2 ๋ถ€

2๋ถ€์—์„œ๋Š” EXISTS ํ•˜์œ„ ์ฟผ๋ฆฌ์—์„œ "์˜๋ฏธ ์—†๋Š”" ์กฐ๊ฑด์ž์™€ ํ”„๋กœ์ ์…˜์„ ์ œ๊ฑฐํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ด…๋‹ˆ๋‹ค.

๋น„์šฉ ๋ชจ๋ธ์— ์˜์กดํ•˜์ง€ ์•Š๋Š” ๋ฉ‹์ง„ SQL ์ตœ์ ํ™”์ž…๋‹ˆ๋‹ค. 3๋ถ€

๊ธฐ์‚ฌ์˜ ์„ธ ๋ฒˆ์งธ ๋ถ€๋ถ„์€ ์ˆ ์–ด์™€ ๋นˆ ์ง‘ํ•ฉ์˜ ๋ณ‘ํ•ฉ์„ ๋‹ค๋ฃน๋‹ˆ๋‹ค.

๋น„์šฉ ๋ชจ๋ธ์— ์˜์กดํ•˜์ง€ ์•Š๋Š” ๋ฉ‹์ง„ SQL ์ตœ์ ํ™”์ž…๋‹ˆ๋‹ค. 4๋ถ€

๋„ค ๋ฒˆ์งธ ๋ถ€๋ถ„์—์„œ๋Š” CHECK์˜ ์ œํ•œ ์‚ฌํ•ญ๊ณผ ๋ถˆํ•„์š”ํ•œ ์žฌ๊ท€ ์กฐ์ธ์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

๋น„์šฉ ๋ชจ๋ธ์— ์˜์กดํ•˜์ง€ ์•Š๋Š” ๋ฉ‹์ง„ SQL ์ตœ์ ํ™”์ž…๋‹ˆ๋‹ค. 5๋ถ€

๊ธฐ์‚ฌ์˜ ๋งˆ์ง€๋ง‰ ๋ถ€๋ถ„์—์„œ๋Š” ๊ฐœ์ฒด ํ‘ธ์‹œ์™€ ๊ฐ™์€ ์ตœ์ ํ™”์— ๋Œ€ํ•ด ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ NoSQL ๊ฐ€์ด๋“œ

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

"๋ถˆํ•„์š”ํ•˜์ง€๋งŒ ๊ผญ ํ•„์š”ํ•œ ์ž‘์—…"์œผ๋กœ ์ธํ•ด ๋ฐœ์ƒํ•˜๋Š” SQL ์„ฑ๋Šฅ ๋ฌธ์ œ

์•„๋งˆ๋„ ํšจ๊ณผ์ ์ธ SQL ์ฟผ๋ฆฌ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์šธ ์ˆ˜ ์žˆ๋Š” ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๊ฒƒ์€ ์ธ๋ฑ์‹ฑ์ผ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ๋‘ ๋ฒˆ์งธ๋Š” ๋งŽ์€ SQL ํด๋ผ์ด์–ธํŠธ๊ฐ€ "๋ถˆํ•„์š”ํ•˜์ง€๋งŒ ํ•„์š”ํ•œ ์ž‘์—…"์„ ๋งŽ์ด ์ˆ˜ํ–‰ํ•˜๊ธฐ ์œ„ํ•ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ํ•„์š”๋กœ ํ•œ๋‹ค๋Š” ์‚ฌ์‹ค์ž…๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ๋ฌด์—‡์ธ์ง€๋Š” ์ด ๊ธฐ์‚ฌ์—์„œ ๋…ผ์˜ํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

Spring Boot์˜ RESTful ์„œ๋น„์Šค์— PostgreSQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. 1 ๋ถ€

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์ด๋ฅผ Rest ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์—ฐ๊ฒฐํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•œ ์ผ๋ จ์˜ ๊ธฐ์‚ฌ์ž…๋‹ˆ๋‹ค.

Spring Boot์˜ RESTful ์„œ๋น„์Šค์— PostgreSQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค. 2 ๋ถ€

๋งˆ์ง€๋ง‰ ๋ถ€๋ถ„์—์„œ๋Š” ์ปดํ“จํ„ฐ์— PostgresSQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์„ค์น˜ํ•˜๊ณ , pgAdmin์—์„œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ƒ์„ฑํ•˜๊ณ , ๊ทธ ์•ˆ์— ํ…Œ์ด๋ธ”์„ ์ˆ˜๋™ ๋ฐ ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๋ฐฉ์‹์œผ๋กœ ์ƒ์„ฑ ๋ฐ ์‚ญ์ œํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์› ์Šต๋‹ˆ๋‹ค. ์ด ๋ถ€๋ถ„์—์„œ ์ €์ž๋Š” ๋…์ž๋“ค์—๊ฒŒ ์ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ํ…Œ์ด๋ธ”์„ ์‚ฌ์šฉํ•˜์—ฌ ์ž‘์—…ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์šธ ์ˆ˜ ์žˆ๋„๋ก ํ”„๋กœ๊ทธ๋žจ์„ ๋‹ค์‹œ ์ž‘์„ฑํ•˜๋„๋ก ๊ถŒ์œ ํ•ฉ๋‹ˆ๋‹ค.

๊ฐœ๋ฐœ์ž ์ธํ„ฐ๋ทฐ: ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์งˆ๋ฌธ ๋ถ„์„

์ด ๊ธฐ์‚ฌ์—์„œ ์ €์ž๋Š” ๊ธฐ์ˆ  ์ธํ„ฐ๋ทฐ์˜ ํ•ต์‹ฌ ์ฃผ์ œ ์ค‘ ํ•˜๋‚˜์ธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋Œ€ํ•ด ์ด์•ผ๊ธฐํ•ฉ๋‹ˆ๋‹ค. ๊ฐ€์žฅ ์ผ๋ฐ˜์ ์ธ ์งˆ๋ฌธ์„ ์‚ดํŽด๋ณด๊ณ  ์ž๋ฃŒ๋ฅผ ๊นŠ์ด ๋‹ค๋ฃจ์ง€ ์•Š๊ณ  ๋‹ต๋ณ€์„ ์‹œ๋„ํ•ฉ๋‹ˆ๋‹ค.

6์›” ์ด๋ ฅ์„œ์—์„œ: Hibernate๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์ž‘์—…์„ ์œ„ํ•œ ํ”„๋ ˆ์ž„์›Œํฌ์ž…๋‹ˆ๋‹ค.

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

๋น„๋””์˜ค

๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ณต๊ฐœ ์ธํ„ฐ๋ทฐ

Java ๊ฐœ๋ฐœ์€ ๋ฐฑ์—”๋“œ์™€ ๋ถˆ๊ฐ€๋ถ„์˜ ๊ด€๊ณ„๋กœ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๋ฐฑ์—”๋“œ๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์™€ ํ•จ๊ป˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๊ด€ํ•ด ์งˆ๋ฌธ์„ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ๊ธฐ์ˆ  ์ธํ„ฐ๋ทฐ์—์„œ ๋ฌธ์ œ์— ์ง๋ฉดํ•˜๊ณ  ์‹ถ์ง€ ์•Š๋‹ค๋ฉด Podlodka Backend Crew ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ…Œ์ŠคํŠธ ์ธํ„ฐ๋ทฐ ์ŠคํŠธ๋ฆผ์„ ์‹œ์ฒญํ•˜์„ธ์š”. SQL, NoSQL, NewSQL๊ณผ ๊ฐ™์€ ๊ฐ€์žฅ ์ผ๋ฐ˜์ ์ธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ฐ๊ฐ์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๋ฐ ํŠน์ • ๊ธฐ์ˆ  ์†”๋ฃจ์…˜ ์ž‘์—… ์ด๋ก ์„ ๋ฐฐ์šฐ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

์ž๋ฐ” | ํด๋ผ์šฐ๋“œ์˜ MongoDB

MongoDB DBMS๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ IntelliJ IDEA ํ”„๋กœ์ ํŠธ๋ฅผ Amazon Web Services ํด๋ผ์šฐ๋“œ์— ์—ฐ๊ฒฐํ•˜๋ ค๋ฉด IDE ๊ธฐ์ˆ ๋งŒ์œผ๋กœ๋Š” ์ถฉ๋ถ„ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ฐœ๋ฐœ ํ™˜๊ฒฝ ์™ธ์—๋„ ๋™๊ธฐ์‹ ๋˜๋Š” ๋น„๋™๊ธฐ์‹ MongoDB ๋“œ๋ผ์ด๋ฒ„, MongoClient ํด๋ผ์ด์–ธํŠธ๋ฅผ ์ž‘๋™ํ•˜๋Š” ๋ฐฉ๋ฒ•๊ณผ ์ปฌ๋ ‰์…˜ ์ž‘์—… ๋ฐฉ๋ฒ•๋„ ๋ฐฐ์›Œ์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ด ๋น„๋””์˜ค๋Š” ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ Java ํ”„๋กœ์ ํŠธ์— ์—ฐ๊ฒฐํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ๋ชจ๋“  ๋‹จ๊ณ„๋ฅผ ์•ˆ๋‚ดํ•ฉ๋‹ˆ๋‹ค. ๋™์˜์ƒ ์•„๋ž˜ ์„ค๋ช…์—๋Š” IntelliJ IDEA์˜ ํ”„๋กœ์ ํŠธ ์ฝ”๋“œ์— ๋Œ€ํ•œ ๋งํฌ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.
์‹œ๋ฆฌ์ฆˆ์˜ ๊ธฐํƒ€ ์ž๋ฃŒ:
์ฝ”๋ฉ˜ํŠธ
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION