반응형
1. 뷰(View)의 개요
뷰는 사용자에게 접근이 허용된 자료만을 제한적으로 보여주기 위해 하나 이상의 기본 테이블로부터 유도된 가상 테이블을 말한다.
- 뷰 이름을 질의어에서 활용할 경우 질의어가 실행될 때 뷰에 정의된 기본테이블로 대체되어 기본 테이블에 대해 실행되게 된다.
- 뷰는 임시적인 작업을 위한 용도로 활용됨
- 뷰는 사용상의 편의성을 최대화함
뷰 생성/삭제 방법
다음과 같은 SQL문으로 뷰를 생성할 수 있다.
- 기존에 있던 테이블에 있는 컬럼에서 원하는 자료만 조회하는 것이기 때문에, 만들 때도 SELECT 문을 통해 생성한다.
CREATE VIEW 뷰이름 AS SELECT 구문;
- 다음과 같은 SQL문으로 뷰를 삭제할 수 있다.
DROP VIEW 뷰이름;
2. 뷰의 특징
- 기본 테이블에서 유도된 테이블이기 때문에 기본 테이블과 구조가 같음
- 가상 테이블로 물리적으로 구현되어 있지 않음
- 데이터의 논리적 독립성을 제공함
- 필요한 데이터만 뷰로 정의해 처리 가능하기 때문에 관리가 용이함
- 뷰에 나타나지 않은 데이터를 안전하게 보호 가능
- 기본 테이블의 기본키를 포함한 속성 집합으로 뷰를 구성해야만 삽입, 삭제, 갱신이 가능함
- 뷰가 정의된 기본테이블이 삭제되면 뷰도 자동으로 삭제됨
3. 뷰의 장단점
뷰의 장점
- 논리적 데이터 독립성을 제공
- 동일 데이터에 대해 동시에 여러 사용자의 요구를 지원해줌
- 사용자의 데이터 관리를 간단하게 해줌
- 접근 제어를 통한 자동 보안 제공
뷰의 단점
- 독립적 인덱스를 가지지 못함
- 뷰의 정의 변경 불가능
- 삽입, 삭제, 갱신 연산에 제약이 따름
4. 뷰 설계 시 고려사항
- 테이블 구조가 단순화 될 수 있도록 반보적으로 조인을 설정하여 사용하거나 동일한 조건절을 사용하는 테이블을 뷰로 사용한다.
- <주문> 테이블과 <거래처> 테이블을 조인하여 사용하는 경우가 많다면
<주문> 테이블과 <거래처> 테이블에서 필요한 필드로 구성된 뷰를 생성한다. - 동일한 테이블이라도 업무에 따라 테이블을 이용하는 부분이 달라질 수 있으므로 사용할 데이터를 다양한 관점에서 제시해야 한다.
- <회원> 테이블에는 다양한 필드들이 존재하는데 제품 발송 업무를 처리할 때는 3가지만 사용한다면 이 3개의 필드로 구성된 뷰를 설계한다.
- 데이터의 보안 유지를 고려하여 설계한다.
- <회원> 테이블의 총구매횟수, 총구매금액 등은 회사 차원에서 중요한 자료일 수 있으므로 발송 담당자가 볼 수 없도록 설계한다.
반응형
'자격증 > 정보처리필기' 카테고리의 다른 글
[정보처리산업기사] 78강 DDL (0) | 2022.04.01 |
---|---|
[정보처리산업기사] 77강 SQL의 개념 (0) | 2022.04.01 |
[정보처리산업기사] 75강 인덱스(Index) (0) | 2022.04.01 |
[정보처리산업기사] 74강 반정규화(Denormalization) (0) | 2022.04.01 |
[정보처리산업기사] 73강 정규화(Normalization) (0) | 2022.04.01 |