VIEW
table ๋์ view ์ฐ๋ ์ด์
๊ฐํน create table ๋ง๊ณ create view ํ๋ ๊ฒฝ์ฐ๊ฐ ์์ต๋๋ค.
ํ ์ด๋ธ์ด๋ ๋๊ฐ์ view ๋ผ๋ ์น๊ตฌ๊ฐ ์๋๋ฐ ๋ญ์ง ์์๋ด ์๋ค.
VIEW๋?
SELECT ๋ก ์ฐพ์ ํ๋ค์ด ๋๋ฌด๋ ๋ง์์ ๋ค์ด์
ํ ์ด๋ธ๋ก ๋๊ณ ๋๊ณ ์ ์ฅํด์ ์ฐ๊ณ ์ถ์ต๋๊น?
๊ทธ๋ผ ์ค์ ํ ์ด๋ธ๋ก ์ ์ฅํด๋ ๋๊ฒ ์ง๋ง ๋ ๊ฐ๋จํ๊ฒ view๋ก ๋ง๋ค์ด๋ ์๋ ์์ต๋๋ค.
view๋ ๊ฐ์์ ํ ์ด๋ธ์ ๋๋ค. ํ ์ด๋ธ์ฒ๋ผ ์ฌ์ฉํ ์ ์์ต๋๋ค.
view ๋ง๋๋ ๋ฌธ๋ฒ์ ์ด๋ ์ต๋๋ค.
SELECT๋ก ์ฐพ์ ํ๋ค์ view๋ก ๋ง๋ค์ด๋ฌ๋ผ๋ ์ฝ๋์ ๋๋ค.
โจ ์ค์ต. ๊ธฐ์กด์ ์ฌ์ฉํ๋ ํ ์ด๋ธ ์ค ์๋ฌด๊ฑฐ๋ JOIN ํด์ VIEW๋ฅผ ๋ง๋ค์ด ๋ด ์๋ค.
- OR REPLACE : ํด๋น ๊ตฌ๋ฌธ์ ์ฌ์ฉํ๋ฉด ๋ทฐ๋ฅผ ์์ ํ ๋ DROP ์์ด ์์ ์ด ๊ฐ๋ฅํ๋ค.
- FORCE : ๋ทฐ๋ฅผ ์์ฑํ ๋ ์ฟผ๋ฆฌ๋ฌธ์ ํ ์ด๋ธ, ์ปฌ๋ผ, ํจ์ ๋ฑ์ด ์กด์ฌํ์ง ์์๋ ์์ฑ์ด ๊ฐ๋ฅํ๋ค.
- NORORCE : ๋ทฐ๋ฅผ ์์ฑํ ๋ ์ฟผ๋ฆฌ๋ฌธ์ ํ ์ด๋ธ, ์ปฌ๋ผ ํจ์ ๋ฑ์ด ์กด์ฌํ์ง ์์ผ๋ฉด ์์ฑ๋์ง ์๋๋ค.
- column_aliases : SELECT ์ปฌ๋ผ์ ๋ณ์นญ์ ๋ฏธ๋ฆฌ ์ ์ํ ์ ์๋ค.
- WITH READ ONLY : SELECT ๋ง ๊ฐ๋ฅํ๋ค. (INSERT, UPDATE, DELETE ๋ถ๊ฐ๋ฅ)
- WITH CHECK OPTION : WHERE ์ ์ ์กฐ๊ฑด์ ํด๋นํ๋ ๋ฐ์ดํฐ๋ง ์ ์ฅ, ๋ณ๊ฒฝ์ด ๊ฐ๋ฅํ๋ค.
view ์ฐ๋ ์ด์
๋ญ๋ ๋์ค์ ์จ๋จน์ผ๋ ค๊ณ ๋ฐฐ์ฐ๋ ๊ฒ์ ๋๋ค.
์ฉ๋๋ฅผ ์ ์๊ฐํด๋ด ์๋ค.
1. ๋ณต์กํ๊ฒ JOIN ํด๋์ ํ ์ด๋ธ๋ค์ ํ๋์ ํ ์ด๋ธ ๋๋ view๋ก ๋ง๋ค์ด๋๋ฉด ๋๊ณ ๋๊ณ ์ฌ์ฌ์ฉํ ์ ์์ด์ ํธ๋ฆฌํฉ๋๋ค.
2. ๊ทผ๋ฐ view๋ ์ค์ ํ ์ด๋ธ์ด ์๋๋ผ์ ํ ์ด๋ธ๋งํผ ํ๋์ฉ๋์ ๋ง์ด ์ฐจ์งํ์ง ์์ต๋๋ค.
3. table์ ์ปฌ๋ผ๋ณ๊ฒฝ์ด ํ์ํ ๋ view๋ฅผ ๋ง๋ค์ด์ ๋จผ์ ์คํํด๋ณผ ์ ์์ต๋๋ค.
4. view ์์์ ๋ SELECT ํด์ view๋ฅผ ๋ง๋ค ์๋ ์์ต๋๋ค. ๋๋ฌด ๋ง์ ์ค์ฒฉ์ ๊ธ์ง
์ด์ฌํด JOINํด์ ์์ฑํด๋จ๋ SELECT ๋ฌธ์ ์ฝ๊ฒ ํ ์ด๋ธํํ๋ก ์ฌ์ฌ์ฉํ๊ณ ์ถ์ ๋ view๋ฅผ ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉํฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ ๋ณด์์์ ์ด์ ๋ก๋ VIEW๋ฅผ ์ฌ์ฉํฉ๋๋ค. ์๋ฅผ ๋ค์ด ์ฌ์์ ๋ณด ํ ์ด๋ธ์ด ์๋ค๊ณ ๊ฐ์ ํ์ ๋
์ฃผ๋ฏผ๋ฑ๋ก๋ฒํธ๋ ๊ธ์ฌ์ ๊ฐ์ด ๋ฏผ๊ฐํ ๊ฐ์ธ์ ๋ณด๋ฅผ ๋ชจ๋ ๊ฐ๋ฐ์๊ฐ ์ ๊ทผ ๊ฐ๋ฅํ๋ค๋ฉด ๋ฌธ์ ๊ฐ ์๊ธธ๊ฒ ๊ฐ์ง ์๋์? ๊ทธ๋์ VIEW๋ก ์ฌ์์ ๋ณด์ ํ์ํ ์ผ๋ถ ์ปฌ๋ผ๋ง ์ฌ์ฉํ๋๋ก ํ๊ณ VIEW์ ์กฐํ๊ถํ์ ์ฃผ๊ณ ์ฌ์์ ๋ณด ํ ์ด๋ธ์ ์กฐํ๊ถํ์ ์ฃผ์ง ์๋ ํ์์ผ๋ก ์ฌ์ฉํฉ๋๋ค.
(์ฐธ๊ณ )
view๋ ๊ฐ์ํ ์ด๋ธ์ด๋ผ๊ณ ํ์ง๋ง ์ค์ ๋ก ํ ์ด๋ธ์ด ์์ฑ๋๋๊ฒ ์๋๋ผ
SELECT ๋ฌธ๋ฒ์ ํ ์ด๋ธํํ๋ก ๋์์ํด์ฃผ๋ ๊ฒ์ผ ๋ฟ์ ๋๋ค.
Last updated