View 란 무엇일까?
데이터의 논리적 부분집합 즉, 저장된 SELECT 문이다.
오라클에는 테이블 말고도 데이터를 읽어올 수 있는 Object가 있다.
대표적으로 View는 데이터를 조회할 수 있고 실제로 현업에서 많이 사용되는 Object이다.
프로젝트를 진행하면서 뷰를 사용해본 적이 없었는데, 이번에 사용해보게 되면서 편리함을 느끼고 정리해보려고 한다.
데이터의 논리적 부분집합
데이터의 논리적 부분집합이란 것은 물리적으로 존재하지 않는 테이블을 말한다. 표현을 하자면 창문을 통해서 데이터를 바라보는 것이다. 실제 테이블이 있다면 테이블을 SELECT문을 통해서 행, 열을 제거하거나 테이블들을 JOIN 시켜 1차례 가공된 데이터를 View라는 창문을 통해서 조회하는 것이다.
View가 편리한 이유
1. 보안 강화
IT학과 학생들에 대한 정보를 교수에게 확인할 수 있는 권한을 주려고 할때, 테이블 전체에 대한 권한을 주는 것보다 이름, 성적같은 필요한 정보만 보여줘야 할 것이다. 이럴때 사용자에게 꼭 필요한 정보만 제공하도록 쿼리문을 작성하여 VIEW를 생성하고, 해당 VIEW에 대해 READ 할 수 있는 권한을 부여해준다면 보안적인 측면을 강화할 수 있다. 데이터의 접근을 제한하고 동일한 데이터의 다른 VIEW를 제공하여 데이터의 독립성을 제공할 수 있다.
2. Query 단순화
SELECT EMPNO
, ENAME
, JOB
, SAL
, D.DEPTNO
, DNAME
FROM EMP E, DEPT D
WHERE E.DEPTNO = D.DEPTNO
AND D.DEPTNO = 20
ORDER BY ENAME;
SELECT * FROM EMP_DEPT20;
보안적인 측면을 강화하는 것 뿐만 아니라, Query를 단순화 시켜 가독성을 높일 수 있다. 위의 예시에서는 하나의 테이블과 조인을 시켰지만, 다수의 테이블을 조인시키고 SubQuery까지 써가면서 필요한 데이터를 사용자에게 보여줘야하는 경우가 있다. 여기서 사용자는 화면으로 출력된 결과만 보는 사용자가 아니라 같이 일을 하는 동료나 협력업체, 개발자 등 쿼리를 직접 보고 작업을 해야하는 사용자라면 해당 스키마와 테이블에 대한 이해도 필요하고 Query 분석에도 시간을 투자해야 하는데, 이러한 경우 명칭 만으로 어떤 데이터인지 알 수 있는 VIEW를 생성하여 제공하면 단순화된 쿼리로 작업시간도 단축 시킬 수 있다.
뷰 사용법 참고
'Database' 카테고리의 다른 글
SQL? 아니면 NoSQL? (0) | 2020.10.13 |
---|
댓글