컴영 2020. 4. 24. 17:07

뷰 (View)


- 개념 

사용자에게 접근이 허용된 자료만을 제한적으로 보여주기 위해 하나 이상의 기본 테이블로부터 유도된, 

이름을 자니는 가상 테이블(virtual table)


- 특징

① 저장장치 내에 물리적으로 구현되어 있지 않음

② 필요한 데이터만 뷰로 정의해서 처리할 수 있기 때문에 관리가 용이하고 명령문이 간단해짐

    (뷰를 이용한 검색 연산은 가능하지만 갱신 엽산은 많은 제약점 가짐)

③ 데이터 보정 작업, 처리 과정 시험 등 임시적인 작업을 위한 용도로 활용  

④ 뷰는 다른 뷰를 가질 수 있음

⑤ 뷰가 정의된 기본 테이블이나 뷰를 삭제하면 그 테이블이나 뷰를 기초로 정의된 다른 뷰도 자동으로 삭제


- 장&단점



- 뷰 정의 


형식

CREATE VIEW  뷰_이름 [(속성목록)] AS SELECT문;


뷰 이름 뒤에 속성 목록을 작성하지 않으면 SELECT 절의 속성명이 자동 할당 된다.


EX) 학생 테이블에서 '컴퓨터'학과의 학번, 이름, 학년을 '컴공학생' 이라는 뷰로 정의할 시


1
2
3
4
CREATE VIEW 컴공학생(학번, 이름, 학년)
    AS  SELECT 학번, 이름, 학년
        FROM 학생
        WHERE 부서='컴퓨터';
cs


- 뷰 삭제


형식

DROP VIEW 뷰_이름{RESTRICT | CASCADE};


RESTRICT : 뷰가 다른 곳에서 참조되지 있지 않는 한 데이터베이스에서 제거한다.

    만약 다른 곳에서 참조 중이면 삭제 명령은 취소된다.

CASCADE : 뷰를 참조하는 다른 모든 뷰나 제약 조건을 함계 삭제한다.


EX) '컴공학생' 뷰를 제약 조건과 관계없이 삭제할 시


1
DROP VIEW 컴공학생 CASCADE;
cs