< View의 개념 >

  • View는 논리 테이블로서 사용자에게(생성 관점 아닌 사용 관점에서) 테이블과 동일하다.
  • View는 TABLE A와 같은 하나의 물리 테이블로부터 생성 가능하며, 다수의 테이블 또는 다른 뷰를 이용해 만들 수 있다.
  • View와 같은 결과를 만들기 위해 Join 기능을 활용할 수 있으나, View가 만들어져 있다면 사용자는 조인 없이 하나의 테이블을 대상으로 하는 단순한 질의어를 사용할 수 있다.

< View 장단점 >

[장점]

논리적 독립성 제공 : 데이터베이스에 영향을 주지 않고 애플리케이션이 원하는 형태로 데이터에 접근 가능하다.

데이터 조작 연산 간소화 : 애플리케이션이 원하는 형태의 논리적 구조를 형성하여 데이터 조작 연산을 간소화 한다.

복수 테이블에 존재하는 여러 종류의 데이터에 대해 단순한 질의어 사용이 가능하다.

보안 기능(접근제어) 제공 : 특정 필드만을 선택해 View를 생성할 경우 애플리케이션은 선택되지 않은 필드의 조회 및 접근이 불가 하다. 

또한 중요 보안 데이터를 저장 중인 테이블이나 컬럼에는 접근이 불허된다.

 

 

[단점]

View 자체 인덱스 불가 : 인덱스는 물리적으로 저장된 데이터를 대상으로 하기에 논리적 구성인 뷰 자체는 인덱스를 가지지 못한다.

View 변경 불가 : 뷰의 정의를 변경하려면 뷰를 삭제하고 재생성 해야한다. 뷰 정의는 ALTER 문을 이용하여 변경할 수 없다.

(View는 CREATE 문을 사용하여 정의, 뷰를 제거할 때는 DROP문을 사용한다.)

데이터 변경 제약 존재 : 뷰의 내용에 대한 삽입,삭제,변경 제약이 있다. 

 

< View 명령어 >

① 뷰 생성

  • 뷰 생성의 일반 형태는 다음과 같다.
상황 뷰 생성 쿼리문
테이블 A 그대로 CREATE VIEW VW_A AS
SELECT *
   FROM A;
테이블 A 일부 컬럼 CREATE VIEW VW_B AS
SELECT 컬럼1, 컬럼2
   FROM A;
테이블 A와 테이블 B 조인 결과 CREATE VIEW VW_C AS
SELECT *
   FROM A, B
WHERE A.컬럼1 = B.컬럼1;

SELECT문에는 UNION이나 ORDER BY절을 사용할 수 없다.컬럼명을 기술하지 않으면 SELECT 문의 컬럼명이 자동으로 사용된다.

 

②뷰 삭제/변경

  • 뷰 정의 자체를 변경하는 것은 불가능하다.
  • 뷰 이름이나 쿼리문을 변경하는 수단은 제공되지 않는다.
  • 뷰 삭제와 재생성을 통해 뷰에 대한 정의 변경이 가능하다.

ⓐ DROP VIEW 문법

DROP VIEW 문법은 다음과 같다.

 

DROP VIEW 테이블명 [CASCADE | RESTRICT];

 

ⓑ DROP VIEW 명령어 옵션

DROP VIEW 명령어의 옵션에는 CASCADE와 RESTRICT가 있다.

 

CASCADE : 참조하는 테이블까지 연쇄적으로 제거하는 옵션

RESTRICT : 다른 테이블이 삭제할 테이블을 참조 중이면 제거하지 않는 옵션 

 

Source :2023 수제비 정보처리기사

https://product.kyobobook.co.kr/detail/S000200275590

 

2023 수제비 정보처리기사 필기 1권+2권 합본 세트 | NCS 정보처리기술사 연구회 - 교보문고

2023 수제비 정보처리기사 필기 1권+2권 합본 세트 | ㆍ 암기비법 PDF 제공ㆍ 2023년 최신 출제기준 반영!ㆍ 최적의 암기비법(두음쌤)과 학습 Point 수록ㆍ 합격만을 위한 수제비 학습 전략 안내ㆍ 각

product.kyobobook.co.kr

 

'SQL 이론' 카테고리의 다른 글

인덱스(Index)  (0) 2023.06.06
SQL Joins  (0) 2023.05.17
정규화(Normalization)  (0) 2023.05.16
DBMS의 동시성 제어  (0) 2023.05.16
DataBase Key  (0) 2023.05.16

+ Recent posts