1. 뷰의 개념

- 하나 이상의 기본 테이블에서 유도되는 가상 테이블

저장장치 내에 물리적으로 존재 X, BUT 사용자에게는 있는 것처럼 보임

- 뷰 생성 -> 뷰 정의가 시스템 내에 저장되었다가 생성된 뷰의 이름을 질의어에서 사용할 경우 질의어가 실행될

때 뷰에 정의된 기본 테이블로 대체되어 기본 테이블에 대해 실행

 

2. 뷰의 특징

- 기본 테이블에서 유도된 테이블인 뷰. -> 기본 테이블과 같은 형태, 유사한 조작

- 물리적으로 구현되어 있지 않음

- 필요한 데이터만을 뷰로 정의해서 처리할 수 있기 때문에 관리 용이, 명령문이 간단

- 뷰를 통해서만 데이터에 접근 -> 뷰에 나타나지 않은 데이터를 안전히 보호 가능

- 기본 테이블의 기본키를 포함한 속성 집합으로 뷰를 구성해야만 삽입, 삭제, 갱신 연산 가능

- 정의된 뷰는 다른 뷰의 정의에 기초가 될 수 있음

 

3. 뷰 연산 시의 제약성

- 뷰의 열이 테이블이 열이 아닌 상수, 계산식, 그룹 함수를 사용해 만들어진 뷰는

- DISTINCT(중복제거), GROUP BY, HAVING을 사용해 만들어진 뷰는

- 둘 이상의 테이블에서 유도된 뷰는

- 변경하지 못하는 뷰를 토대로 하여 생성된 뷰는

변경 불가능

 

 

 

4. CREATE VIEW

CREATE VIEW 뷰명[(속성명, 속성명 ...)]

AS SELECT

[WITH CHECK OPTION] ;

AS SELECT: ORDER BY, UNION 사용 불가함

WITH CHECK OPTION : 뷰에 대한 갱신이나 삽인 연산이 실행될 때 뷰의 정의 조건을 위배하면 실행 거부

속성명 없으면 SELECT 문 속성명이 자동으로 뷰 속성으로 됨

 

5. DROP VIEW

DROP VIEW 뷰명 [CASCADE | RESTRICT];

CASCADE : 뷰 참조하는 다른 뷰나 제약조건까지 모두 제거

RESTRICT : 뷰를 다른 곳에서 참조하고 있으면 제거가 취소

 

+ Recent posts