๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์˜ ๋งฅ๋ฝ์—์„œ ํŠœํ”Œ์€ ๊ฐ ์š”์†Œ๊ฐ€ ํŠน์ • ๋ฐ์ดํ„ฐ ์†์„ฑ ๋˜๋Š” ๊ฐ’์„ ๋‚˜ํƒ€๋‚ด๋Š” ์œ ํ•œํ•œ ์ •๋ ฌ๋œ ์š”์†Œ ๋ชฉ๋ก์ž…๋‹ˆ๋‹ค. ๊ฐ„๋‹จํžˆ ๋งํ•ด์„œ ํŠœํ”Œ์€ ๊ตฌ์กฐํ™”๋œ ๋ฐ์ดํ„ฐ ์š”์†Œ ๋˜๋Š” ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ํ…Œ์ด๋ธ”์˜ ๋ ˆ์ฝ”๋“œ๋กœ ๊ฐ„์ฃผ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. "ํŠœํ”Œ(tuple)"์ด๋ผ๋Š” ์šฉ์–ด๋Š” n ๊ฐ’ ๋˜๋Š” ์š”์†Œ์˜ ์ •๋ ฌ๋œ ์ผ๋ จ์˜ ์ˆ˜ํ•™์—์„œ ์œ ๋ž˜๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์šฉ์–ด์—์„œ ํŠœํ”Œ์€ ๊ด€๊ณ„ํ˜• ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ด€๋ฆฌ ์‹œ์Šคํ…œ(RDBMS) ์ปจํ…์ŠคํŠธ์—์„œ ๋‹จ์ผ ๋ฐ์ดํ„ฐ ์—”ํ„ฐํ‹ฐ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ํ–‰ ๋˜๋Š” ๋ ˆ์ฝ”๋“œ๋ผ๊ณ ๋„ ํ•ฉ๋‹ˆ๋‹ค.

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

์˜ˆ๋ฅผ ๋“ค์–ด ๊ฐœ๋ณ„ ๊ณ ๊ฐ์— ๋Œ€ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋„๋ก ๊ตฌ์„ฑ๋œ "Customers"๋ผ๋Š” ํ…Œ์ด๋ธ”์ด ์žˆ๋Š” ์ผ๋ฐ˜์ ์ธ ๊ณ ๊ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ์ƒ๊ฐํ•ด ๋ณด์‹ญ์‹œ์˜ค. ์ด ํ…Œ์ด๋ธ” ๋‚ด์˜ ํŠœํ”Œ์—๋Š” Customers ํ…Œ์ด๋ธ”์˜ ํ•ด๋‹น ์—ด๋กœ ๋ถ„๋ฅ˜๋œ ๊ฐ’(CustomerID, FirstName, LastName, Email, Phone ๋ฐ Address)์ด ํฌํ•จ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ CustomerID์ธ ๊ธฐ๋ณธ ํ‚ค ์†์„ฑ์€ ๊ฐ ํŠœํ”Œ์˜ ๊ณ ์œ ์„ฑ์„ ๋ณด์žฅํ•˜์—ฌ ํšจ์œจ์ ์ธ ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ ๋ฐ ๊ฒ€์ƒ‰์„ ๊ฐ€๋Šฅํ•˜๊ฒŒ ํ•ฉ๋‹ˆ๋‹ค.

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

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

๊ฐœ๋ฐœ์ž๋Š” AppMaster ํ”„๋ ˆ์ž„์›Œํฌ ๋‚ด์˜ ํŠœํ”Œ๊ณผ ๊ฐ™์€ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•  ๋•Œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ PostgreSQL ํ˜ธํ™˜ ๊ธฐ๋ณธ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ํ†ตํ•ฉ ๊ธฐ๋Šฅ์€ ์—”ํ„ฐํ”„๋ผ์ด์ฆˆ ๋ฐ ๊ณ ๋ถ€ํ•˜ ์‚ฌ์šฉ ์‚ฌ๋ก€์—์„œ ์›ํ™œํ•œ ๋ฐ์ดํ„ฐ ๊ด€๋ฆฌ ๋ฐ ์•ก์„ธ์Šค๋ฅผ ๋ณด์žฅํ•˜๋Š” ๋ฐ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. Vue3 ํ”„๋ ˆ์ž„์›Œํฌ ๋ฐ JS/TS๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ํ•จ๊ป˜ Go(golang)์—์„œ ๊ฐœ๋ฐœ๋œ ์ปดํŒŒ์ผ๋œ ์ƒํƒœ ๋น„์ €์žฅ ๋ฐฑ์—”๋“œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ง€์›ํ•˜๋Š” AppMaster ์˜ no-code ํ”Œ๋žซํผ์€ ์ตœ์ƒ์œ„ ์„ฑ๋Šฅ๊ณผ ํ™•์žฅ์„ฑ์„ ์œ ์ง€ํ•˜๋ฉด์„œ ๋‹ค์–‘ํ•œ ํ”„๋กœ์ ํŠธ ์š”๊ตฌ ์‚ฌํ•ญ์„ ์ˆ˜์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

AppMaster ์˜ no-code ํ”Œ๋žซํผ์€ ๋˜ํ•œ ์„œ๋ฒ„ endpoints ๋ฐ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์Šคํ‚ค๋งˆ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ์ž๋ฃŒ์šฉ Swagger(OpenAPI)์™€ ๊ฐ™์€ ํ•„์ˆ˜ ๋ฌธ์„œ ๋ฐ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ž๋™์œผ๋กœ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ ๊ฐœ๋ฐœ์— ๋Œ€ํ•œ ์ด ํฌ๊ด„์ ์ธ ์ ‘๊ทผ ๋ฐฉ์‹์€ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋‹จ์ˆœํ™”ํ•˜๊ณ  ๋Šฅ๋ฅ ํ™”ํ•˜์—ฌ ๊ฐœ๋ฐœ์ž๊ฐ€ ๊ธฐ๋Šฅ์ ์ด๊ณ  ํšจ์œจ์ ์ด๋ฉฐ ์‹œ๊ฐ์ ์œผ๋กœ ๋งค๋ ฅ์ ์ธ ์‘์šฉ ํ”„๋กœ๊ทธ๋žจ์„ ์ œ๊ณตํ•˜๋Š” ๋ฐ ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.

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