더북(TheBook)

중요 데이터 보호 : 테이블에 민감하고 중요한 데이터가 저장되어 있을 때 이 데이터를 뷰로 만들어 뺄 수 있다. 예를 들어 고객의 신용 카드 정보를 노출하는 대신 신용 카드 숫자를 변형해서 실제 숫자는 숨긴 채 기능을 수행하는 함수를 사용하는 뷰를 만들 수 있다. DBMS에 따라 다르지만, 이런 뷰를 특정 사용자만 볼 수 있게 할 수 있어 주요 테이블을 직접 노출하지 않을 수 있다. 또 뷰는 컬럼이나 로우 수준의 보안 기능을 제공한다. WITH CHECK OPTION 절로 사용자가 뷰에 걸린 제약 조건을 위반하는 데이터 삭제나 갱신 작업을 수행하는 것을 차단할 수 있다.

하위 호환성 제공 : 하나 이상의 테이블 스키마를 변경해야 할 때 기존 테이블의 스키마와 동일한 뷰를 만들어 처리할 수 있다. 이렇게 하면 기존 애플리케이션은 원래 테이블 데이터를 조회하는 쿼리를 수정 없이 사용할 수 있다. 심지어 해당 애플리케이션에서 데이터를 조작할 때라도 INSTEAD OF 트리거를 사용하면 주요 테이블의 뷰로 INSERT, UPDATE, DELETE 작업을 할 수 있다.

데이터 커스터마이징 : 뷰를 만들면 여느 사용자가 다른 방식으로 동일한 데이터를, 심지어 똑같은 시간에 다른 방식으로 보게 할 수 있다. 예를 들어 사용자의 로그인 ID 값에 따라 특정 사용자와 관련된 고객 정보를 조회하는 뷰를 만들어 사용할 수 있다.

요약 데이터 제공 : 집계 함수(SUM(), AVERAGE() 등)를 사용한 뷰로 데이터 일부분의 계산 결과 값만 볼 수 있다.

데이터 가져오기와 내보내기 : 뷰를 이용하면 다른 애플리케이션에 데이터를 내보낼 수 있다. 원하는 데이터를 제공하는 뷰를 생성한 후 적당한 유틸리티를 이용하면 해당 데이터를 내보낼 수 있다. 또 가져오기용 뷰를 만들면 주요 테이블에 있는 모든 컬럼이 아닌 필요한 컬럼 데이터만 가져와 사용할 수도 있다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.