반응형
Notice
Recent Posts
Recent Comments
Link
DNF LOVE
[데이터베이스론 - 뷰(VIEW)] 본문
반응형
VIEW : 사용자에게 접근이 허용된 자료만을 제한적으로 보여주기 위해 하나 이상의 기본 테이블로부터 유도된 가상 테이블이다.
- 저장 장치 내에 물리적으로 존재하지 않지만, 사용자에게 있는 것처럼 간주된다.
- 데이터 보정 작업, 처리 과정 시험 등 임시적인 작업을 위한 용도로 활용된다.
- 기본 테이블로부터 유도된 테이블이기 때문에 기본 테이블과 같은 형태 구조를 가지며, 조작도 기본 테이블과 거의 같다.
- 가상 테이블이기 때문에 물리적으로 구현되지 않다.
- 필요한 데이터로만 뷰로 정의해서 처리할 수 있기 때문에 관리가 용이하고 명령문이 간단해진다.
- 조인문의 사용을 최소화하여 사용상의 편의성을 최대화한다.
- 뷰를 통해서만 데이터에 접근하게 되면 뷰에 나타나지 않는 데이터를 안전하게 보호할 수 있다.
- 기본 테이블의 기본키를 포함한 속성 집합으로 뷰를 구성해야만 삽입, 삭제, 갱신 연산이 가능하다.
- 정의된 뷰는 다른 뷰의 정의에 기초가 될 수 있다.
- 하나의 뷰를 삭제하면 그 뷰를 기초로 정의된 다른 뷰도 자동으로 삭제된다.
[VIEW 생성]
CREATE VIEW 뷰_이름[(열_이름 리스트)] AS SELECT문 [WITH CHECK OPTION];
* WITH CHECK OPTION : 갱신이나 삽입 연산 시 뷰 정의 조건을 검사
* SELECT문에는 UNION이나 ORDER BY절 사용 xx
** 속성 이름을 기술하지 않으면 SELECT문의 속성 이름이 자동으로 사용된다.
CREATE VIEW CSTUDENT(Sno, Sname, Year) AS SELECT Sno, Sname, Year
FROM STUDENT
WHERE Dept = '컴퓨터’
WITH CHECK OPTION;
* 두 개 이상 테이블 조인
CREATE VIEW HONOR(Sname, Dept, Grade)
AS SELECT STUDENT.Sname,
STUDENT.Dept, ENROL.Final
FROM STUDENT, ENROL
WHERE STUDENT.Sno = ENROL.Sno
AND ENROL.Final > 90;
[뷰 제거]
DROP VIEW 뷰_이름 { RESTRICT | CASCADE };
[뷰의 장점]
- 논리적 데이터 독립성을 제공
- 동일 데이터에 대해 동시에 여러 사용자의 상이한 응용이나 요구를 지원
- 사용자의 데이터 관리를 간단하게 해줌
- 접근 제어를 통한 자동 보안이 제공
[뷰의 단점]
- 독립적인 인덱스를 가질 수 없음
- 뷰의 정의는 못 변경함
- 뷰로 구성된 내용에 대한 삽입, 삭제, 갱신 연산에 제약에 따른다.
반응형
'Computer Science > 데이터베이스' 카테고리의 다른 글
[데이터베이스론 기초 - 11] SQL (0) | 2019.10.22 |
---|---|
[데이터베이스론 기초 - 10] 데이터 종속성과 정규화 (0) | 2019.10.22 |
[데이터베이스론 기초 - 9] 관계 데이터 연산과 데이터 언어(관계 대수, 관계 해석) (0) | 2019.10.22 |
[데이터베이스론 기초 - 8] 관계 데이터베이스 모델과 릴레이션 개념에 대하여 (0) | 2019.08.14 |
[데이터베이스론 기초 - 7] DBS, DDL, DML, DCL, DBMS, DBA 등 데이터베이스 관련 용어 정리 (0) | 2019.08.04 |