본문 바로가기
데이터베이스 DB

view(뷰) 장점, 단점, 생성문법. 뷰 예제

by tovantablack 2021. 3. 3.
728x90
728x90

뷰 장점

자주 사용되는 복잡한 질의를 뷰로 미리 정의해 놓을 수 있음 (편리성 및 재사용성)

각 사용자별로 필요한 데이터만 선별하여 보여줄 수 있음 (보안성)

필요한 정보만 요구에 맞게 가공하여 뷰로 만들어 사용 가능함 (독립성)

 

뷰 단점

원본 데이터 값에 따라 같이 변함

독립적인 인덱스 생성이 어려움

삽입, 삭제, 갱신 연산에 많은 제약이 따름

 

뷰 생성문법

뷰 생성 CREATE VIEW 뷰이름 [(열이름 [ ,...n ])]

AS SELECT

뷰 수정 CREATE OR REPLACE VIEW 뷰이름 [(열이름 [ ,...n ])]

AS SELECT

혹은 ALTER VIEW 로 해도 됨

뷰 삭제 DROP VIEW 뷰이름 [ ,...n ];

 

예시

- 주소에 대한민국을 포함하는 고객들로 구성된 뷰를 만들고 조회하시오.

, 뷰의 이름은 vw_Customer로 한다.

CREATE VIEW vw_Customer

AS SELECT *

FROM Customer

WHERE address LIKE '%대한민국%';

 

- Orders 테이블에 고객이름과 도서이름을 바로 확인할 수 있는 뷰를 생성

create view vw_orders (orderid, custid, name, bookid, bookname, saleprice, orderdate)

as select od.orderid, od.custid, cs.name, od.bookid, bk.bookname, od.saleprice, od.orderdate

from orders od, customer cs, book bk

where od.custid = cs.custid and od.bookid = bk.bookid;

 

- 생성한 vw_Customer 뷰를 영국을 주소로 가진 고객으로 변경, phone 속성은 필요 없으므로 포함시키지 마시오.

CREATE OR REPLACE VIEW vw_Customer (custid, name, address)

AS SELECT custid, name, address

FROM Customer

WHERE address LIKE '%영국%';

728x90
728x90

댓글