■ 뷰(VIEW)란?
- 뷰는 사용자에게 접근이 허용된 자료만을 제한적으로 보여주기 위해 하나 이상의 기본 테이블로부터 유도된, 이름을 가지는 가상 테이블이다.
- 뷰는 복잡한 쿼리를 단순화 시킬 수 있다.
- 뷰는 사용자에게 필요한 정보만 접근하도록 접근을 제한할 수 있다.
뷰(VIEW) 생성
1
2
3
4
5
6
|
CREATE [OR REPLACE] [FORCE|NOFORCE] VIEW 뷰이름(사용자정의)
[(column_aliases)]
AS
SELECT 문
[WITH READ ONLY]
[WITH CHECK OPTION [CONSTRAINT 제약조건명]]
|
cs |
OR REPLACE : 해당 구문을 사용하면 뷰를 수정할 때 DROP 없이 수정이 가능하다.
FORCE : 뷰를 생성할 때 쿼리문의 테이블, 컬럼, 함수 등이 존재하지 않아도 생성이 가능하다.
NORORCE : 뷰를 생성할 때 쿼리문의 테이블, 컬럼 함수 등이 존재하지 않으면 생성되지 않는다.
column_aliases : SELECT 컬럼의 별칭을 미리 정의할 수 있다.
WITH READ ONLY : SELECT 만 가능하다. (INSERT, UPDATE, DELETE 불가능)
WITH CHECK OPTION : WHERE 절의 조건에 해당하는 데이터만 저장, 변경이 가능하다.
뷰(VIEW) 삭제
1
|
DROP VIEW 뷰이름(사용자정의)
|
cs |
■ 뷰(VIEW)의 특징
- 뷰는 데이터의 논리적 독립성을 제공할 수 있다.
- 뷰는 가상 테이블이기 때문에 물리적으로 구현되어 있지 않다.
- 필요한 데이터만 뷰로 정의해서 처리할 수 있기 때문에 관리가 용이하다.
- 뷰에 나타나지 않은 데이터를 안전하게 보호할 수 있다.
- 정의된 뷰는 다른 뷰의 정의에 기초가 될 수 있다.
- 뷰가 정의된 기본 테이블이나 뷰를 삭제하면 그 테이블이나 뷰를 기초로 정의된 다른 뷰도 자동으로 삭제된다.
■ 뷰(VIEW)의 장점
- 논리적 데이터 독립성 제공
- 동일 데이터에 대해 동시에 여러 사용자의 상이한 응용이나 요구를 지원
- 사용자의 데이터 관리를 간단하게 해줌
- 접근 제어를 통한 자동 보안이 제공
■ 뷰(VIEW)의 단점
- 독립적 인덱스를 가질 수 없음
- ALTER VIEW문을 사용할 수 없음 (뷰의 정의를 변경할 수 없음)
- 뷰로 구성된 내용에 대한 삽입, 삭제, 갱신, 연산에 제약이 따름
'프로그램 > DataBase' 카테고리의 다른 글
[Oracle] JOIN (0) | 2021.02.16 |
---|---|
[Oracle] 프로시저, 함수의 이해 (0) | 2021.02.16 |
[Oracle] 쿼리문의 이해 및 자주 쓰는 내장 함수 이해 (0) | 2021.02.16 |
[Oracle] 오라클 접속 및 PLSQL 사용법 (0) | 2021.02.16 |
[Oracle] DDL (테이블 및 인덱스 생성) (0) | 2021.02.15 |