์๋
ํ์ธ์ Foma๐ป ์
๋๋ค!
์ค๋์ ํ๋ ์ด์์ ํ ์ด๋ธ์ ๋ฐ์ดํฐ๋ฅผ ๊ด๋ฆฌํ๊ธฐ ์ฝ๊ฒ ํ๋ View์ ๋ํด์ ์์๋ณด๋๋ก ํ๊ฒ ์ต๋๋ค.
๋ฐ๋ก ์์ํ ๊ฒ์~
๋ทฐ(View)๋?
SQL์์ ํ๋ ์ด์์ ํ ์ด๋ธ์์ ์ํ๋ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ์ ํํ์ฌ ๊ฐ๋จํ๊ฒ ๋ํ๋ธ ๊ฒ์ ๋๋ค.
๊ธฐ๋ณธ ํ
์ด๋ธ๊ณผ ๊ฐ์ด ํ๊ณผ ์ด๋ก ๊ตฌ์ฑ๋์ด ์์ง๋ง, ๋ฐ์ดํฐ ์์ฒด๋ฅผ ํฌํจํ๊ณ ์๋ ๊ฑด ์๋๋๋ค.
๋ฐ์ดํฐ์ ๊ฐ๋
์ฑ์ ์ํด ๋ณดํต select๋ฌธ์ฒ๋ผ ์ฌ์ฉ๋ฉ๋๋ค.
ex) View:๊ฐ๋ ๋ชจ์คํธ <- ๊ฐ๋ ์ด ๋ชจ์คํธ์ธ ์ํ์ฌ์ ์ด๋ฆ์ ์๊ณ ์ถ์ ๋
์ฅ์
๊ฐ ์ฌ์ฉ์์ ๋ฐ๋ผ ์๋ง๊ฒ ๋ฐ์ดํฐ๋ฅผ ๋ณด์ฌ์ค ์ ์์ต๋๋ค.
์์ฃผ ์ฐ์ด๋ ์ฟผ๋ฆฌ๋ฌธ์ ๊ฐ๋จํ๊ฒ ์ฌ์ฉํ๊ธฐ ์ํด์ ์ฌ์ฉ๋ฉ๋๋ค.
๋ทฐ์ ๋ํ๋์ง ์๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ดํ์ฌ ๋ฐ์ดํฐ ๋ณด์์ด ๊ฐ๋ฅํฉ๋๋ค.
๋จ์
๋ทฐ์ ์ ์๋ฅผ ๋ณ๊ฒฝํ ์ ์์ต๋๋ค. (๋ณ๊ฒฝํ๊ณ ์ถ์ ๋ ์ญ์ ํ๋ค๊ฐ ๋ค์ ์์ฑํด์ผ ํจ)
INSERT๋ฌธ์ ์๋ณธ ํ
์ด๋ธ์์ ์คํํด์ผ ํ๋ฉฐ,PRIMARY KEY, NOT NULL ๋ฑ์ ์ ์ฝ์ฌํญ์ด ์๋ฐฐ๋๋ ๊ฒฝ์ฐ ์ฝ์
์ด ๋ถ๊ฐํ๋ ๋ฑ ๋ง์ ์ ์ฝ์ด ๋ฐ๋ฆ
๋๋ค.
๋
์์ ์ธ ์ธ๋ฑ์ค๋ฅผ ๊ฐ์ง ์ ์์ต๋๋ค.
์ฌ์ฉ ๋ฐฉ๋ฒ
์์์ ๋ ์์์ฒ๋ผ ๊ฐ๋ ์ด ๋ชจ์คํธ์ธ ์ํ์ฌ๋ฅผ View๋ก ๋ง๋ค์ด ๋ณด๊ฒ ์ต๋๋ค.
์๋์ ๊ฐ์ด ์ํ์ฌ์ ์ด๋ฆ๊ณผ ํฐ์ด ๊ทธ๋ฆฌ๊ณ ๋ชจ์คํธ ์ฑํผ์ธ์ด ๋ด๊ธด ๋ฐ์ดํฐ๋ค์ด ์์ต๋๋ค.
์์ฑ
๋ทฐ์ ์ด๋ฆ์ ์ ํด์ฃผ๊ณ ํด๋น๋๋ ์ฟผ๋ฆฌ๋ฌธ์ as ๋ค์ ์์ฑํด์ฃผ์๋ฉด ๋ฉ๋๋ค.
create or replace view ๋ทฐ์ด๋ฆ as ์ฟผ๋ฆฌ๋ฌธ;
create or replace view garen_most as select name from summoner_tb where most = 'Garen';
์์ฑ์ ํ๊ฒ ๋๋ฉด ์๋์ ๊ฐ์ด View์ ์๋ก ๋ง๋ GAREN_MOST๊ฐ ์ถ๊ฐ ๋์ด์๊ณ , ํ์ํ ์ปฌ๋ผ ์ ๋ณด๋ฅผ ๊ฐ์ง๊ณ ์์ต๋๋ค.
์์
์์ ์ ์์ฑ๊ณผ ๋์ผํฉ๋๋ค.
๋ง์ฝ View์ ํด๋น๋๋ ์ด๋ฆ์ด ์์ผ๋ฉด ์์ ์, ์๋ค๋ฉด ์์ฑ์ ํ๊ฒ ๋ฉ๋๋ค.
create or replace view ๋ทฐ์ด๋ฆ as ์ฟผ๋ฆฌ๋ฌธ;
create or replace view garen_most as select name,tier from summoner_tb where most = 'Garen';
์์ ์ ํ๊ฒ ๋๋ฉด ์๋ ์๋ ๋ทฐ๊ฐ ๋ณ๊ฒฝ๋ฉ๋๋ค.
์กฐํ
์๋์ ๊ฐ์ด ๋ทฐ์ด๋ฆ์ผ๋ก ๊ฐ๋จํ๊ฒ ์กฐํํ ์ ์์ต๋๋ค.
select * from ๋ทฐ์ด๋ฆ;
select * from garen_most;
์กฐํ๋ฅผ ํด๋ณด๋ฉด Garen์ด ๋ชจ์คํธ์ธ ์ํ์ฌ์ ์ด๋ฆ๊ณผ ํฐ์ด๊ฐ ์ถ๋ ฅ๋๊ฒ ๋ฉ๋๋ค.
๊ตฌ์กฐ ํ์ธ
desc๋ฅผ ์ฌ์ฉํ์ฌ ๋ทฐ์ ๊ตฌ์กฐ๋ ํ์ธํ ์ ์์ต๋๋ค.
desc ๋ทฐ์ด๋ฆ;
desc garen_most;
View์ ๊ตฌ์กฐ๊ฐ ์๋์ ๊ฐ์ด ์ถ๋ ฅ๋ฉ๋๋ค.
์ญ์
drop view๋ก ๋ทฐ๋ฅผ ์ญ์ ํด ์ค ์ ์์ต๋๋ค.
drop view ๋ทฐ์ด๋ฆ;
drop view garen_most;
'๐ Database > Oracle' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Oracle] ํธ๋ฆฌ๊ฑฐ(Trigger)๋? (feat. C.R.U.D) (0) | 2022.03.05 |
---|---|
[Oracle] ํ๋ก์์ (Procedure)๋? (feat. C.R.U.D) (0) | 2022.03.04 |
[Oracle] Oracle ๋ฐ์ดํฐ ํ์ ์์๋ณด๊ธฐ(Oracle Data Type) (0) | 2022.02.24 |
[Oracle] DDL(Data-Definition-Language)๋ฌธ์ด๋? (feat. Oracle) (0) | 2022.01.04 |
[Oracle] ์ค๋ผํด SQLDeveloper์ Github ์ฐ๋ํ๊ธฐ(feat. MacOS) (0) | 2021.11.01 |
๋๊ธ