Priv's Blog
9. ORACLE SQL 고급: 뷰(View) 본문
1. 뷰 (View)
뷰는 1개 이상의 테이블을 합쳐서 만든 가상의 테이블이다.
뷰는 다음과 같은 장점들을 지니고 있다.
- 편리성, 재사용성: 자주 사용되는 복잡한 질의를 뷰로 미리 정의할 수 있다. (복잡한 질의를 간단히 작성)
- 보안성: 각 사용자별로 필요한 데이터만 선별하여 보여줄 수 있다. (중요한 질의의 경우 질의 내용을 암호화 가능)
- 독립성 제공: 미리 정의된 뷰를 일반 테이블처럼 사용할 수 있기 때문에 편리하다. 사용자가 필요한 정보만 요구에 맞게 가공하여 뷰로 만들어 쓸 수 있다. (원본 테이블 구조가 변해도 응용에 영향을 주지 않도록 하는 논리적 독립성을 제공)
뷰는 다음과 같은 특징을 지니고 있다.
- 원본 데이터 값에 따라 함께 변한다.
- 독립적인 인덱스 생성이 어렵다.
- 삽입/삭제/갱신 연산에 많은 제약이 따른다.
2. 뷰 생성
뷰를 생성하는 기본 문법은 아래와 같다.
CREATE VIEW 뷰 이름 [(열 이름 [...N])]
AS SELECT 문
● Book 테이블에서 '축구'라는 문구가 포함된 자료만 보여주는 VW_BOOK 뷰를 생성하시오.
CREATE VIEW VW_BOOK AS
SELECT *
FROM BOOK
WHERE BOOKNAME LIKE '%축구%';
3. 뷰 수정
뷰를 수정하는 기본 문법은 아래와 같다.
CREATE OR REPLACE VIEW 뷰이름 [(열이름 [ ,...n ])]
AS SELECT 문
● VW_CUSTOMER 뷰의 주소, 이름, 고객 ID를 CUSTOMER 테이블에서 주소에 '영국'이 포함된 고객의 정보로 수정하시오.
CREATE OR REPLACE VIEW VW_CUSTOMER(CUSTID, NAME, ADDRESS) AS
SELECT CUSTID, NAME, ADDRESS
FROM CUSTOMER
WHERE ADDRESS LIKE '%영국%';
4. 뷰 삭제
뷰를 삭제하는 기본 문법은 아래와 같다.
DROP VIEW 뷰이름 [ ,...n ];
● VW_CUSTOMER 뷰를 삭제하시오.
DROP VIEW VW_CUSTOMER
수고하셨습니다!
'Dev. Study Note > Database (ORACLE)' 카테고리의 다른 글
11. 데이터 모델링 (0) | 2022.05.26 |
---|---|
10. ORACLE SQL 고급: 인덱스(Index) (0) | 2022.05.26 |
8. ORACLE SQL 고급: 부속 질의 (0) | 2022.05.26 |
7. ORACLE SQL 고급: SQL 내장 함수 (0) | 2022.05.26 |
6. ORACLE SQL 기초: 데이터 조작어 - 삽입, 수정, 삭제 (0) | 2022.05.11 |
Comments