데이터베이스 VIEW
- 가상의 테이블 의미
- 데이터는 없고, SQL만 저장
- View에 접근하여, SQL 수행
- 사용이유 : 보안과 사용자 편의성
자주 접속하거나 여러 테이블을 같이 조인하여 조회하는 경우 매번 조회가 번거로우므로
해당 SQL이 적용된 VIEW를 만들어 해당 VIEW를 조회하면 간단합니다. (SELECT, DML 다 가능)
1> 단순 VIEW
- 1개의 테이블로 만들어지는 VIEW
- VIEW 생성 권한 : GRANT CREATE VIEW TO SCOTT
- VIEW 생성 문법
CREATE [OR REPLACE] [FORCE|NOFORCE] VIEW view [(alias, alias,...)]
AS sub-query
[WITH CHECK OPTION [CONSTRAINT 제약조건]]
[WITH READ ONLY]
OR REPLACE : 같은 이름의 VIEW가 있는 경우, 삭제 후 재생성
FORCE : 기본 테이블 존재여부 상관없이 View 생성
NOFORCE : 기본 테이블 존재 경우, VIEW 생성 (DEFAULT)
ALIAS : 기본 테이블의 컬럼명과 다르게 지정한 VIEW 칼럼명 지정
WITH CHECK OPTION : 제약조건에 맞는 데이터만 입력 & 수정 허용
WITH READ ONLY : SELECT만 가능한 VIEW 생성
- VIEW 예시
CREATE OR REPLACE VIEW v_sel
AS
SELECT NAME, NUM, TELNUM
FROM TEAM_TABLE
;
SELECT * FROM v_sel; // 생성한 VIEW (v_sel)을 사용합니다.
v_sel 은 view로 생성하였으므로, 실제 Data는 없습니다.
그러므로, view에 인덱스는 생성할 수 없습니다.
2> 복합 VIEW
- Sub Query 부분에 여러 개의 테이블이 Join 되어 생성
- 사용 방식은 단순 view 와 같으며, 단지 쿼리에 테이블 join 등 서브쿼리들이 들어갑니다.
3> MVIEW (Materialized View)
- 일반 View 와 다르게 실제 데이터가 담겨있는 View
- 인덱스 생성 가능
- View 특성 상 사용할 때마다 원본 테이블에 접근하므로, 많은 데이터를 담아야 할 경우 MView로 생성하여
데이터를 갖고 있어 원본 테이블로 매번 접근하지 않도록 하여 효율적이고, 성능도 좋아집니다.
- MView 동기화 방법
원본 테이블과 데이터 동기화를 해주어야 합니다.
BEGIN
DBMS_MVIEW.REFRESH(‘MV_TEST’);
END;
아래는 트리거(TRIGGER)에 대해 정리한 내용입니다. 참고 하시기 바랍니다!
https://lovefor-you.tistory.com/181
데이터베이스 TRIGGER 개념, TRIGGER 사용방법 알아보자. – by.SC
데이터베이스 트리거 (TRIGGER) 개요 - 서브 프로그램 단위로 테이블, 뷰, 스키마 또는 PL/SQL 블록으로 관련된 특정 사건마다 자동으로 해당 블록이 실행 - 방아쇠(TRIGGER) 의미로 방아쇠를 당기면 총알이 발사..
lovefor-you.tistory.com
저도 필요해서 찾아봐서 정리하였는데 도움이 되셨으면 해서 작성하였습니다~!
수정할 부분이나 다른 의견 있으시면 댓글 부탁드립니다!!
조금이나마 도움이 되셨으면 좋아요 하트♥나 구독 부탁드립니다~!
파이팅 하시고 좋은 하루 되세요!!
'IT ▶ > Database' 카테고리의 다른 글
SQL 쿼리 기본함수 정리 및 예시 (UPPER, CONCAT, INITCAP, SUBSTR) (0) | 2019.11.02 |
---|---|
데이터베이스 INDEX 개념과 INDEX 사용방법 알아보자. – by.SC (0) | 2019.11.02 |
데이터베이스 TRIGGER 개념, TRIGGER 사용방법 알아보자. – by.SC (0) | 2019.11.02 |
[빅데이터] 데이터 수집, 데이터 탐색 (예측모형, 과적합, 불균형) (0) | 2019.10.28 |
[빅데이터] 통계 확률 기초 개념 (조건부 확률, 정규분포) (0) | 2019.10.26 |