일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- 파일시스템 구현
- 동적계획법
- 다이나믹프로그래밍
- 스케줄링
- I/O장치
- 쓰레드
- Direct12
- 다이나믹 프로그래밍
- 락
- OS
- directx
- DirectX 12
- 그리디 알고리즘
- codility
- DirectX12
- 운영체제
- 렌더링 파이프라인
- 병행성
- 자료구조
- 프로그래머스
- 멀티쓰레드
- 알고리즘
- 그리디알고리즘
- 영속성
- 컨디션 변수
- 멀티프로세서
- 타입 객체
- 디자인패턴
- 병행성 관련 오류
- 백준
- Today
- Total
기록공간
3-2-5장. 뷰(View) 설계 - A 본문
뷰(View)의 개요
뷰는 사용자에게 접근이 허용된 자료만으로 제한적으로 보여주기 위해 하나 이상의 기본 테이블로 유도된, 이름을 가지는 가상 테이블이다.
-
뷰는 저장장치 내에 물리적으로 존재하지 않지만, 사용자에게는 있는 것처럼 간주
-
뷰는 데이터 보정 작업, 처리 과정 시험 등 임시적인 작업을 위한 용도로 활용
-
뷰는 조인문 사용 최소화로 사용상의 편의성을 최대화
-
뷰를 생성하면 뷰 정의 시스템 내에 저장되었다가 생성된 뷰 이름을 질의어에서 사용할 경우 질의어가 실행될 때 뷰에 정의된 기본 테이블로 대체되어 기본 테이블에 대해 실행됨
-
다음 그림은 뷰 A가 테이블 1, 테이블 2, 테이블 3에서 유도되어 생성되며, 뷰 A를 통해 테이블 1, 테이블 2, 테이블 3에 대한 데이터에 접근할 수 있음을 나타낸 것

뷰의 특징
-
뷰는 기본 테이블로부터 유도된 테이블이기 때문에 기본 테이블과 같은 형태의 구조를 사용하며, 조작도 기본 테이블과 거의 같음
-
뷰는 가상 테이블이기 때문에 물리적으로 구현되어 있지 않음
-
데이터의 논리적 독립성을 제공할 수 있음
-
필요한 데이터만 뷰로 정의해서 처리할 수 있기 때문에 관리가 용이하고 명령문이 간단해짐
-
뷰를 통해서만 데이터에 접근하게 하면 뷰에 나타나지 않는 데이터를 안전하게 보호하는 효율적인 기법으로 사용 가능
-
기본 테이블의 기본키를 포함한 속성(열) 집합으로 뷰를 구성해야만 삽입, 삭제, 갱신 연산이 가능
-
일단 정의된 뷰는 다른 뷰의 정의에 기초가 될 수 있음
-
뷰가 정의된 기본 테이블이나 뷰를 삭제하면 그 테이블이나 뷰를 기초로 정의된 다른 뷰도 자동으로 삭제됨
뷰의 장단점
-
장점
-
논리적 데이터 독립성을 제공
-
동일 데이터에 대해 동시에 여러 사용자의 상이한 응용이나 요구를 지원해 줌
-
사용자의 데이터 관리를 간단하게 해줌
-
접근 제어를 통한 자동 보안이 제공
-
-
단점
-
독립적인 인덱스를 가질 수 없음
-
뷰의 정의를 변경할 수 없음
-
뷰로 구성된 내용에 대한 삽입, 삭제, 갱신 연산에 제약이 따름
-
뷰의 설계 순서
-
대상 테이블을 선정
-
외부 시스템과 인터페이스에 관여하는 테이블
-
CRUD 매트릭스를 통해 여러 테이블이 동시에 자주 조인되어 접근되는 테이블
-
SQL문 작성 시 거의 모든 문장에서 인라인 뷰 방식으로 접근되는 테이블
-
-
대상 컬럼을 선정
-
보안을 유지해야 하는 컬럼은 주의하여 선별
-
-
정의서를 작성
뷰 설계 시 고려 사항
-
테이블 구조가 단순화 될 수 있도록 반복적으로 조인을 설정하여 사용하거나 동일한 조건절을 사용하는 테이블을 뷰로 생성 [ex) <주문> 테이블과 <거래처> 테이블을 조인하여 사용하는 경우가 많다면 두 테이블에서 필요한 필드로 구성된 뷰를 생성한다.]
-
동일한 테이블이라도 업무에 따라 테이블을 이용하는 부분이 달라질 수 있으므로 사용할 데이터를 다양한 관점에서 제시해야 함 [ex) <회원> 테이블은 회원번호, 이름, 주소, 전화번호, 총구매횟수, 총구매금액 필드로 구성되어 있는데, 제품 발송 업무를 처리할 때는 이름, 주소, 전화번호 필드만 필요하므로 이 3개의 필드로 구성된 뷰를 설계한다.]
-
데이터 보안 유지를 고려하여 설계 [ex) <회원> 테이블의 총구매횟수, 총구매금액 등은 회사 차원에서 중요한 자료일 수 있으므로 발송 담당자가 볼 수 없도록 뷰를 설계한다.]
'자격증공부 > 정보처리기사_필기' 카테고리의 다른 글
3-2-7장. 파티션 설계 - A (0) | 2020.09.12 |
---|---|
3-2-6장. 클러스터 설계 - A (0) | 2020.09.11 |
3-2-4장. 인덱스 설계 - A (0) | 2020.09.11 |
3-2-3장. 트랜잭션 분석 / CRUD 분석 - B (0) | 2020.09.11 |
3-2-2장. 데이터베이스 저장 공간 설계 - B (0) | 2020.09.11 |