뷰(VIEW)란?
- 하나 이상의 테이블에서 파생된 가상 테이블
- 실제 데이터를 저장하지 않고, 논리적으로만 존재
- 특정 사용자나 응용 프로그램에 맞게 데이터를 필터링하거나 조합하여 제공
뷰의 장점
- 복잡한 쿼리문 단순화
- 특정 조건으로 뷰를 미리 만들어 놓으면, 사용자가 특정 조건절이나 조인 없이 뷰만을 검색해서 특정 조건 데이터 검색 가능
- 보안 강화
- 사용자에게 필요한 데이터만 노출시켜, 민감한 정보를 숨길 수 있음
- 논리적 데이터 독립성
- 기본 테이블 구조가 변경되더라도 뷰의 정의만 수정하면 영향을 주지 않음
뷰의 단점
- 기본 테이블의 내용 변화는 제한적
- 단순한 뷰가 아닌 조인된 테이블을 포함하거나 집계 함수, 그룹화, DISTINCT, 서브쿼리 등이 포함된 뷰는 업데이트가 불가능하거나 제한적
- 성능 저하 위험
- 뷰는 기본 테이블의 데이터를 동적으로 조회하기 때문에, 기본 테이블이 크거나 복잡한 뷰는 성능 문제를 유발할 가능성이 있음
뷰 명령어
뷰 생성 : CREATE VIEW
CREATE VIEW 뷰이름 AS
SELECT 열1, 열2, ...
FROM 기본테이블
WHERE 조건;
뷰 삭제 : DROP VIEW
DROP VIEW 뷰이름;
뷰 수정 : CREATE OR REPLACE VIEW, ALTER VIEW (데이터베이스 시스템에 따라 지원 여부 다름)
Reference
https://terms.naver.com/entry.naver?docId=3431211&cid=58430&categoryId=58430&expCategoryId=58430