728x90
뷰(VIEW)
테이블과 달리 실제 데이터를 가지고 있지 않고, 뷰 정의(View Definition)만을 가지고 있다.
→ 뷰가 사용되면 뷰 정의를 참조해서 DBMS 내부적으로 질의를 재작성(Rewrite)하여 질의를 수행.
- 테이블이 수행하는 역할을 수행하기 때문에 가상 테이블(Virtual Table)이라고도 함.
뷰 장점
- 독립성
: 테이블 구조가 변경되어도 뷰를 사용하는 응용 프로그램은 변경할 필요 없음.
- 편리성
: 복잡한 질의를 뷰로 생성하여 질의를 단순하게 작성할 수 있음.
- 보안성
: 숨기고 싶은 정보가 존재한다면, 뷰를 생성할 때 해당 칼럼을 빼고 생성하여 사용자에게 정보를 감춤.
뷰 생성
CREATE VIEW V
AS SELECT T1.칼럼명1, T2.칼럼명2, ...
FROM 테이블1 T1, 테이블2 T2
WHERE T1.칼럼명 = T2.칼럼명;
테이블 뿐만 아니라 이미 존재하는 뷰를 참조해서도 생성할 수 있음.
뷰 사용 방법
SELECT 칼럼명1, ...
FROM V
WHERE 칼럼명1 LIKE 'ABC'
//DBMS가 내부적으로 SQL문을 재작성
SELECT 칼럼명1, ...
FROM (SELECT T1.칼럼명1, ...
FROM 테이블1 T1, 테이블2 T2
WHERE )
WHERE 칼럼명1 LIKE 'ABC'
뷰 제거
DROP VIEW V;
728x90
반응형
'데이터베이스 > 데이터베이스 공부' 카테고리의 다른 글
그룹 내 순위 함수(RANK, DENSE_RANK, ROW_NUMBER) (0) | 2022.09.03 |
---|---|
그룹 함수(ROLLUP, CUBE, GROUPING SETS) (0) | 2022.09.03 |
FROM절 JOIN(INNER JOIN, NATURAL JOIN, USING 조건절, ON 조건절, CROSS JOIN, OUTER JOIN) (0) | 2022.09.03 |
일반 집합 연산자, 순수 관계 연산자 (0) | 2022.09.03 |
EQUI JOIN(등가 조인)과 Non EQUI JOIN(비등가 조인) (0) | 2022.09.02 |