๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๋งฅ๋ฝ์์ ์๊ด ํ์ ์ฟผ๋ฆฌ๋ ๊ฐ๋ฐ์๊ฐ ํฌํจ๋ ์ฟผ๋ฆฌ๋ฅผ ์ฐธ์กฐํ๋ ์ค์ฒฉ ํ์ ์ฟผ๋ฆฌ๋ฅผ ํ์ฉํ์ฌ ๋จ์ผ ๋๋ ์ฌ๋ฌ ํ ์ด๋ธ์์ ๋ ๋ณต์กํ๊ณ ๊ด๋ จ๋ ๋ฐ์ดํฐ ์ธํธ๋ฅผ ๊ฒ์ํ ์ ์๋๋ก ํ๋ ๊ณ ๊ธ ์ฟผ๋ฆฌ ๊ธฐ์ ์ ๋๋ค. ์ด๋ ๊ด๋ จ ๋ฐ์ดํฐ์ ์ก์ธ์คํ๊ณ ๋ณด๋ค ์๋ฏธ ์๋ ๋ฐ์ดํฐ ๋ถ์์ ๊ฐ๋ฅํ๊ฒ ํ๋ ๋ณด๋ค ํจ์จ์ ์ด๊ณ ๊ตฌ์กฐํ๋ ๋ฐฉ๋ฒ์ ์ ๊ณตํฉ๋๋ค. ์๊ด ํ์ ์ฟผ๋ฆฌ๋ ํนํ ํน์ ๊ฒฐ๊ณผ๋ฅผ ์์ฑํ๊ธฐ ์ํด ์ฌ๋ฌ ํ ์ด๋ธ์์ ๋๋์ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํด์ผ ํ๋ ๊ฒฝ์ฐ ๋ฐ์ดํฐ ์กฐ์ ๋ฐ ๊ฒ์์ ์ฌ์ฉ๋๋ ๊ฐ๋ ฅํ ๋๊ตฌ์ ๋๋ค.
๋ ๋ฆฝ์ ์ด๊ณ ๋ ๋ฆฝ์ ์ธ ๊ธฐ์กด ํ์ ์ฟผ๋ฆฌ์ ๋ฌ๋ฆฌ ์๊ด ํ์ ์ฟผ๋ฆฌ๋ ์ธ๋ถ ์ฟผ๋ฆฌ๋ฅผ ์ฐธ์กฐํ๋ฏ๋ก ์ฑ๊ณต์ ์ผ๋ก ์คํํ๋ ค๋ฉด ์ธ๋ถ ์ฟผ๋ฆฌ ๊ฐ์ ์์กดํฉ๋๋ค. ์ด๋ก ์ธํด ์ธ๋ถ ์ฟผ๋ฆฌ์ ๊ฐ ํ์ ๋ํ ๋ฐ๋ณต ์คํ์ด ๋ฐ์ํ์ฌ ๋ฐ์ดํฐ ๊ตฌ์กฐ์ ์กด์ฌํ๋ ๊ด๊ณ ๋ฐ ๊ณ์ธต ๊ตฌ์กฐ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ฒฐ๊ณผ๊ฐ ํฅ์๋ฉ๋๋ค. ๊ฒฐ๊ณผ์ ์ผ๋ก ๊ฐ๋ฐ์๋ ์ ๊ตํ ๋ฐ์ดํฐ ์ง๊ณ ๋ฐ ๊ด๋ฆฌ๋ฅผ ๋ฌ์ฑํ๊ณ ์ด์ ์ ๋ฐ๊ฒฌ๋์ง ์์๋ ๋ฐ์ดํฐ ๋ด ํจํด์ด๋ ์๊ด ๊ด๊ณ๋ฅผ ์ฐพ์๋ผ ์ ์์ต๋๋ค.
์๊ด ํ์ ์ฟผ๋ฆฌ์ ์๋ก๋ ํด๋น ๋ถ์ ์ง์์ ํ๊ท ๊ธ์ฌ๋ณด๋ค ๊ธ์ฌ๊ฐ ๋ง์ ๋ชจ๋ ์ง์์ ์ธ๋ถ ์ ๋ณด๋ฅผ ๊ฒ์ํด์ผ ํ๋ ๊ฒฝ์ฐ๊ฐ ์์ต๋๋ค. ์ด ๊ฒฝ์ฐ ์๊ด ์๋ธ ์ฟผ๋ฆฌ๋ ์ธ๋ถ ์ฟผ๋ฆฌ์ ๋ถ์ ๊ฐ์ ์ฐธ์กฐํ์ฌ ๊ฐ ๋ถ์์ ํ๊ท ๊ธ์ฌ๋ฅผ ๊ณ์ฐํ๋ ๋ถ๋ถ์ด ๋ฉ๋๋ค. ์ด๋ฌํ ์ ํ์ ํ์ ์ฟผ๋ฆฌ๋ ๋ฐ์ดํฐ ์ถ์ถ ๋ฐ ์กฐ์ ์์ ์ ์ฉ์ด์ฑ๊ณผ ๋ช ํ์ฑ์ ํฌ๊ฒ ํฅ์์ํต๋๋ค.
๋ค์์ ๊ฐ๋ ์ ์ค๋ช ํ๋ ์ํ SQL ์ฝ๋ ์กฐ๊ฐ์ ๋๋ค.
e1.*์ ์ ํํ์ธ์.
์ง์์ผ๋ก๋ถํฐ e1
e1.๊ธ์ฌ > (
AVG(e2.๊ธ์ฌ) ์ ํ
์ง์์ผ๋ก๋ถํฐ e2
์ฌ๊ธฐ์ e1.department_id = e2.department_id);
์์ ์์์ ๋ด๋ถ ์ฟผ๋ฆฌ๋ ์ธ๋ถ ์ฟผ๋ฆฌ์์ ์ง์ ๋ ๋ถ์์ ํ๊ท ๊ธ์ฌ๋ฅผ ๊ณ์ฐํ ๋ค์ ํด๋น ํ๊ท ๋ณด๋ค ๊ธ์ฌ๊ฐ ๋์ ์ง์์ ํํฐ๋งํฉ๋๋ค. ์๊ด ํ์ ์ฟผ๋ฆฌ๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์ธ๋ถ ์ฟผ๋ฆฌ ๊ฐ(์ด ๊ฒฝ์ฐ Department_id)์ ๋ํ ์ข ์์ฑ์ ํตํด ๋ด๋ถ ์ฟผ๋ฆฌ์ ์ธ๋ถ ์ฟผ๋ฆฌ๋ฅผ ์ฐ๊ฒฐํฉ๋๋ค.
์๊ด ํ์ ์ฟผ๋ฆฌ์๋ ์ฅ์ ์ด ์์ง๋ง ์ด๋ฌํ ํ์ ์ฟผ๋ฆฌ๋ ๋ฐ๋ณต ํน์ฑ์ผ๋ก ์ธํด ๊ณ์ฐ ๋น์ฉ์ด ๋ง์ด ๋ค ์ ์์ผ๋ฏ๋ก ๊ฐ๋ฐ์๋ ๋๋์ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ ๋ ์ฃผ์ํด์ผ ํฉ๋๋ค. ์ฑ๋ฅ ๋ณ๋ชฉ ํ์์ ๋ฐฉ์งํ๋ ค๋ฉด ์๊ด ํ์ ์ฟผ๋ฆฌ๋ฅผ ์ ์คํ๊ฒ ์ฌ์ฉํ๋ ๊ฒ์ด ์ข์ผ๋ฉฐ ์ฟผ๋ฆฌ ์คํ์ ์ํ ์ ์คํ ์ต์ ํ ์ ๋ต์ ๊ณ ๋ คํด์ผ ํฉ๋๋ค.
AppMasterno-code ํ๋ซํผ์ ์ฌ์ฉํ์ฌ ์น, ๋ชจ๋ฐ์ผ ๋ฐ ๋ฐฑ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋๋ ๊ฐ๋ฐ์๋ ํ๋ก์ ํธ์์ ์๊ด๋ ํ์ ์ฟผ๋ฆฌ๋ฅผ ์ดํดํ๊ณ ๊ตฌํํจ์ผ๋ก์จ ์๋นํ ์ด์ ์ ์ป์ ์ ์์ต๋๋ค. AppMaster ์ ๊ฐ๋ ฅํ ๋๊ตฌ ์ธํธ๋ฅผ ์ฌ์ฉํ๋ฉด ์ฌ์ฉ์๋ ์๊ฐ์ ์ผ๋ก ๋ฐ์ดํฐ ๋ชจ๋ธ(๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํค๋ง)์ ์์ฑํ๊ณ , ๋น์ฆ๋์ค ๋ก์ง, REST API ๋ฐ WSS endpoints ์ค๊ณํ๊ณ , ์ ํ๋ฆฌ์ผ์ด์ ์ฉ ์์ค ์ฝ๋๋ฅผ ์์ฑํ ์๋ ์์ต๋๋ค. ์ด ํ๋ซํผ์ ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ์ ๋ ๋น ๋ฅด๊ณ ํจ์จ์ ์ด๋ฉฐ ๋น์ฉ ํจ์จ์ ์ผ๋ก ๋ง๋ค์ด ์ค์๊ธฐ์ ๋ถํฐ ๋๊ธฐ์ ๊น์ง ๋ค์ํ ๊ณ ๊ฐ์๊ฒ ์๋น์ค๋ฅผ ์ ๊ณตํฉ๋๋ค.
AppMaster ํ๋ซํผ์ ๊ณ ๊ฐ์ ์๊ด ํ์ ์ฟผ๋ฆฌ ๊ธฐ์ ์ ํ์ฉํ์ฌ ๋น์ฆ๋์ค ์๊ตฌ ์ฌํญ์ ์ ํํ๊ณ ํจ์จ์ ์ผ๋ก ์ถฉ์กฑํ๋ ๋์ฑ ๊ฐ๋ ฅํ๊ณ ํฌ๊ด์ ์ธ ๋ฐ์ดํฐ ๊ธฐ๋ฐ ์๋ฃจ์ ์ ๋ง๋ค ์ ์์ต๋๋ค. ์ด ๊ณ ๊ธ ์ฟผ๋ฆฌ ๋ฐฉ๋ฒ์ ๊ธฐ์ ํ์ฅ์ฑ์ด๋ ๊ณ ๋ถํ ์ฌ์ฉ ์ฌ๋ก์ด๋ ๊ธฐ์ ๋ถ์ฑ๋ฅผ ์ค์ด๊ณ ์ต์ ์ ์ ํ๋ฆฌ์ผ์ด์ ์ฑ๋ฅ์ ๋ณด์ฅํ๋ ค๋ AppMaster ์ ๋ ธ๋ ฅ๊ณผ ์ผ์นํฉ๋๋ค.
๊ฒฐ๋ก ์ ์ผ๋ก ์๊ด ํ์ ์ฟผ๋ฆฌ๋ ์ฒ ์ ํ ๋ฐ์ดํฐ ๋ถ์์ ์ํด ๋ณต์กํ๊ณ ๊ด๋ จ๋ ๋ฐ์ดํฐ ์ธํธ๋ฅผ ์ถ์ถํ๊ธฐ ์ํ ๊ฐ๋ฐ์์ ๋ฌด๊ธฐ๊ณ ์ ์์ด์๋ ์๋ ๋๊ตฌ์ ๋๋ค. ๊ฐ๋ฐ์๊ฐ ๋ค์ํ ํ ์ด๋ธ๊ณผ ์ค์ฒฉ ๊ด๊ณ์์ ๊ฐ๋ ฅํ๊ณ ๋ณต์กํ ๋ฐ์ดํฐ ์ถ์ถ ํจํด์ ์์ฑํ ์ ์๋๋ก ํ์ฌ ํ์ค ํ์ ์ฟผ๋ฆฌ์ ๊ธฐ๋ฅ์ ํฅ์์ํต๋๋ค. ์๊ด๋ ํ์ ์ฟผ๋ฆฌ๋ฅผ ์ดํดํ๊ณ ๊ตฌํํจ์ผ๋ก์จ AppMasterno-code ํ๋ซํผ์ ๊ฐ๋ฐ์๋ ๋๋ผ์ด ๋ฐ์ดํฐ ๊ด๋ฆฌ ๋ฐ ์กฐ์ ํจ์จ์ฑ์ ๋ฌ์ฑํ ์ ์์ผ๋ฉฐ, ๊ฒฐ๊ณผ์ ์ผ๋ก ์ฌ์ฉ์์ ๋์์์ด ๋ณํํ๋ ์๊ตฌ ์ฌํญ์ ์ถฉ์กฑํ๋ ๋ณด๋ค ์๋ต์ฑ์ด ๋ฐ์ด๋๊ณ ๊ฐ๋ ฅํ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋ค ์ ์์ต๋๋ค.