VIEW TABLE(뷰테이블)이란??
뷰테이블이란 일반 테이블이 물리적(저장장치)에 저장되는 것과는반대로 실제로 존재 하지 않는 논리적인 테이블로,
사용자에게는 존재하는 것으로 간주된다.
뷰 테이블을 사용하는 이유는 1개 이상의 테이블, 뷰테이블을 조인하여, 필요한 데이터로 구성 된 가상의 테이블을 만듦으로써, 보안 및 필요한 데이터의 관리를 용이하게 해준다.
============================================================================
나에게는 다음과 같은 사용자 로그 테이블이 있다.
데이터가 약 196만개나 있다... 그리고 아래와 같이 해당 사용자의 이름을 가진 테이블이 있다고 하자.
이 상황에서 양쪽 테이블에 존재하는 사용자의 이름을 출력하려면 다음과 같이 조인하면 될 것이다.
근데 해당 결과를 쿼리문이 아닌 테이블을 통해 용이하게 관리하고자 한다면 뷰테이블을 활용하면 된다.
============================================================================
CREATE VIEW
위와 같이 만들었다. 그냥 평소 우리가 쓰는 SELECT문 앞에
CREATE OR REPLACE VIEW 뷰이름 AS 만 써주면 간단히 뷰 테이블이 만들어진다!
그럼 다음과 같이 간단히 SELECT해올 수 있다.
여기서 REPLACE는 해당 뷰가 이미 존재하면 이렇게 수정해라~ 라는 의미이다.
DROP VIEW
뷰테이블을 삭제하는 건 더 간단하다. 그냥 뷰테이블 앞에 DROP만 붙여주면 된다.
여기서
RESTRICT는 해당 뷰를 다른곳에서 참조하고 있으면 삭제가 취소되고,
CASCADE는 뷰를 참조하고 있는 다른 뷰나 제약조건까지 모두 삭제된다.
============================================================================
* 핵심
문법만 알고 있으면 될 것 같다.
솔직히 자격증 공부하면서 뷰테이블이니 뭐니 논리적이니 뭐니 하고 외웠던 기억이 아는데 역시
그냥 보는 것 보다는 한번 만들어 보는게 훨씬 이해가 잘 된다.
'데이터베이스 > 쿼리' 카테고리의 다른 글
[Postgres] 중복값을 체크해보자. ( feat. GROUP BY, HAVING ) (0) | 2022.01.28 |
---|---|
[Postgres] Procedure(프로시저), Function(함수) 정리 (0) | 2022.01.18 |
[Postgres] Procedure(프로시저), Function(함수) 생성 및 사용 (1) | 2022.01.17 |
[SQL] JOIN에 대한 정리 ( INNER, OUTER, LEFT, RIGHT ) (1) (0) | 2022.01.09 |
[Postgres] 월별/주별/일별 통계 (2) (0) | 2022.01.08 |