반응형
뷰테이블은 하나의 가상 테이블이라고 생각하면 된다.
실제 데이터가 저장되는것이 아니고 뷰를 통해 데이터를 관리할 수 있다.
VIEW와 TABLE과의 차이점은 그냥 TABLE은 실질적인 데이터가 있지만, VIEW는 데이터가 없고 SQL만 저장한다.
쿼리의 결과를 마치 사진으로 찍어 보존한 후, 다음에 또 쿼리 없이 볼 수 있도록 하는 역할
따로 데이터를 생성하는 것이 아니라 참조만 하는 것이다.
뷰가 참조하는 테이블의 데이터가 변경되면 뷰의 데이터도 같이 업데이트 된다.
CREATE VIEW myview AS
SELECT name, temp_lo, temp_hi, prcp, date, location
FROM weather, cities
WHERE city = name;
SELECT * FROM myview;
CREATE 생략가능[OR REPLACE] 생략가능[FORCE | NOFORCE] VIEW 뷰명
AS (SELECT문)
생략가능[WITH CHECK OPTION 생략가능[CONSTRAINT 제약조건명]]
생략가능[WITH READ ONLY 생략가능[CONSTRAINT 제약조건명]]
OR REPLACE : 해당 구문 사용하면 뷰를 수정할 때 DROP 없이 수정 가능
With Check : 주어진 제약 조건에 맞는 데이터만 입력 및 수정 가능
With read only : select 만 가능
장점
- 논리적 데이터 독립성을 제공한다.
- 동일 데이터에 대해 동시에 여러 사용자의 상이한 응용이나 요구를 지원해 준다.
- 사용자의 데이터 관리를 간단하게 해준다.
- 접근 제어를 통한 자동 보안이 제공된다.
단점
- 독립적인 인덱스를 가질 수 없다.
- ALTER VIEW문을 사용할 수 없다. 즉 뷰의 정의를 변경할 수 없다.
- 뷰로 구성된 내용에 대한 삽입, 삭제, 갱신, 연산에 제약이 따른다.
- 단순 뷰는 삽입/갱신/삭제가 자유롭다. UNION, GROUP BY 등 복잡 뷰는 불가하다.
반응형
'DB > PostgreSQL' 카테고리의 다른 글
[PostgreSQL] PostgreSQL의 유니크 인덱스에 대해서 알아보자. (Unique Index) (0) | 2022.06.30 |
---|---|
[PostgreSQL] PostgreSQL의 멀티 칼럼 인덱스에 대해서 알아보자. (Multicolumn Indexes) (0) | 2022.06.30 |
[PostgreSQL] PostgreSQL의 GiST, SP-GiST Index에 대해서 알아보자. (0) | 2022.06.19 |
[PostgreSQL] PostgreSQL의 Geometric Type에 대해서 알아보자. (0) | 2022.06.19 |
[PostgreSQL] PostgreSQL의 B-tree, Hash Index에 대해서 알아보자. (0) | 2022.06.19 |