- 타 테이블을 기반으로 만들어진 가상의 테이블로 실제로 데이터를 저장하지 않고 논리적으로 존재하는 테이블
- 일반 테이블과 똑같이 사용 가능
- 뷰들을 가지고 새로운 뷰를 만드는 것도 가능
- 수정은 제한되지만 검색은 가능 -> 주로 검색하는 것으로 사용하는 경우가 많음
장점
end user 혹은 programmer 입장에서 필요한 정보들을 모아놓은 뷰를 미리 만들어 놓음으로 질의문을 간단하게 만들 수 있음
관점, 용도에 따라 뷰를 제공하여 오리지널 테이블의 정보를 보호할 수 있음
유져 입장에서 제공된 뷰랑 상관 없는 내용에는 신경쓰지 않아도 되어서 데이터 관리가 편함
뷰(View) 생성
CREATE VIEW VIP고객(고객아이디, 이름, 주소)
AS SELECT 고객아이디, 이름, 주소 FROM 고객 WHERE 등급=3
WITH CHECK OPTION;
뷰이름과 뷰를 구성하는 속성 이름들 나열
AS - 기본 테이블에서 어떠한 정보를 뷰로 가져올 것인지 작성 (최종 결과물 용이 아니기 때문에 ORDER BY 사용 불가)
WITH CHECK OPTION - AS에서 정의된 뷰의 조건을 위반시, UPDATE/CREATE되지 않는다.
뷰(View) 검색
검색은 원래 테이블에서 사용했던 SELECT를 통한 검색 방법을 사용해 자유롭게 가능
뷰(View) 변경
뷰 즉, 논리적인 테이블에 대한 삽입/수정/삭제 행위는 원래 오리지널 테이블에 대해 적용이 되므로 제한적으로 수행됨
- 변경이 가능한 View
- 기본키를 구성요소로 가진 view면 기본키를 이용해서 오리지널 테이블의 값을 변경할 수 있음
- 집계 함수 등으로 새롭게 계산된 결과를 포함하지 않는 뷰
- DISTINCT, GROUP BY 를 사용하지 않은 뷰 = 오리지널 테이블과 구성이 다른 뷰
- 여러개의 테이블을 조인하지 않고 구성한 뷰
'데이터베이스 Database' 카테고리의 다른 글
SQL (Structured Query Language) - DML 총정리 (0) | 2021.12.09 |
---|---|
SQL (Structured Query Language) - DDL 총정리 (0) | 2021.12.09 |
관계 데이터 모델 (Relation) (0) | 2021.12.08 |
데이터 모델링 Data Modeling (0) | 2021.12.07 |
데이터 베이스 구조 - DataBase Structure (0) | 2021.12.07 |