가자미의 개발이야기

[데이터베이스] 뷰 본문

Computer Science/데이터베이스

[데이터베이스] 뷰

가자미 2021. 2. 23. 16:34

-뷰 : 질의의 결과 만들어지는 가상의 테이블로 실제 테이블처럼 사용

 

*실제 데이터를 디스크에 저장되는게 아니라 DBMS가 SELECT문의 정의를 저장함

*INSERT, UPDATE, DELETE 같은 DML 작업은 뷰에서 수행하지 않는다.

 

1. 뷰 생성

CREATE VIEW 뷰이름 [(열이름....)]
AS SELECT 문...
================================
열이름은 뷰에서 사용할 열의 이름.
열이름과 SELECT에서 추출하는 속성은 일대일 대응
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;

SELECT orderid, bookname, saleprice
FROM vw_Orders
WHERE name='김연아';

2. 뷰 수정

CREATE OR REPLACE VIEW 뷰이름 [(열이름...)]
AS SELECT 문...
CREATE OR REPLACE VIEW vw_Customer (custid, name, address)
AS SELECT custid, name, address
     FROM Customer
     WHERE address LIKE '%영국%';
     
SELECT *
FROM vw_Customer;

3. 뷰 삭제

DROP VIEW 뷰이름