뷰는 사용자에게 접근이 허용된 자료만을 제한적으로 보여주기 위해 하나 이상의 기본 테이블로부터 유도된 가상 테이블을 말한다.
뷰 이름을 질의어에서 활용할 경우 질의어가 실행될 때 뷰에 정의된 기본테이블로 대체되어 기본 테이블에 대해 실행되게 된다.
뷰는 임시적인 작업을 위한 용도로 활용됨
뷰는 사용상의 편의성을 최대화함
다음과 같은 SQL문으로 뷰를 생성할 수 있다.
SELECT
문을 통해 생성한다.CREATE VIEW 뷰이름 AS SELECT 구문;
DROP VIEW 뷰이름;
기본 테이블에서 유도된 테이블이기 때문에 기본 테이블과 구조가 같음
가상 테이블로 물리적으로 구현되어 있지 않음
데이터의 논리적 독립성을 제공함
필요한 데이터만 뷰로 정의해 처리 가능하기 때문에 관리가 용이함
뷰에 나타나지 않은 데이터를 안전하게 보호 가능
기본 테이블의 기본키를 포함한 속성 집합으로 뷰를 구성해야만 삽입, 삭제, 갱신이 가능함
뷰가 정의된 기본테이블이 삭제되면 뷰도 자동으로 삭제됨
논리적 데이터 독립성을 제공
동일 데이터에 대해 동시에 여러 사용자의 요구를 지원해줌
사용자의 데이터 관리를 간단하게 해줌
접근 제어를 통한 자동 보안 제공
독립적 인덱스를 가지지 못함
뷰의 정의 변경 불가능
삽입, 삭제, 갱신 연산에 제약이 따름
테이블 구조가 단순화 될 수 있도록 반보적으로 조인을 설정하여 사용하거나 동일한 조건절을 사용하는 테이블을 뷰로 사용한다.
<주문> 테이블과 <거래처> 테이블을 조인하여 사용하는 경우가 많다면
<주문> 테이블과 <거래처> 테이블에서 필요한 필드로 구성된 뷰를 생성한다.
동일한 테이블이라도 업무에 따라 테이블을 이용하는 부분이 달라질 수 있으므로 사용할 데이터를 다양한 관점에서 제시해야 한다.
<회원> 테이블에는 다양한 필드들이 존재하는데 제품 발송 업무를 처리할 때는 3가지만 사용한다면 이 3개의 필드로 구성된 뷰를 설계한다.
데이터의 보안 유지를 고려하여 설계한다.
<회원> 테이블의 총구매횟수, 총구매금액 등은 회사 차원에서 중요한 자료일 수 있으므로 발송 담당자가 볼 수 없도록 설계한다.