728x90
반응형
※ 공부 내용의 복습 개념으로 정리된 글입니다. - 출처 시나공
뷰(View)의 개요
뷰는 사용자에게 접근이 허용된 자료만을 제한적으로 보여주기 위해 하나 이상의 기본 테이블로부터 유도된, 이름을 가지는 가상 테이블입니다.
- 뷰는 저장장치 내에 물리적으로 존재하지 않지만, 사용자에게는 있는 것처럼 간주됩니다.
- 뷰는 데이터 보정 작업, 처리 과정 시험 등 임시적인 작업을 위한 용도로 활용됩니다.
- 뷰는 조인문의 사용 최소화로 사용상의 편의성을 최대화합니다.
- 뷰는 생성하면 뷰 정의가 시스템 내에 저장되었다가 생성된 뷰 이름을 질의어(예를 들면 SQL)에서 사용할 경우 질의어가 실행될 때 뷰에 정의된 기본 테이블로 대체되어 기본 테이블에 대해 실행됩니다.
- 다음 그림은 뷰 A가 테이블 1, 테이블 2, 테이블 3에서 유도되어 생성되며, 뷰 A를 통해 테이블 1, 테이블 2, 테이블 3에 대한 데이터에 접근할 수 있음을 나타낸 것입니다.
뷰(View)의 특징
- 뷰는 기본 테이블로부터 유도된 테이블이기 때문에 기본 테이블과 같은 형태의 구조를 사용하며, 조작도 기본 테이블과 거의 같습니다.
- 뷰는 가상 테이블이기 때문에 물리적으로 구현되어 있지 않습니다.
- 데이터의 논리적 독립성을 제공할 수 있습니다.
- 필요한 데이터만 뷰로 정의해서 처리할 수 있기 때문에 관리가 용이하고 명령문이 간단해집니다.
- 뷰를 통해서만 데이터에 접근하게 하면 뷰에 나타나지 않는 데이터를 안전하게 보호하는 효율적인 기법으로 사용할 수 있습니다.
- 기본 테이블의 기본키를 포함한 속성(열) 집합으로 뷰를 구성해야만 삽입, 삭제, 갱신 연산이 가능합니다.
- 일단 정의된 뷰는 다른 뷰의 정의에 기초가 될 수 있습니다.
- 뷰가 정의된 기본 테이블이나 뷰를 삭제하면 그 테이블이나 뷰를 기초로 정의된 다른 뷰도 자동으로 삭제됩니다.
- 뷰를 정의할 때는 CREATE문, 제거할 때는 DROP문을 사용합니다.
※ 정의 테이블
뷰는 하나 이상의 다른 테이블로 부터 유도된 하나의 가상 테이블이며, 뷰를 만들기 위해 유도된 기본 테이블을 정의 테이블이라 합니다.
뷰(View)의 장 · 단점
- 장점
- 논리적 데이터 독립성을 제공합니다.
- 동일 데이터에 대해 동시에 여러 사용자의 상이한 응용이나 요구를 지원해 줍니다.
- 사용자의 데이터 관리를 간단하게 해줍니다.
- 접근 제어를 통한 자동 보안이 제공됩니다.
- 단점
- 독립적인 인덱스를 가질 수 없습니다.
- 뷰의 정의를 변경할 수 없습니다.
- 뷰로 구성된 내용에 대한 삽입, 삭제, 갱신 연산에 제약이 따릅니다.
728x90
뷰 설계 시 고려 사항
- 테이블 구조가 단순화 될 수 있도록 반복적으로 조인을 설정하여 사용하거나 동일한 조건절을 사용하는 테이블을 뷰로 생성합니다.
예) <주문> 테이블과 <거래처> 테이블을 조인하여 사용하는 경우가 많다면 <주문> 테이블과 <거래처> 테이블에서 필요한 필드로 구성된 뷰를 생성합니다. - 동일한 테이블이라도 업무에 따라 테이블을 이용하는 부분이 달라질 수 있으므로 사용할 데이터를 다양한 관점에서 제시해야 합니다.
예) <회원> 테이블은 '회원번호', '이름', '주소', '전화번호',. '총구매횟수', '총구매금액' 필드로 구성되어 있는데, 제품 발송 업무를 처리할 때는 '이름', '주소', '전화번호' 필드만 필요하므로 3개의 필드로 구성된 뷰를 설계합니다. - 데이터의 보안 유지를 고려하여 설계합니다.
예) <회원> 테이블의 '총구매횟수', '총구매금액' 등은 회사 차원에서 중요한 자료일 수 있으므로 발송 담당자가 볼 수 없도록 뷰를 설계합니다.
728x90
반응형
'정보처리산업기사' 카테고리의 다른 글
정보처리산업기사 - SQL 활용 - SQL의 개념 (1) | 2024.09.21 |
---|---|
정보처리산업기사 - 데이터베이스 이해 - 시스템 카탈로그 / 트랜잭션 (0) | 2024.09.20 |
정보처리산업기사 - 데이터베이스 이해 - 인덱스(Index) (0) | 2024.09.18 |
정보처리산업기사 - 데이터베이스 이해 - 반정규화(Denormalization) (2) | 2024.09.17 |
정보처리산업기사 - 데이터베이스 이해 - 정규화(Normalization) (1) | 2024.09.16 |