eunzae's develog
[SQL] VIEW 본문
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 |