Q. 뷰(VIEW) 의 특징으로 옳지 않은 것은?
▪️뷰의 정의
CREATE VIEW 뷰이름(속성,[속성]…)
AS SELECT (속성,[속성]…)
FROM 테이블이름
[WHERE 조건식]
▪️뷰의 정의 변경 및 제거
뷰는 ALTER 명령어를 사용하지 못하므로 변경자체가 불가능하다.
따라서 변경사항이 생기면 DROP 명령어를 사용하여 뷰를 제거한 다음, 변경사항을 적용하여 CREATE 명령어로 다시 생성해야 한다.
▪️뷰의 개념
1. 뷰는 사용자에게 접근이 허용된 자료만을 제한적으로 보여주기위해 하나 이상의 기본테이블로부터 유도된(추출) 이름을 가지는 논리적인 가상 테이블이다.
2. 뷰는 저장장치 내에 물리적으로 존재하지 않지만, 사용자에게는 있는 것처럼 간주된다.
3. 뷰는 기본테이블(Base Table)로부터 유도되어 정의되는 가상테이블(Virtual Table)로 정의정보는 ‘시스템 카탈로그’에 저장된다.
4. 뷰는 데이터베이스의 외부스키마를 구성하는데 쓰인다.
5. 기본테이블은 실제테이블이지만, 뷰 테이블은 가상테이블이므로, 물리적으로 존재하지 않고 물리적으로 분리될 수도 없다.
6. 한번 유도된 뷰는 다른 뷰를 정의하는 데 기초가 될 수 없다.
7. 뷰가 정의된 기본테이블이 삭제되면 뷰도 자동적으로 삭제된다.
8. 뷰는 물리적으로 존재하지 않으므로 독자적인 인덱스를 가질 수 없다.
*원래 표 1개에 있는 것에서 몇개의 데이터를 빼서 새로운 표를 만들 수도 있고, 여러개의 표를 하나의 표로 합쳐서 만들 수도 있다. 하지만 가상테이블이라, 실질적으로 복사되어 만들어지는 것이 아니라 데이터를 표처럼 보여준다라는 개념이다.
▪️뷰의 특징
1. DBA는 보안 측면에서 뷰를 활용할 수 있다.
2. 뷰 위의 또 다른 뷰를 정의 할 수 있다.
3. 뷰는 하나 이상의 기본 테이블로부터 유도되어 만들어지는 가상 테이블이다.
4. 뷰는 기본 테이블로부터 유도된 가상 테이블이기 때문에 기본 테이블과 같은 형태의 구조를 사용하며, 조직도 기본 테이블과 거의 같다. 또한 물리적으로 구현되어 있지 않다.
5. 데이터의 논라적 독립성이 어느정도 보장된다.
6. 필요한 데이터만 뷰로 정의해서 처리할 수 있기 때문에 관리가 용이하고 명령문이 간단해진다.
7. 뷰를 통해서만 데이터에 접근하게 하면 뷰에 나타나지 않는 데이터를 안전하게 보호하는 효율적인 기법으로 사용할 수 있다.
8. 기본 테이블의 기본키를 포함한 속성(열) 집합으로 뷰를 구성해야만 삽입, 삭제, 갱신, 연산이 가능하다.
9. 정의된 뷰는 다른 뷰의 정의에 기초가 될 수 있다.
10. 하나의 뷰를 삭제하면 그 뷰를 기초로 정의된 다른 뷰도 자동으로 삭제된다.
▪️뷰의 장점