DDL(๋ฐ์ดํฐ ์ ์ ์ธ์ด)์ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์คํ (RDBMS)์์ ํ ์ด๋ธ, ๋ทฐ, ์ธ๋ฑ์ค ๋ฐ ์ ์ฝ ์กฐ๊ฑด๊ณผ ๊ฐ์ ์คํค๋ง ๊ฐ์ฒด์ ์์ฑ, ๋ณ๊ฒฝ ๋ฐ ์ญ์ ๋ฅผ ๊ตฌ์ฒด์ ์ผ๋ก ์ฒ๋ฆฌํ๋ SQL(๊ตฌ์กฐ์ ์ฟผ๋ฆฌ ์ธ์ด)์ ํ์ ์งํฉ์ ๋๋ค. DDL์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํด๋น ๊ฐ์ฒด์ ๊ตฌ์กฐ๋ฅผ ์ ์ํ๊ณ ๊ด๋ฆฌํ๋ ๋ฐ ๋์์ ์ฃผ๋ฉฐ ๋ฐ์ดํฐ ์ ์ฅ, ๊ฒ์ ๋ฐ ์กฐ์์ ์ ๋ฐ์ ์ธ ๊ตฌ์ฑ๊ณผ ํจ์จ์ฑ์ ์ํ ๊ธฐ๋ฐ์ ๋ง๋ จํฉ๋๋ค. DDL์ ์ฃผ์ ๋ชฉ์ ์ ๊ฐ๋ฐ์๊ฐ ๊ธฐ๋ณธ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ์ ์ฅ์์ ๊ธฐ์ ์ ์ธ๋ถ ์ฌํญ์ ๊ด๊ณ์์ด ๊ฐ์ฒด๋ฅผ ์ ์ํ๊ณ ๊ด๋ฆฌํ ์ ์๋๋ก ํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋ ผ๋ฆฌ์ ๊ตฌ์กฐ๋ฅผ ๋ฌผ๋ฆฌ์ ์กฐ์ง์์ ๋ถ๋ฆฌํ๋ ๊ฒ์ ๋๋ค.
๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋งฅ๋ฝ์์ ์คํค๋ง ๊ฐ์ฒด๋ ๋ฐ์ดํฐ๋ฅผ ๊ตฌ์ฑ, ์ ์ฅ, ๊ด๋ฆฌ ๋ฐ ์ก์ธ์คํ๋ ๋ฐฉ๋ฒ์ ์ ์ํ๋ ์ค์ํ ๊ตฌ์ฑ ์์์ ๋๋ค. ์ผ๋ฐ์ ์ธ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์๋ ๊ฐ๊ฐ ํน์ ์ด ์งํฉ๊ณผ ๋ฐ์ดํฐ ์ ํ์ด ํฌํจ๋ ์๋ง์ ํ ์ด๋ธ์ด ์์ ์ ์์ต๋๋ค. ์ด๋ฌํ ํ ์ด๋ธ์ ๊ธฐ๋ณธ ํค์ ์ธ๋ ํค ๊ด๊ณ๋ฅผ ํตํด ์๋ก ์ฐ๊ฒฐ๋๋ฉฐ ์ฟผ๋ฆฌ ์ฑ๋ฅ์ ์ต์ ํํ๊ธฐ ์ํด ์ธ๋ฑ์ค๊ฐ ํ์ฉ๋ฉ๋๋ค. ๊ณ ์ , Not Null ๋ฐ ๊ฒ์ฌ ์ ์ฝ ์กฐ๊ฑด๊ณผ ๊ฐ์ ๋ค์ํ ์ ์ฝ ์กฐ๊ฑด์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ด์์ ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ๊ณผ ์ผ๊ด์ฑ์ ์ ์งํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค. DDL์ ์ด๋ฌํ ์คํค๋ง ๊ฐ์ฒด์ ๊ทธ ๊ด๊ณ๋ฅผ ํํํ๋ ํจ์จ์ ์ธ ํ์ค ๋ฐฉ๋ฒ์ ์ ๊ณตํ์ฌ ํจ์จ์ ์ธ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๊ณ ๋ฐ ๊ตฌํ์ ๊ฐ๋ฅํ๊ฒ ํฉ๋๋ค.
์ผ๋ฐ์ ์ธ DDL ๋ฌธ์๋ CREATE TABLE, ALTER TABLE, DROP TABLE, CREATE INDEX, DROP INDEX, CREATE VIEW ๋ฐ DROP VIEW๊ฐ ํฌํจ๋ฉ๋๋ค. ์ด๋ฌํ ๋ช ๋ น๋ฌธ์ ์ฌ์ฉํ๋ฉด ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ์ ๋๋ ๊ฐ๋ฐ์๋ ์ ์คํค๋ง ๊ฐ์ฒด๋ฅผ ์์ฑํ๊ฑฐ๋, ๊ธฐ์กด ์คํค๋ง ๊ฐ์ฒด์ ๊ตฌ์กฐ๋ฅผ ์์ ํ๊ฑฐ๋, ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ํด๋น ๊ฐ์ฒด๋ฅผ ์์ ํ ์ ๊ฑฐํ ์ ์์ต๋๋ค. ๋ํ DDL์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐ์ฒด ๋ฐ ๊ธฐ๋ฅ์ ๋ํ ์ฌ์ฉ์ ์ก์ธ์ค๋ฅผ ์ธ๋ถ์ ์ผ๋ก ์ ์ดํ ์ ์๋ ์คํค๋ง ๊ฐ์ฒด ๊ถํ์ด ํตํฉ๋์ด ์์ต๋๋ค.
AppMasterno-code ํ๋ซํผ์์ ์ฌ์ฉ์๋ ์์ DDL ๋ฌธ์ ์์ฑํ์ง ์๊ณ ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ํ ๋ฐ์ดํฐ ๋ชจ๋ธ(๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํค๋ง)์ ์๊ฐ์ ์ผ๋ก ์์ฑํ ์ ์์ต๋๋ค. ์ด๋ DDL ๊ตฌ๋ฌธ์ ๋ํ ๊น์ ์ง์์ ํ์์ฑ ์ ๊ฑฐ, ์ธ์ ์ค๋ฅ ๊ฐ์, ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ ๊ฐ์ํ ๋ฑ ์ฌ๋ฌ ๊ฐ์ง ์ด์ ์ ์ ๊ณตํฉ๋๋ค. ๋ํ AppMaster ๋ฐฑ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ฉ Go, ์น ์ ํ๋ฆฌ์ผ์ด์ ์ฉ Vue3 ํ๋ ์์ํฌ, ๋ชจ๋ฐ์ผ ์ ํ๋ฆฌ์ผ์ด์ ์ฉ Kotlin ๋๋ SwiftUI ์ ๊ฐ์ ์ ๊ณ ํ์ค ๊ธฐ์ ์ ์ค์ํ์ฌ ์ค์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ฑํฉ๋๋ค.
๋ฐ์ดํฐ ๋ชจ๋ธ ์์ฑ์ ๋ํ AppMaster ์ ์๊ฐ์ ์ ๊ทผ ๋ฐฉ์์ drag-and-drop ๊ธฐ๋ฅ์ ํตํฉํ์ฌ ์คํค๋ง ๊ฐ์ฒด์ ํด๋น ๊ด๊ณ๋ฅผ ์ ์ํ๋ ํ๋ก์ธ์ค๋ฅผ ๋ณด๋ค ์ง๊ด์ ์ด๊ณ ์ฌ์ฉ์ ์นํ์ ์ผ๋ก ๋ ๋๋งํฉ๋๋ค. ์ด๋ฅผ ํตํด ํ์ต ๊ณก์ ์ด ์ค์ด๋ค์ด ๊ฐ๋ฐ์๋ ๋ณต์กํ DDL๊ณผ ์จ๋ฆํ๋ ๋์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ ๋ฐ์ ์ธ ๋์์ธ๊ณผ ์๊ตฌ ์ฌํญ์ ์ง์คํ ์ ์์ต๋๋ค.
DDL์ ๊ฐ๋ ฅํ ์๋ ๊ณ ๊ฐ, ์ ํ, ์ฃผ๋ฌธ, ์ฃผ๋ฌธ ํญ๋ชฉ ๋ฑ ๋ค์ํ ํ ์ด๋ธ์ด ํ์ํ ์ ์ ์๊ฑฐ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ตฌํ์์ ๋ณผ ์ ์์ต๋๋ค. ๊ฐ๋ฐ์๋ DDL์ ์ฌ์ฉํ์ฌ ์ด๋ฌํ ํ ์ด๋ธ์ ๋ง๋ค๊ณ , ์ด๊ณผ ๋ฐ์ดํฐ ์ ํ์ ์ ์ํ๊ณ , ๊ธฐ๋ณธ ๋ฐ ์ธ๋ ํค ๊ด๊ณ๋ฅผ ์ค์ ํ๊ณ , ๋ฐ์ดํฐ ์ผ๊ด์ฑ๊ณผ ๋ฌด๊ฒฐ์ฑ์ ๋ณด์ฅํ๊ธฐ ์ํ ์ ์ฝ ์กฐ๊ฑด์ ์ค์ ํ ์ ์์ต๋๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก ์ ์ ์๊ฑฐ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ ฅํ๊ณ ์ ์ฐํ๋ฉฐ ํจ์จ์ ์ธ ๋ฐ์ดํฐ ๋ชจ๋ธ์ ์ฌ์ฉํ์ฌ ํต์ฌ ๊ธฐ๋ฅ์ ์ง์ํ ์ ์์ต๋๋ค.
AppMaster ์ no-code ํ๋ซํผ์ ์ฒญ์ฌ์ง์ด ๋ณ๊ฒฝ๋ ๋๋ง๋ค ๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํค๋ง ๋ง์ด๊ทธ๋ ์ด์ ์คํฌ๋ฆฝํธ๋ฅผ ์๋์ผ๋ก ์์ฑํ์ฌ ๊ธฐ๋ณธ ์คํค๋ง๋ฅผ ์ํํ๊ฒ ์ ๋ฐ์ดํธํ๊ณ ๋ณํํ๋ ์๊ตฌ ์ฌํญ์ ๋์ํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ๋ฅผ ์ต์ ํํฉ๋๋ค. ๋ํ AppMaster ์๋ฒ endpoints ์ ๋ํ Swagger(๊ฐ๋ฐฉํ API) ๋ฌธ์๋ฅผ ์์ฑํ์ฌ ๋ค๋ฅธ ์์คํ ๋ฐ API์์ ํ์ ๋ฐ ํตํฉ์ ์ด์งํฉ๋๋ค.
์์ฝํ์๋ฉด, ๋ฐ์ดํฐ ์ ์ ์ธ์ด(DDL)๋ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํ์ ๊ตฌ์ฑ ์์๋ก, ํ์คํ๋๊ณ ํจ์จ์ ์ธ ๋ฐฉ์์ผ๋ก ์คํค๋ง ๊ฐ์ฒด๋ฅผ ์ ์, ๊ด๋ฆฌ ๋ฐ ๋ฐ์ ์ํฌ ์ ์์ต๋๋ค. AppMaster ์ ๊ฐ์ ๊ฐ๋ ฅํ no-code ํ๋ซํผ๊ณผ ํจ๊ป ๊ฐ๋ฐ์๋ ๊ธฐ์ ์ ๋ณต์ก์ฑ์ ํ๊ตฌํ์ง ์๊ณ ๋ DDL์ ์ ์ฌ๋ ฅ์ ์ต๋ํ ํ์ฉํ ์ ์์ผ๋ฏ๋ก ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ ํ๋ก์ธ์ค๋ฅผ ๊ฐ์ํํ๊ณ ํ์ง์ ๊ฐ์ ํ๋ฉฐ ๊ธฐ์ ๋ถ์ฑ๋ฅผ ์์จ ์ ์์ต๋๋ค.