SQL(Structured Query Language)์ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์คํ (RDBMS)์์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ, ๋ฐ์ดํฐ ์กฐ์ ๋ฐ ์ฟผ๋ฆฌ ์คํ์ ์ํด ํน๋ณํ ์ค๊ณ๋ ํ์คํ๋๊ณ ๋๋ฆฌ ์ฑํ๋ ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ๋๋ค. SQL์ ํ์ํ๋ ํค์๋, ์ ๋ฐ ๊ตฌ๋ฌธ ๊ตฌ์กฐ์ ์กฐํฉ์ ํ์ฉํ๋ ๋๋ฉ์ธ๋ณ ์ธ์ด๋ก, ๊ฐ๋ฐ์๊ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์ค์ , ์ฌ์ฉ์ ์ง์ , ์ก์ธ์ค ๋ฐ ์ ์ง ๊ด๋ฆฌํ๊ณ ๋ฐ์ดํฐ ๋ถ์ ๋ฐ ๋ณด๊ณ ์์ ์ ์ํํ ์ ์๋๋ก ํฉ๋๋ค.
๋๋ถ๋ถ์ ์ต์ ์น ์ ํ๋ฆฌ์ผ์ด์ ๋ฐ ๋ฐฑ์๋ ์์คํ ์ ์ค์ถ ์ญํ ์ ํ๋ SQL์ AppMasterno-code ๋๊ตฌ์ ํธํ๋๋ PostgreSQL์ ๋น๋กฏํ ๋ง์ RDBMS ํ๋ซํผ์์ ์ง์๋ฉ๋๋ค. ์๋ ๋์ SQL์ ๋ค์ํ ๊ธฐ๋ฅ, ๊ฐ๋ ฅํ ์ฑ๋ฅ ๋ฐ ๋ค์ํ ์ฐ์ ๋ฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฐ์ ๊ฑธ์น ๊ด๋ฒ์ํ ์ฌ์ฉ์ผ๋ก ์ธํด ๋ฐฑ์๋ ๊ฐ๋ฐ์ ๋ฐ ๋ฐ์ดํฐ ๋ถ์๊ฐ์๊ฒ ํ์์ ์ธ ๊ธฐ์ ์ด ๋์์ต๋๋ค.
SQL์ ๋ฐ์ดํฐ ์ ์, ๋ฐ์ดํฐ ์กฐ์, ๋ฐ์ดํฐ ์ ์ด ๋ฐ ํธ๋์ญ์ ์ ์ด๋ฅผ ๋น๋กฏํ ๋ค์ํ ๊ธฐ๋ฅ์ ์ ๊ณตํฉ๋๋ค.
- ๋ฐ์ดํฐ ์ ์ ์ธ์ด(DDL): DDL ๋ช ๋ น์ ์ฌ์ฉํ๋ฉด ๊ฐ๋ฐ์๊ฐ ํ ์ด๋ธ, ์ด ๋ฐ ์ธ๋ฑ์ค์ ๊ฐ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐ์ฒด๋ฅผ ์ค์ , ๋ณ๊ฒฝ ๋ฐ ์ญ์ ํ ์ ์์ต๋๋ค. ์ฃผ์ DDL ๋ช ๋ น์๋ CREATE, ALTER ๋ฐ DROP์ด ํฌํจ๋ฉ๋๋ค.
- ๋ฐ์ดํฐ ์กฐ์ ์ธ์ด(DML): DML ๋ช ๋ น์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํ ์ด๋ธ ๋ด์์ ๋ฐ์ดํฐ ๊ฒ์, ์ฝ์ , ์์ ๋ฐ ์ญ์ ๋ฅผ ์ฉ์ดํ๊ฒ ํฉ๋๋ค. ์ฃผ์ DML ๋ช ๋ น์๋ SELECT, INSERT, UPDATE ๋ฐ DELETE๊ฐ ํฌํจ๋ฉ๋๋ค.
- ๋ฐ์ดํฐ ์ ์ด ์ธ์ด(DCL): DCL ๋ช ๋ น์ ์ก์ธ์ค ๊ถํ์ ๊ด๋ฆฌํ๊ณ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐ์ฒด์์ ์ฌ์ฉ์ ์ํธ ์์ฉ์ ์ ์ดํ๋ โโ๋ฐ ๋์์ด ๋ฉ๋๋ค. ์ฃผ์ DCL โโ๋ช ๋ น์๋ GRANT ๋ฐ REVOKE๊ฐ ํฌํจ๋ฉ๋๋ค.
- TCL(ํธ๋์ญ์ ์ ์ด ์ธ์ด): TCL ๋ช ๋ น์ ํตํด ๊ฐ๋ฐ์๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ํธ๋์ญ์ ์ ์ ์ดํ๊ณ ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ์ ์ ์งํ ์ ์์ต๋๋ค. ์ฃผ์ TCL ๋ช ๋ น์๋ COMMIT, ROLLBACK ๋ฐ SAVEPOINT๊ฐ ํฌํจ๋ฉ๋๋ค.
๋ฐฑ์๋ ๊ฐ๋ฐ์ ๋งฅ๋ฝ์์ SQL์ RDBMS์ ํต์ ํ๋ ๋ฐ ๋๋ฆฌ ์ฌ์ฉ๋๋ฏ๋ก ๊ฐ๋ฐ์๋ ๋๋์ ๋ฐ์ดํฐ๋ฅผ ํจ์จ์ ์ด๊ณ ํจ์จ์ ์ผ๋ก ์ํธ ์์ฉํ๊ณ ๊ด๋ฆฌํ ์ ์์ต๋๋ค. AppMaster ํ๋ซํผ์์ ์์ฑ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ SQL์ ๊ฐ๋ ฅํ ์ฟผ๋ฆฌ ๊ธฐ๋ฅ์ ํ์ฉํ์ฌ ๋ชจ๋ PostgreSQL ํธํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ธฐ๋ณธ ๋ฐ์ดํฐ ์์ค๋ก ์ํํ๊ฒ ์ฌ์ฉํ ์ ์์ต๋๋ค.
SQL์ ๋ฐฑ์๋ ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐ์ ํจ์จ์ ์ด๊ณ ์์ ์ ์ธ ํต์ ์ ์ค์ ํ๋ ๋ฐ ์ค์ถ์ ์ญํ ์ ํ๋ฏ๋ก ์ ํ๋ฆฌ์ผ์ด์ ์ ํน์ ์๊ตฌ ์ฌํญ์ ๋ฐ๋ผ ๋ฐ์ดํฐ๋ฅผ ํจ๊ณผ์ ์ผ๋ก ์ ์ฅ, ๊ฒ์ ๋ฐ ์กฐ์ํ ์ ์์ต๋๋ค. ์น์ํจ, ๊ด๋ฒ์ํ ์ง์ ๋ฐ ์ ๊ณ์ ์ค๋ ์ค์ ์ผ๋ก ์ธํด SQL์ ๊ฐ๋ฐ์๊ฐ ์ต์ํ์ ์ค๋ฒํค๋๋ก ๋ฐ์ดํฐ ๊ด๋ จ ์์ ์ ์ ์ํ๊ฒ ์ฒ๋ฆฌํ ์ ์๋๋ก ํ๋ ๊ท์คํ ๋๊ตฌ์ ๋๋ค.
AppMaster ์ ์ฝ๋ ์๋ ํ๋ซํผ์ ํ์ํ ์์ค ์ฝ๋๋ฅผ ์์ฑํ๊ณ ๊ฐ๋ฐ์๊ฐ ๋ฐ์ดํฐ ๋ชจ๋ธ๊ณผ ๋น์ฆ๋์ค ํ๋ก์ธ์ค๋ฅผ ์๊ฐ์ ์ผ๋ก ๊ตฌ์ฑํ ์ ์๋๋ก ํ์ฌ ๋ฐฑ์๋, ์น ๋ฐ ๋ชจ๋ฐ์ผ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋น ๋ฅด๊ณ ํจ์จ์ ์ธ ์์ฑ์ ์ด์งํฉ๋๋ค. PostgreSQL๊ณผ์ ํ๋ซํผ ํธํ์ฑ ๋ฐ SQL ์ง์ ๋๋ถ์ ๊ฐ๋ฐ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ค๊ณํ๊ณ ๊ตฌํํ๋ ๋์ ๋ฐ์ดํฐ๋ฅผ ์ฝ๊ฒ ํตํฉํ๊ณ ๊ด๋ฆฌํ ์ ์์ต๋๋ค. ์ด๋ฌํ ์๋์ง ํจ๊ณผ๋ ์ ์ฒด ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ ํ๋ก์ธ์ค๋ฅผ ๊ฐ์ํํ์ฌ ์๊ฐ๊ณผ ๋น์ฉ์ ๋ชจ๋ ์ค์ฌ์ค๋๋ค.
๋ํ AppMaster ํ๋ซํผ์ ์๋ฒ endpoints ์ ๋ํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํค๋ง ๋ง์ด๊ทธ๋ ์ด์ ์คํฌ๋ฆฝํธ ๋ฐ ๊ฐ๋ฐฉํ API ๋ฌธ์๋ฅผ ์๋์ผ๋ก ์์ฑํ์ฌ ๊ฐ๋ฐ์๋ฅผ ์ํ ๊ฐ๋ฐ ๋ฐ ์ ์ง ๊ด๋ฆฌ ํ๋ก์ธ์ค๋ฅผ ๋จ์ํํจ์ผ๋ก์จ SQL์ ๊ธฐ๋ฅ์ ํ์ฉํฉ๋๋ค. ๋ณต์กํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ ์ ์ฒ๋ฆฌํ๊ธฐ ์ํ SQL์ ๊ฒฌ๊ณ ์ฑ ๋ฐ ์์ ์ฑ๊ณผ ๊ฒฐํฉ๋ AppMaster ํ๋ซํผ์ ์์ฑ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ด ๋์ ํ์ฅ์ฑ๊ณผ ์๋ต์ฑ์ ๋ณด์ฅํ์ฌ ์ํฐํ๋ผ์ด์ฆ ๋ฐ ๊ณ ๋ถํ ์ฌ์ฉ ์ฌ๋ก์ ์๊ตฌ ์ฌํญ์ ํจ๊ณผ์ ์ผ๋ก ์ถฉ์กฑํฉ๋๋ค.
์ต์ ์ํํธ์จ์ด ๊ฐ๋ฐ์ด no-code ๋๊ตฌ ๋ฐ ๊ธฐ์กด ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ๋ฐ์ ์ ์์ฉํจ์ ๋ฐ๋ผ AppMaster ์ ๊ฐ์ ํ๋ซํผ๊ณผ SQL์ ๋๊ธฐํ๋ ๋น๊ตํ ์ ์๋ ํจ์จ์ฑ, ํ์ฅ์ฑ ๋ฐ ์ฑ๋ฅ ์ด์ ์ ์ ๊ณตํฉ๋๋ค. AppMaster ์์ฝ์์คํ ๋ด์์ SQL์ ๊ธฐ๋ฅ์ ํ์ฉํจ์ผ๋ก์จ ๊ฐ๋ฐ์๋ ๊ฐ๋ฐ ์๋ช ์ฃผ๊ธฐ๋ฅผ ๊ฐ์ํํ๊ณ ๋น ๋ฅด๊ฒ ์งํํ๋ ๋์งํธ ํ๊ฒฝ์์ ๋์ฑ ๋ณต์กํ๊ณ ๊ฐ๋ ฅํ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ํ ์ฆ๊ฐํ๋ ์๊ตฌ๋ฅผ ์ถฉ์กฑํ ์ ์์ต๋๋ค.