뷰 장점
자주 사용되는 복잡한 질의를 뷰로 미리 정의해 놓을 수 있음 (편리성 및 재사용성)
각 사용자별로 필요한 데이터만 선별하여 보여줄 수 있음 (보안성)
필요한 정보만 요구에 맞게 가공하여 뷰로 만들어 사용 가능함 (독립성)
뷰 단점
원본 데이터 값에 따라 같이 변함
독립적인 인덱스 생성이 어려움
삽입, 삭제, 갱신 연산에 많은 제약이 따름
뷰 생성문법
뷰 생성 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 '%영국%';
'데이터베이스 DB' 카테고리의 다른 글
식별자/부분키 (0) | 2021.03.03 |
---|---|
인덱스 장단점, 클러스터형 인덱스, 인덱스 고려사항/주의점 (0) | 2021.03.03 |
SQL 정규표현식: REGEXP (0) | 2020.12.17 |
통계 기반 데이터 분석: 가설, 가설 검정 방법 종류, 가설검증의 오류 (0) | 2020.08.16 |
분석용 데이터 101: 홀드아웃 교차 방법, 다중 교차 방법 (0) | 2020.08.16 |
댓글