๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋งฅ๋ฝ์์ ํ๋ก์ ์ ์ ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ํ๋ ๋์ ํ ์ด๋ธ(๋๋ ๊ด๊ณ)์์ ํน์ ์ด(๋๋ ์์ฑ)์ ์ ํํ๋ ์์ ์ ๋ํ๋ ๋๋ค. ์ด ์์ ์ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ด์์ ๋ฐ์ดํฐ์ ํต์ ํ๊ณ ๋ฐ์ดํฐ๋ฅผ ์กฐ์ํ๋ ๋ฐ ์ฌ์ฉ๋๋ SQL(๊ตฌ์กฐ์ ์ฟผ๋ฆฌ ์ธ์ด)์ ๊ธฐ๋ณธ ์ธก๋ฉด์ ๋๋ค. ํ๋ก์ ์ ์ ํจ๊ณผ์ ์ธ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ค๊ณ์ ์ค์ํ ๊ธฐ๋ฅ์ผ๋ก, ์ฌ์ฉ์๊ฐ ํน์ ์ฌ์ฉ ์ฌ๋ก์ ํ์ํ ๊ด๋ จ ์ ๋ณด๋ง ๊ฒ์ํ ์ ์๋๋ก ํ์ฌ ๋ฐ์ดํฐ ์ก์ธ์ค ๋ฐ ์ต์ ํ๋ฅผ ์ด์งํฉ๋๋ค.
๋ฐฑ์๋, ์น ๋ฐ ๋ชจ๋ฐ์ผ ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ฑํ๊ธฐ ์ํ ๊ฐ๋ ฅํ no-code ๋๊ตฌ์ธ AppMaster ๋ ํ๋ก์ ์ ๊ณผ ๊ฐ์ ๊ณ ๊ธ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐ๋ ์ ํ์ฉํ์ฌ ๊ธฐ์ ๋ถ์ฑ๋ฅผ ์ต์ํํ๋ฉด์ ๊ณ ๋๋ก ์ต์ ํ๋๊ณ ํ์ฅ ๊ฐ๋ฅํ ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ฑํฉ๋๋ค. AppMaster ์๊ฐ์ ์ผ๋ก ๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํค๋ง๋ฅผ ์์ฑํ๊ธฐ ์ํ ์ง๊ด์ ์ด๊ณ ์ฌ์ฉ์ ์นํ์ ์ธ ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํจ์ผ๋ก์จ ์ฌ์ฉ์๊ฐ ํจ์จ์ ์ผ๋ก ๋ฐ์ดํฐ ๋ชจ๋ธ์ ์ค๊ณํ๊ณ ์์ฑ๋ ์ ํ๋ฆฌ์ผ์ด์ ์์ ํ๋ก์ ์ ๊ณผ ๊ฐ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์์ ์ ๊ตฌํํ ์ ์๋๋ก ํฉ๋๋ค.
SQL์์๋ SELECT ๋ฌธ๊ณผ ๊ทธ ๋ค์ ์ด ์ด๋ฆ์ ์ผํ๋ก ๊ตฌ๋ถํ์ฌ ํ๋ก์ ์ ์ ์ํํฉ๋๋ค. ํฌ์์ ๊ธฐ๋ณธ ๊ฐ๋ ์ ๊ทธ๋ฆฌ์ค ๋ฌธ์ ํ์ด(ฯ)๋ก ํํ๋๋ ๊ด๊ณ ๋์ํ์์ ํ์๋ฉ๋๋ค. ์ด๋ฌํ ๋งฅ๋ฝ์์ ํฌ์์ ์์ฑ ๊ฐ ์งํฉ์ ํด๋น ์์ฑ์ ํ์ ์งํฉ์ผ๋ก ๊ตฌ์ฑ๋ ์๋ก์ด ๊ด๊ณ์ ๋งคํํ๋ ์์ ์ ๋๋ค. ์ด๋ ๋ค์๊ณผ ๊ฐ์ ๋ค์ํ ์ด์ ์ ์ ๊ณตํฉ๋๋ค.
- ์ต์ ํ๋ ๋ฐ์ดํฐ ๊ฒ์: ํ๋ก์ ์ ์ ์ฟผ๋ฆฌ์์ ๋ฐํ๋๋ ๋ฐ์ดํฐ์ ์์ ์ ํํจ์ผ๋ก์จ ๋ฆฌ์์ค ์๋น๋ฅผ ์ค์ด๊ณ ๋ฐ์ดํฐ ๊ฒ์ ํ๋ก์ธ์ค ์๋๋ฅผ ๋์ ๋๋ค.
- ๋ฐ์ดํฐ ๋ณด์: Projection์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ์๊ฐ ํน์ ์ด์ ๋ํ ์ก์ธ์ค๋ฅผ ์ ํํ๊ณ ์น์ธ๋์ง ์์ ์ฌ์ฉ์๊ฐ ํด๋น ์ด์ ๋ณด๊ฑฐ๋ ์ก์ธ์คํ๋ ๊ฒ์ ๋ฐฉ์งํจ์ผ๋ก์จ ๋ฏผ๊ฐํ ๋ฐ์ดํฐ๋ฅผ ๋ณดํธํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค.
- ์ ์ง ๊ด๋ฆฌ ์ฉ์ด์ฑ ํฅ์: ํ๋ก์ ์ ์ ์ฌ์ฉํ๋ฉด ๊ฐ๋ฐ์๋ ํน์ ๋ฐ์ดํฐ ๋ถ๋ถ์ ์ด์ ์ ๋ง์ถ ๋ชจ๋์ ๋ถ๋ฆฌํ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋ค ์ ์์ผ๋ฏ๋ก ์ฝ๋๋ฒ ์ด์ค๋ฅผ ๋ ์ฝ๊ฒ ์ดํดํ๊ณ ์ ์ง ๊ด๋ฆฌํ๊ณ ์ ๋ฐ์ดํธํ ์ ์์ต๋๋ค.
์๋ฅผ ๋ค์ด, "CustomerID", "FirstName", "LastName", "Email", "Phone" ๋ฐ "Address"์ ๊ฐ์ ์ฌ๋ฌ ์ด์ด ์๋ "Customers"๋ผ๋ ํฐ ํ ์ด๋ธ์ด ํฌํจ๋ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ์๊ฐํด ๋ณด๊ฒ ์ต๋๋ค. ์ฌ์ฉ์๊ฐ ๊ณ ๊ฐ์ ์ด๋ฆ๊ณผ ์ด๋ฉ์ผ ์ฃผ์๋ง ๊ฒ์ํ๋ ค๋ ๊ฒฝ์ฐ ํ๋ก์ ์ ์ ์ฌ์ฉํ์ฌ "FirstName", "LastName" ๋ฐ "Email" ์ด๋ง ์ ํํ์ฌ ๊ฒฐ๊ณผ ์งํฉ์ ๋จ์ํํ๊ณ ๊ณ ๊ฐ์ผ๋ก๋ถํฐ ์ ์ก๋๋ ๋ฐ์ดํฐ์ ์์ ์ค์ผ ์ ์์ต๋๋ค. ๋ฐ์ดํฐ๋ฒ ์ด์ค ์๋ฒ. ํด๋น SQL ์ฟผ๋ฆฌ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์ด๋ฆ, ์ฑ, ์ด๋ฉ์ผ์ ์ ํํ์ธ์.
๊ณ ๊ฐ์ผ๋ก๋ถํฐ;
ํฌ์ ์์ ์ ๊ณ ๋ คํด์ผ ํ ์ค์ํ ์ธก๋ฉด ์ค ํ๋๋ ๊ฒฐ๊ณผ ์งํฉ์ ๋ฐ์ดํฐ๊ฐ ์ค๋ณต๋ ๊ฐ๋ฅ์ฑ์ด ์๋ค๋ ๊ฒ์ ๋๋ค. ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๊ฐ ํ์ ๊ธฐ๋ณธ ํค๋ฅผ ๊ธฐ์ค์ผ๋ก ๊ณ ์ ํด์ผ ํฉ๋๋ค. ๊ทธ๋ฌ๋ ํน์ ์ด์ ๋ฐ์ดํฐ๋ฅผ ํ๋ก์ ์ ํ ๋ ๊ฒฐ๊ณผ ์งํฉ์ ์ค๋ณต ํ์ด ํฌํจ๋๋ ๊ฒฝ์ฐ๊ฐ ์์ ์ ์์ต๋๋ค. ์ด๋ฌํ ์ํฉ์ ์ฒ๋ฆฌํ๊ธฐ ์ํด SQL์ ๊ฒฐ๊ณผ ์งํฉ์์ ์ค๋ณต ํ์ ์ ๊ฑฐํ๊ธฐ ์ํด SELECT ๋ฌธ์ ์ถ๊ฐํ ์ ์๋ DISTINCT ํค์๋๋ฅผ ์ ๊ณตํฉ๋๋ค. ์์ ๋ ์ฟผ๋ฆฌ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
๊ณ ์ ์ด๋ฆ, ์ฑ, ์ด๋ฉ์ผ ์ ํ
๊ณ ๊ฐ์ผ๋ก๋ถํฐ;
AppMaster ์ no-code ํ๋ซํผ์ ํ๋ก์ ์ ๋ฐ ๊ธฐํ ๊ณ ๊ธ ๊ฐ๋ ์ ๊ด๋ฒ์ํ๊ฒ ํ์ฉํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ด์์ ์ต์ ํํ๊ณ ์ ํ๋ฆฌ์ผ์ด์ ์ฑ๋ฅ์ ํฅ์์ํต๋๋ค. AppMaster ๋ฐ์ดํฐ ๋ชจ๋ธ ์์ฑ์ ์ํ ์๊ฐ์ ๋๊ตฌ๋ฅผ ์ ๊ณตํจ์ผ๋ก์จ ์ฌ์ฉ์๊ฐ ์ฝ๋ฉ์ด ๊ฑฐ์ ๋๋ ์ ํ ํ์ ์์ด ํจ์จ์ ์ธ ํ๋ก์ ์ ์ฌ์ฉ์ ํฌํจํ์ฌ ๋ณต์กํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ตฌ์กฐ๋ฅผ ์ค๊ณ, ๊ตฌํ ๋ฐ ๊ด๋ฆฌํ ์ ์๋๋ก ํด์ค๋๋ค. ๋ํ AppMaster ์ ๊ฐ๋ ฅํ๊ณ ์ ์ฐํ ๋ฐฑ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ชจ๋ PostgreSQL ํธํ ๊ธฐ๋ณธ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ํํ๊ฒ ์๋ํ๋๋ก ๋ง์ถคํํ ์ ์์ด ๊ด๋ฒ์ํ ๊ธฐ์ ๋ฐ ๊ณ ๋ถํ ์ฌ์ฉ ์ฌ๋ก์ ๋ํด ๊ฐ๋ ฅํ๊ณ ํ์ฅ ๊ฐ๋ฅํ ์๋ฃจ์ ์ ์ ๊ณตํฉ๋๋ค.
์์ฝํ์๋ฉด, ํ๋ก์ ์ ์ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๊ฐ๋ ฅํ๊ณ ํ์์ ์ธ ์์ ์ผ๋ก, ์ต์ ํ๋ ๋ฐ์ดํฐ ๊ฒ์, ํฅ์๋ ๋ฐ์ดํฐ ๋ณด์, ํฅ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ง ๊ด๋ฆฌ์ ๊ฐ์ ์ค์ํ ์ด์ ์ ์ ๊ณตํฉ๋๋ค. ํ๋ก์ ์ ๊ฐ๋ ๊ณผ ๊ธฐํ ๊ณ ๊ธ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ธฐ์ ์ ํตํฉํจ์ผ๋ก์จ AppMaster ์ no-code ํ๋ซํผ์ ์ฌ์ฉ์๊ฐ ๋ค์ํ ํ๋ซํผ๊ณผ ์ฌ์ฉ ์ฌ๋ก์ ๋ํด ํจ์จ์ ์ด๊ณ ํ์ฅ ๊ฐ๋ฅํ ๊ณ ์ฑ๋ฅ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ค๊ณ, ๊ตฌ์ถ ๋ฐ ์ ์ง ๊ด๋ฆฌํ ์ ์๋๋ก ํ์ฌ ๊ฐ๋ฐ ํ๋ก์ธ์ค๋ฅผ ํฌ๊ฒ ๋จ์ํํ๊ณ ๊ธฐ์ ๋ถ์ฑ๋ฅผ ์ค์ ๋๋ค.