데이터베이스 뷰를 사용하면 최종 사용자 환경의 복잡성을 쉽게 줄이고 최종 사용자에게 제공되는 데이터를 제한하여 데이터베이스 테이블에 포함 된 데이터에 액세스하는 기능을 제한 할 수 있습니다. 본질적으로 뷰는 데이터베이스 쿼리의 결과를 사용하여 인공 데이터베이스 테이블의 내용을 동적으로 채 웁니다.
왜 뷰를 사용합니까?
데이터베이스 테이블에 대한 직접 액세스를 제공하지 않고 사용자가보기를 통해 데이터에 액세스 할 수 있도록하는 두 가지 주요 이유가 있습니다.
- 뷰는 단순하고 세분화 된 보안을 제공합니다.. 보기를 사용하여 사용자가 테이블에서 볼 수있는 데이터를 제한 할 수 있습니다. 예를 들어 직원 테이블이 있고 일부 직원에게 정규 직원 레코드에 대한 액세스 권한을 제공하려는 경우 해당 레코드 만 포함하는보기를 만들 수 있습니다. 이는 대체 방법 (섀도우 테이블 만들기 및 유지 관리)보다 훨씬 쉽고 데이터 무결성을 보장합니다.
- 보기가 사용자 환경을 단순화합니다.. 뷰는 데이터베이스 테이블을 볼 필요가없는 최종 사용자로부터 데이터베이스 테이블의 복잡한 세부 사항을 숨 깁니다. 사용자가보기의 내용을 덤프하는 경우보기에서 선택하지 않은 테이블 열은 보이지 않으므로 이해할 수 없습니다. 이렇게하면 이름이 잘못 지정된 열, 고유 한 식별자 및 테이블 키로 인한 혼동을 방지 할 수 있습니다.
보기 만들기
보기를 작성하는 것은 매우 직관적입니다. 시행하려는 제한 사항이 포함 된 조회를 작성하고 CREATE VIEW 명령 내에두면됩니다. 구문은 다음과 같습니다.
CREATE VIEW viewname AS
예를 들어 이전 섹션에서 설명한 정규 직원보기를 만들려면 다음 명령을 실행합니다.
전체 화면으로보기 만들기SELECT first_name, last_name, employee_idFROM employees어디 상태 = 'FT'
보기 수정하기
보기의 내용을 변경하면보기 작성과 완전히 동일한 구문을 사용하지만 CREATE VIEW 명령 대신 ALTER VIEW 명령을 사용합니다. 예를 들어, 직원의 전화 번호를 결과에 추가하는 제한 사항을 풀 타임보기에 추가하려면 다음 명령을 실행합니다.
ALTER VIEW fulltime ASSELECT first_name, last_name, employee_id, telephoneFROM employees어디 상태 = 'FT'
보기 삭제하기
DROP VIEW 명령을 사용하여 데이터베이스에서보기를 제거하는 것이 간단합니다. 예를 들어 상근 직원보기를 삭제하려면 다음 명령을 사용합니다.
DROP VIEW 전일제