뷰(VIEW) 테이블 이란?
데이터베이스에 존재하는 일종의 가상테이블이다.
가상테이블이란? 이름 그대로 실제 데이터를 가지고 있지 않은 테이블을 의미한다.
데이터가 아닌, SQL을 저장하고 있기때문에 데이터를 보여주기만 하는 테이블이며
VIEW를 통해 데이터를 관리 할 수 있다.
VIEW는 데이터가 없고 SQL만 저장하고
TABLE은 실질적인 데이터가 있다.
뷰(VIEW)의 사용목적은?
- 복잡한 쿼리문 간소화 (데이터 조회 용이)
- 중복 발생하는 쿼리문 관리
- 보여주는 컬럼 제한 가능 (보안성)
뷰(VIEW)테이블 사용시 단점
뷰는 삽입(INSERT), 갱신(UPDATE), 삭제(DELETE) 연산에 제약이 있다.
단순 뷰 인경우에는 자유롭긴 하지만
함수, UNION, GROUP BY등을 사용한 복합 뷰인 경우에는 불가능하다 !
- 단순 뷰 : 하나의 기본 테이블에 정의 된 뷰
- 복합 뷰 : 두개 이상의 기본 테이블로 파생된 뷰
또한 뷰에 인덱스를 구성할 수 없고,
뷰를 포함하여 뷰를 만든 경우에는 연관 뷰를 삭제하면 생성한 뷰도 삭제된다!
마지막으로, 한번 정의된 뷰는 수정이 불가하다.
테이블(TABLE)이 아닌 뷰(VIEW)를 사용하는 이유
데이터의 보안과 사용자의 편리함 때문이다.
원본 테이블에 직접적으로 접근하지 않아도,
뷰를 구성하여 별도의 이름을 붙이거나 접근 가능한 사람을 지정 할 수 있다.
또한 자주 사용하는 복잡한 쿼리문을 매번 사용 할 필요가 없다.
'DB' 카테고리의 다른 글
[SQLD] 2과목 - 1장 SQL 기본 및 활용 요약 (2) | 2023.11.13 |
---|---|
[SQLD] 1과목 - 2장 데이터 모델과 성능 요약 (0) | 2023.11.10 |
[SQLD] 1과목 - 데이터 모델링의 이해 요약 (0) | 2023.11.08 |
[SQL/ORACLE] SQL 기본 문법 (CREATE, DROP, RENAME) (0) | 2023.06.28 |
[SQL] 프로시저(Procedure) (1) | 2023.05.15 |