개발환경: 10.11.0-MariaDB
1. 뷰(View)란 무엇인가?
뷰는 사용자에게 접근이 허용된 자료만을 제한적으로 보여주기 위해 하나 이상의 기본 테이블로부터 유도된, 이름을 가지는 가상 테이블이다. 뷰는 저장장치 내에 물리적으로 존재하지 않지만 사용자에게 있는 것처럼 간주된다.
2. 뷰의 장단점
장점
- 특정 사용자에게 테이블 전체가 아닌 보여주고 싶은 컬럼만을 보여줄 수 있다.
- 복잡하고 반복되어 사용되는 쿼리를 단순화 할 수 있다.(재사용성)
- 접근 제어를 통한 자동 보안이 제공된다.
단점
- 뷰는 한 번 정의되면 변경이 불가능합니다.
- 삽입, 삭제, 갱신 작업에 많은 제한 사항을 가집니다.
- 뷰는 자신만의 인덱스를 가질 수 없습니다.
3. 뷰 사용법
1. 뷰 생성
create view 뷰이름 AS
select 컬럼1, 컬럼2, 컬럼3 ...
from 테이블이름
where 조건
2. 뷰 삭제
- 뷰는 ALTER문을 사용하여 변경할 수 없으므로 필요한 경우는 삭제한 후 재생성한다
drop view 뷰이름 (RESTRICT or CASCADE);
RESTRICT : 뷰를 다른곳에서 참조하고 있으면 삭제가 취소된다.
CASCADE : 뷰를 참조하는 다른 뷰나 제약 조건까지 모두 삭제된다.