[2022년도 국가공무원 9급][정보시스템 보안] 17번
문17. SQL 뷰에 대한 설명으로 옳지 않은 것은?
① 사용자가 뷰를 통해서만 데이터에 접근하게 함으로써 기본 테이블에 대한 보안성을 높일 수 있다.
② 뷰가 정의된 기본 테이블이 확장되거나 뷰가 속해 있는 데이터베이스에 테이블이 늘어난다고 하더라도 기존의 뷰를 사용하는 프로그램이나 사용자는 영향을 받지 않는다.
③ 필요한 데이터만 뷰로 정의해서 처리할 수 있기 때문에 사용자 권한 관리가 용이하다.
④ 대부분의 경우 삽입, 삭제, 갱신 연산에 많은 제한이 따르며 질의문이 복잡해지는 단점이 있다.
[해설]
▣ SQL View
- 사용자에게 접근이 허용된 자료만을 제한적으로 보여주기 위해 하나 이상의 기본 테이블로부터 유도된 가상 테이블
- 기본 테이블에서 유도된 테이블이기 때문에 기본 테이블과 구조가 같음
- 가상 테이블로 물리적으로 구현되어 있지 않음
- 필요한 데이터만 뷰로 정의해 처리 가능하기 때문에 관리가 용이함
- 뷰에 나타나지 않은 데이터를 안전하게 보호 가능
- 기본 테이블의 기본키를 포함한 속성 집합으로 뷰를 구성해야만 삽입, 삭제, 갱신이 가능함
- 뷰가 정의된 기본테이블이 삭제되면 뷰도 자동으로 삭제됨
▣ SQL View 장점
- 논리적 데이터 독립성을 제공
- 동일 데이터에 대해 동시에 여러 사용자의 요구를 지원해줌
- 사용자의 데이터 관리를 간단하게 해줌(여러 table을 join하여 view를 생성한 경우 query가 간단해짐)
- 접근 제어를 통한 자동 보안 제공
▣ SQL View 단점
- 독립적 인덱스를 가지지 못함
- 뷰의 정의 변경 불가능
- 삽입, 삭제, 갱신 연산에 제약이 따름
댓글
댓글 쓰기