뷰의 생성
- 뷰(VIEW)는 하나 이상의 테이블을 합하여 만든 가상의 테이블
- 장점
- 편리성 및 재사용성 : 자주 사용되는 복잡한 질의를 뷰로 미리 정의해 놓을 수 있음. → 복잡한 질의를 간단히 작성
- 보안성 : 각 사용자별로 필요한 데이터만 선별하여 보여줄 수 있음. 중요한 질의의 경우 질의 내용을 암호화할 수 있음.
- 개인정보(주민번호)나 급여, 건강 같은 민감한 정보를 제외한 테이블을 만들어 사용
- 독립성 제공 : 미리 정의된 뷰를 일반 테이블처럼 사용할 수 있기 때문에 편리함. 또 사용자가 필요한 정보만 요구에 맞게 가공하여 뷰로 만들어 쓸 수 있음.
- 원본테이블이 구조가 변하여도 응용에 영향을 주지 않도록하는 논리적 독립성 제공
- 카티션 프로덕트 연산 시간이 오래 걸리는 것에 대해서, 미리 뷰로 만들어 놓고 이후 여기서 가져오기
기본 문법
CREATE VIEW 뷰이름[(열이름[,...N)]
AS 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;
뷰의 수정
기본 문법
CREATE OF REPLACE VIEW 뷰이름 [(열이름 [ ,...n ])]
AS SELECT 문
활용 예제
CREATE OR REPLACE VIEW vw_Customer (custid, name, address)
AS SELECT custid, name, address
FROM Customer
WHERE address LIKE '%영국%';
뷰 삭제
기본 문법
DROP VIEW 뷰이름 [ ,...n ];
활용예제
DROP VIEW vw_Customer;
'데이터 엔지니어링 > 데이터베이스 및 운영체제' 카테고리의 다른 글
SQL - 인덱스 (0) | 2023.03.24 |
---|---|
SQL(ORACLE) 시스템 및 DML 권한 명령어 모음 (0) | 2023.03.24 |
SQL SUBQUERY 사용규칙, WHERE 부속 질의 (0) | 2023.03.23 |
SQL 집합 연산, EXISTS (0) | 2023.03.23 |
SQL 서브쿼리(부속질의) (1) | 2023.03.22 |