View는 하나 또는 그 이상의 기본테이블로부터 만들어지는 가상의 테이블입니다.
기본테이블의 경우 물리적으로 데이터가 저장되는 반면 View는 뷰의 정의만 시스템 내에 저장되어있다가 실행시간에 테이블을 구축합니다.
뷰는 다음과 같은 특징을 가지고 있습니다.
- 데이터 검색의 경우 기본 테이블과 아무런 사용없이 사용가능합니다.
- 뷰에 대한 갱신(삽입, 삭제, 수정) 연산은 제약이 존재합니다.
뷰 생성 SQL
CREATE VIEW 뷰이름 AS SELECT 문 WITH CHECK OPTION
뷰 제거 SQL
DROP VIEW 뷰이름 {RESTRICT | CASCADE}
뷰의 제약조건
- 집계 함수(COUNT, SUM, AVG, MAX, MIN)가 관련되어 정의된 경우
- DISTINCT, GROUP BY, HAVING이 사용되어 정의된 경우
- 두 개 이상의 테이블이 관련되어 정의된 경우(JOIN VIEW)
- 변경할 수 없는 뷰를 기반으로 정의된 경우
- 뷰의 열이 상수나 산술 연산자 또는 함수가 사용된 산술 식으로 만들어진 경우
뷰의 장점
- 데이터의 논리적 독립성을 제공
- 기본테이블의 일부 데이터를 감추기 때문에 보안성을 가짐
- 복잡한 쿼리를 단순한 쿼리로 대체가능함
- 사용자 별로 다양한 데이터를 제공할 수 있음
뷰의 단점
- 정의를 변경할 수 없음(삭제 후 재생성)
- 삽입, 수정, 삭제 연산에 대한 제약이 많음
- 가상의 테이블을 구축하기 떄문에 성능이 저하됨
출저
- 성결대학교 재학 시 들었던 DB 과목에 대한 내용을 기반으로 작성
'DB' 카테고리의 다른 글
SQL 문제풀이 3) (0) | 2020.12.17 |
---|---|
SQL 문제풀이 2) (0) | 2020.12.16 |
SQL 문제풀이 1) (0) | 2020.12.15 |
MariaDB에서 사용하는 스토리지 엔진에 대해 알아보자 (0) | 2020.12.02 |
트랜잭션에서 사용되는 ACID란? (0) | 2020.12.02 |