eunzae's develog

[SQL] VIEW 본문

Language/SQL

[SQL] VIEW

eunzae 2022. 12. 16. 14:16

VIEW

- VIEW는 다른 테이블에서 파생된 테이블

- 물리적으로 데이터가 저장되는 것이 아니라, 논리적으로만 존재함

- VIEW를 사용한 질의 시에는  DBMS 에서 VIEW 정의에 따라 질의를 재작성하여 수행함

 

VIEW 장점

특징 설명
독립성 - 테이블 구조가 변경되어도 뷰를 사용하고 있는 응용프로그램은 변경하지 않아도 됨
편리성 - 자주 사용되는 복잡한 쿼리를 미리 뷰로 정의해놓으면, 추후 쿼리는 간단한 형태로 표현할 수 있음
보안성 - 사용자의 권한에 따라 열람 가능한 데이터를 다르게 할 수 있음
- 권한에 따라 확인 가능한 컬럼을 정의하여 뷰를 생성하며, 기본 테이블 노출 없이 접근 제어를 할 수 있음.

 

VIEW 특징

- 생성된 뷰는 또 다른 뷰를 생성하는데 사용될 수 있음

- 뷰의 정의는 변경할 수 없으며, 삭제 후 재생성이 필요함

- 뷰를 통한 갱신에는 제약이 따름

- 갱신을 위해서는 기본적으로 원천 테이블의 기본키가 포함되어야 함

- 원천이 되는 테이블이나 뷰가 삭제되면 이를 기반으로 하는 뷰도 함께 삭제됨

 

VIEW 정의 쿼리

CREEATE VIEW 뷰이름 AS(
SELECT 컬럼1, 컬럼2, ...  --뷰를 생성할 쿼리 구문
FROM 테이블명
WHERE 조건)
;

-- 같은 이름의 뷰가 존재하면 기존 뷰를 대체할 시
REPLACE VIEW 뷰이름 AS(
SELECT 컬럼1, 컬럼2, ...   --뷰를 생성할 쿼리 구문
FROM 테이블명
WHERE 조건)
;

 

'Language > SQL' 카테고리의 다른 글

[SQL] 그룹함수  (0) 2022.12.16
[SQL]윈도우 함수  (0) 2022.12.16
[SQL] 서브쿼리 심화  (0) 2022.12.16
[SQL] JOIN 심화  (0) 2022.12.15
[SQL] 계층형 질의  (0) 2022.12.15