SQL 에서 view 는 가상에 테이블이고 column 을 직접 조작할 수 없고 등등으로 알고있는데 이번에 정리를 한번 해봐야 겠다.
뷰는 하나 이상의 기본 테이블이나 다른 뷰를 이용하여 생성되는 가상 테이블 이다.
- 기본 테이블은 디스크에 공간이 할당되어 데이터르르 저장함
- 뷰는 데이터 딕셔너리 테이블에 뷰에 대한 정의만 저장되어 디스크 저장 공간 할당이 이루어지지 않음
- 전체 데이터 중에서 일부만 접근할 수 있도록 함
- 뷰에 대한 수정 결과는 뷰를 정의한 기본테이블에 적용됨
- 뷰를 정의한 기본 테이블에서 정의도니 무결성 제약조건은 그대로 유지됨
뷰의 필요성
- 사용자 마다 특정 객체만 조회할 수 있도록 할 필요가 있음 (모든 직원에 대한 정보를 모든 사원이 볼 수 있도록 하면 안 됨)
- 복잡한 질의문을 단순화 할 수 있음
- 데이터의 중복성을 최소화할 수 있음
- 예) 판매부에 속한 사원들만 사원테이블에서 찾아서 다른 테이블로 만들면 중복성이 발생함 → 이럴 떄 뷰가 필요함
뷰의 장단점
장점
- 논리적 독립성을 제공함
- 데이터의 접근 제어 (보안)
- 사용자의 데이터 관리 단순화
- 여러 사용자의 다양한 데이터 요구 지원
단점
- 뷰의 정의 변경 불가
- 삽입 삭제 갱신 연산에 제한이 있음