SQL 12. 뷰
SQL 12. 뷰
1. 뷰
하나 이상의 테이블을 합해서 만든 가상의 테이블
- 뷰의 장점
편리성 및 재사용성 : 자주 사용되는 복잡한 질의를 뷰로 미리 정의해 놓을 수 있음. 복잡한 질의를 간단하게 작성할 수 있고 미리 정의된 뷰를 일반 테이블처럼 사용할 수 있음
보안성 : 각 사용자별로 필요한 데이터만 선별하여 보여줄 수 있음. 중요한 질의의 경우질의 내용을 암호화할 수 있음. 민감한 정보를 제외한 뷰를 만들어 사용 가능
논리적 데이터 독립성 : 개념 스키마의 데이터베이스 구조가 변해도 외무 스키마에 영향을 주지 않도록 하는 논리적 데이터 독립성 제공
- 뷰의 특징
원본 데이터 값에 따라 같이 변함
독립적인 인덱스 생성이 어려움
삽입, 삭제, 갱신 연산에 많은 제약이 따름
2. 뷰 생성
뷰는 실제 SQL 문에서 테이블과 동일하게 사용할 수 있는 데이터베이스 객체
뷰의 정의 = 뷰의 생성
CREATE VIEW [뷰 이름] ( [열 이름 나열 (생략 가능) ] )
AS [SELECT 문]
=> 해당 SELECT문의 결과를 뷰로 만들어줌
* 예시 - 도서이름에 '축구'가 들어간 도서들로 구성된 뷰 생성
-> 뷰 확인하기
-> 뷰를 테이블처럼 사용
* 예시 - 주소에 '대한민국'을 포함하는 고객들로 구성된 뷰 생성
-> 열 이름에 대한 특별한 정의가 없으면 SELECT문의 열 이름을 그대로 가져와서 사용
* 예시 - 주문아이디, 고객아이디, 고객이름, 도서아이디, 도서이름, 가격, 판매날짜를 보여주는 뷰 생성
* 결과 확인 - '김연아'고객이 구입한 도서의 주문번호, 도서이름, 주문액
3. 뷰 수정
CREATE OR REPLACE VIEW [뷰 이름] ( [열 이름 나열 (생략 가능) ] )
AS [SELECT 문]
=> 해당 뷰 이름이 없으면 새로 생성하고 있으면 위의 내용으로 수정
* 예시 - 주소가 '대한민국'인 고객을 보여주는 vw_Customer 뷰를 주소가 '영국'인 고객을 보여주는 뷰로 변경 (phone 속성을 필요없으므로 제외)
4. 뷰 삭제
DROP VIEW [뷰 이름]
* 예시 - vw_Customer 뷰 삭제




댓글
댓글 쓰기