๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋งฅ๋ฝ์์ ํ ์ด๋ธ์ ๊ตฌ์กฐํ๋ ๋ฐ์ดํฐ๋ฅผ ๊ตฌ์ฑํ๊ณ ๊ด๋ฆฌํ๋ ๋ฐ ์ฌ์ฉ๋๋ ๊ธฐ๋ณธ ๋ฐ์ดํฐ ๊ตฌ์กฐ์ ๋๋ค. ํ ์ด๋ธ์ ํ๊ณผ ์ด๋ก ๊ตฌ์ฑ๋๋ฉฐ, ๊ฐ ํ์ ๊ณ ์ ํ ๋ ์ฝ๋๋ ์ํฐํฐ๋ฅผ ๋ํ๋ด๊ณ ๊ฐ ์ด์ ๋ ์ฝ๋์ ํน์ ์์ฑ์ด๋ ํ๋์ ํด๋นํฉ๋๋ค. ํ ์ด๋ธ์ ํ๊ณผ ์ด์ ์กฐํฉ์ AppMaster ๊ฐ ์์ฑ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ธฐ๋ณธ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ก ์ง์ํ๋ PostgreSQL๊ณผ ๊ฐ์ ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ด๋ฆฌ ์์คํ (RDBMS) ๋ด์์ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ๊ฒ์ํ๊ธฐ ์ํ ๊ธฐ์ด๋ฅผ ํ์ฑํฉ๋๋ค.
๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํ ์ด๋ธ์ ๋ฐ์ดํฐ ์ฝ์ , ์์ , ์ญ์ , ๊ฒ์์ ํฌํจํ ๋ค์ํ ์์ ์ ์ง์ํ์ฌ ๋๋์ ๊ตฌ์กฐํ๋ ์ ๋ณด๋ฅผ ๊ด๋ฆฌํ๊ธฐ ์ํ ํจ์จ์ ์ด๊ณ ์ ์ฐํ ๋ฉ์ปค๋์ฆ์ ์ ๊ณตํฉ๋๋ค. ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ๊ณผ ์ผ๊ด์ฑ์ ๋ณด์ฅํ๊ธฐ ์ํด ํ ์ด๋ธ์ ๊ท์น์ ์ ์ฉํ๊ณ ์ฑ๋ฅ์ ์ต์ ํํ๋ฉฐ ๊ด๋ จ ๋ฐ์ดํฐ ์์ ๊ฐ์ ์ฐ๊ฒฐ์ ์ค์ ํ๋ ๋ฐ ์ฌ์ฉ๋๋ ์ ์ฝ ์กฐ๊ฑด, ์ธ๋ฑ์ค ๋ฐ ๊ด๊ณ๋ฅผ ํ์ฉํฉ๋๋ค.
AppMaster ํ๋ซํผ ๋ด์์ ํ ์ด๋ธ์ ๋ฐ์ดํฐ ๋ชจ๋ธ ์ค๊ณ ํ๋ก์ธ์ค์ ํ์์ ์ธ ๋ถ๋ถ์ ๋๋ค. ์ฌ์ฉ์๋ AppMaster ์ ์๊ฐ์ ์ธํฐํ์ด์ค๋ฅผ ์ฌ์ฉํ์ฌ ํ ์ด๋ธ์ ์์ฑํ๊ณ ์กฐ์ํ ์ ์์ผ๋ฉฐ ์์ฑ, ๋ฐ์ดํฐ ์ ํ ๋ฐ ์ ์ฝ ์กฐ๊ฑด์ ์ง์ ํ์ฌ ๋ฐ์ดํฐ ์คํค๋ง๋ฅผ ์ ์ํ ์ ์์ต๋๋ค. ์ด๋ฅผ ํตํด ๊ธฐ๋ณธ PostgreSQL ํธํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ฐ ์ ์๋ ์คํค๋ง์ ์ํํ๊ฒ ์ํธ ์์ฉํ๋๋ก ์๋์ผ๋ก ๊ตฌ์ฑ๋๋ ๋ฐฑ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์์ฑ์ ์ํ ๋จ๊ณ๋ฅผ ์ค์ ํฉ๋๋ค.
๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํ ์ด๋ธ๊ณผ ๊ด๋ จ๋ ๋ช ๊ฐ์ง ์ฃผ์ ๊ฐ๋ ์ ๋ ์์ธํ ์ดํด๋ณด๊ฒ ์ต๋๋ค.
1. ๋ฐ์ดํฐ ์ ํ: ํ ์ด๋ธ์ ๊ฐ ์ด์ ์ ์ฅ๋ ์ ์๋ ์ ๋ณด์ ์ข ๋ฅ๋ฅผ ์ ์ํ๋ ๋ฐ์ดํฐ ์ ํ๊ณผ ๊ตฌ์ฒด์ ์ผ๋ก ์ฐ๊ด๋์ด ์์ต๋๋ค. PostgreSQL์ ์ผ๋ฐ์ ์ธ ๋ฐ์ดํฐ ์ ํ์๋ ์ ์ ์ ํ(smallint, ์ ์ ๋ฐ bigint), ๋ถ๋ ์์์ ์ซ์(์ค์ ๋ฐ ๋ฐฐ์ ๋ฐ๋), ๋ฌธ์ ์ ํ(char, varchar ๋ฐ ํ ์คํธ) ๋ฐ ๋ ์ง/์๊ฐ ์ ํ(๋ ์ง, ์๊ฐ, ํ์์คํฌํ ๋ฑ). ๋ฐ์ดํฐ ์ ํ์ ํ ์ด๋ธ์ ๊ฐ ์ด์ ์ ํจํ ๊ฐ๋ง ์ ์ฅ๋๋๋ก ํ์ฌ ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ์ ๊ฐํํฉ๋๋ค.
2. ์ ์ฝ ์กฐ๊ฑด: ์ ์ฝ ์กฐ๊ฑด์ ์ ์ฅํ ์ ์๋ ๋ฐ์ดํฐ ๊ฐ์ ์ ํํ๊ฑฐ๋ ์ ํํ๋ ์ด์ด๋ ํ ์ด๋ธ ์ํฐํฐ์ ์ ์ฉ๋๋ ๊ท์น์ ๋๋ค. ์ผ๋ฐ์ ์ธ ์ ์ฝ ์กฐ๊ฑด ์ ํ์ผ๋ก๋ NOT NULL, UNIQUE, CHECK ๋ฐ FOREIGN KEY๊ฐ ์์ต๋๋ค. ์ ์ฝ ์กฐ๊ฑด์ ๋ฐ์ดํฐ ๋ฌด๊ฒฐ์ฑ์ ๊ฐํํ๊ณ ์ ํจํ๊ณ ์ผ๊ด๋ ์ ๋ณด๋ง ํ ์ด๋ธ ๋ด์ ์ ์ฅ๋๋๋ก ํ๋ ์ญํ ์ ํฉ๋๋ค.
์๋ฅผ ๋ค์ด, ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฌ์ฉ์ ๋ฑ๋ก ํ ์ด๋ธ์๋ "email" ์ด์ UNIQUE ๋ฐ NOT NULL์ด๋ผ๋ ๋ ๊ฐ์ง ์ ์ฝ ์กฐ๊ฑด์ด ์ค์ ๋์ด ์์ ์ ์์ต๋๋ค. UNIQUE ์ ์ฝ ์กฐ๊ฑด์ ํ ์ด๋ธ์ ์ ๋ ฅ๋ ๊ฐ ์ด๋ฉ์ผ ์ฃผ์๊ฐ ๊ณ ์ ํ๋๋ก ๋ณด์ฅํ์ฌ ์ฌ๋ฌ ์ฌ์ฉ์๊ฐ ๋์ผํ ์ด๋ฉ์ผ์ ๊ณต์ ํ๋ ๊ฒ์ ๋ฐฉ์งํฉ๋๋ค. NOT NULL ์ ์ฝ ์กฐ๊ฑด์ null ๋๋ ๋น ๊ฐ์ด ์ด์ ์ ์ฅ๋๋ ๊ฒ์ ๋ฐฉ์งํ์ฌ ๊ฐ ์ฌ์ฉ์ ํญ๋ชฉ์ ์ ํจํ ์ด๋ฉ์ผ ์ฃผ์๊ฐ ์๋์ง ํ์ธํฉ๋๋ค.
3. ์ธ๋ฑ์ค: ์ธ๋ฑ์ค๋ ํ ์ด๋ธ์ ์ ์ฅ๋ ๋ฐ์ดํฐ์ ๋ํ ํจ์จ์ ์ธ ์ก์ธ์ค ๊ฒฝ๋ก๋ฅผ ์ ๊ณตํ์ฌ ์ฟผ๋ฆฌ ์คํ์ ์ต์ ํํ๊ณ ์ฑ๋ฅ์ ํฅ์์ํค๋ ๋ฐ ๋์์ด ๋๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค ๊ฐ์ฒด์ ๋๋ค. ์ธ๋ฑ์ค๋ ํ ์ด๋ธ ๋ด ๋ฐ์ดํฐ์ ์ ๋ ฌ๋ ๋ณด๊ธฐ๋ฅผ ์ ์ง ๊ด๋ฆฌํ๋ ๊ฐ์ ํฌ์ธํฐ์ ๋น์ ๋ ์ ์์ผ๋ฉฐ, ์ด๋ฅผ ํตํด ์ง์ ๋ ๊ฒ์ ๊ธฐ์ค์ ๋ฐ๋ผ ๋ ์ฝ๋๋ฅผ ์ ์ํ๊ฒ ๊ฒ์ํ๊ณ ๊ฒ์ํ ์ ์์ต๋๋ค. ์์ฃผ ์ก์ธ์ค๋๋ ์ด์ ์ธ๋ฑ์ค๋ฅผ ์์ฑํจ์ผ๋ก์จ ๊ฐ๋ฐ์๋ ์ฟผ๋ฆฌ์ ์๋น๋๋ ์๊ฐ๊ณผ ๋ฆฌ์์ค๋ฅผ ํฌ๊ฒ ์ค์ด๊ณ ์ ๋ฐ์ ์ธ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ฑ๋ฅ์ ํฅ์์ํฌ ์ ์์ต๋๋ค.
4. ๊ด๊ณ ๋ฐ ์ฐ๊ด: ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ ํ ์ด๋ธ ๊ฐ์ ๊ด๊ณ๋ฅผ ์ค์ ํ์ฌ ๊ด๋ จ ๋ฐ์ดํฐ๊ฐ ์๋ ๋ณ๋์ ์ํฐํฐ๋ฅผ ํจ๊ป ์ฐ๊ฒฐํ ์ ์๋ค๋ ํน์ง์ด ์์ต๋๋ค. ์ด๋ฌํ ์ํธ ์ฐ๊ฒฐ์ฑ์ ์ฃผ๋ก ์ฐธ์กฐ ๋ฌด๊ฒฐ์ฑ์ ์ ์งํ๊ณ ์ฌ๋ฌ ํ ์ด๋ธ์ ๊ฑธ์ณ ๋ณต์กํ ์ฟผ๋ฆฌ๋ฅผ ๊ฐ๋ฅํ๊ฒ ํ๋ ๊ธฐ๋ณธ ๋ฐ ์ธ๋ ํค ์ ์ฝ ์กฐ๊ฑด์ ์ฌ์ฉํ์ฌ ๋ฌ์ฑ๋ฉ๋๋ค. ๊ด๊ณ๋ ํด๋น ํ ์ด๋ธ ๊ฐ์ ์ฐ๊ฒฐ ํน์ฑ์ ๋ฐ๋ผ ์ผ๋์ผ, ์ผ๋๋ค ๋๋ ๋ค๋๋ค๋ก ๋ถ๋ฅ๋ ์ ์์ต๋๋ค.
๊ฒฐ๋ก ์ ์ผ๋ก, ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ํ ์ด๋ธ ๊ฐ๋ ์ RDBMS์์ ๊ตฌ์กฐํ๋ ๋ฐ์ดํฐ๋ฅผ ํจ๊ณผ์ ์ผ๋ก ๊ตฌ์ฑ, ๊ด๋ฆฌ ๋ฐ ๊ฒ์ํ๋ ๋ฐ ๋งค์ฐ ์ค์ํฉ๋๋ค. AppMaster ์ no-code ํ๋ซํผ์ ํ ์ด๋ธ ์์ฑ, ์์ฑ ์ ์, ๊ด๊ณ ์ค์ ์ ์ํ ์ฌ์ฉ์ ์นํ์ ์ธ ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํ๋ ๋์์ PostgreSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ํธํ์ฑ์ ์ ์งํจ์ผ๋ก์จ ๋ฐ์ดํฐ ๋ชจ๋ธ ์ค๊ณ ํ๋ก์ธ์ค๋ฅผ ๋จ์ํํฉ๋๋ค. ๋ฐ์ดํฐ ๋ชจ๋ธ ์ค๊ณ์ ๋ํ ์ด๋ฌํ ์ง๊ด์ ์ธ ์ ๊ทผ ๋ฐฉ์์ ํตํด AppMaster ์์ฑ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ํฐํ๋ผ์ด์ฆ ๋ฐ ๊ณ ๋ถํ ์ฌ์ฉ ์ฌ๋ก์ ์ ํฉํ ์ธ์์ ์ธ ํ์ฅ์ฑ๊ณผ ์ฑ๋ฅ์ ๋ณด์ฌ์ค ๋ฟ๋ง ์๋๋ผ ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ์ ์ํ ๋น์ฉ ํจ์จ์ ์ธ ์๋ฃจ์ ์ ์ ๊ณตํ ์ ์์ต๋๋ค.