4일차(5일차였나.. 날짜감각을 잊습니다) 밤샘으로 인트로를 작성할 기력이 없네요.. 반쯤 의식이 없어서 바로 가겠습니다.

(출처: Shekh Ali's bloghttps://bit.ly/3I0PbZE)
뷰, 직역하자면 무언가의 시선이죠. 이는 어느 시점이냐에 따른 의미도 있습니다.
그럼 SQl에서의 이 뷰라는 것은 무엇일까요? 이는 하나의 가상 테이블로서의 역할을 합니다.
우리가 SQL로 작업을 하고 있을 때 자주 조회하는 데이터들이 분명 있을겁니다. 이를 한 테이블로 가져오면 분명 편하긴 하겠죠? 하지만 그렇지 않은 경우도 있습니다. 예를 들자면, 여러 테이블들을 join을 통하여 가져오면 쿼리가 정말 많이 복잡해질 수가 있는데요.
이를 방지하기 위해 쿼리로 뷰를 생성하면 데이터 관리가 편해집니다. 보여줄 데이터만 제공할 수도 있으며, 이는 보안에도 유리하게 작용합니다.
간단 쿼리 작성
뷰를 사용하는 가장 큰 목적은 복잡한 쿼리들을 한번에 정리하여 작성하는 것에 있습니다. 이는 원하는 컬럼만을 공개하여서 원전데이터가 들어있는 테이블을 비공개로 돌릴 수 있으니까요.
이 뷰라는 가상 테이블에는 이러한 특징들이 있습니다.
1. 원천데이터 변경 -> view 데이터 변경
2. 검색 자유 (추가 / 수정 / 삭제 제약 O)
3. 뷰 생성에 함수 사용 시 alias 지정

위 예시는 v_emp라는 뷰 테이블을 (가상 테이블)을 생성해준 모습입니다. 이는 기존에 Oracle에 있던 EMPLOYEES라는 테이블을 복제해준 것인데요.
다른 컬럼 이름을 통해 EMPLOYEES 테이블에 있는 데이터들을 등록해준 것이죠. WHERE 문을 통해 업무명이 'ST_CLERK'인 사원들만 갖고 왔고요.
이 테이블은 아래와 같이 나타납니다.

접근 권한 설정 : READ-ONLY
뷰 테이블에서는 수정 권한을 설정해줄 수도 있습니다. 이에 관한 예시로 읽기 전용인 READ ONLY라는 것이 있는데요.

이는 말 그대로 테이블을 조회하는 것만 가능하며, 수정은 못합니다.
한번 위의 테이블에 새로운 값을 넣어보도록 하겠습니다.

'julia'라는 이름을 가진 데이터를 바꿔주려고 했는데... read-only이기 때문에 수정을 못한다는 경고문을 띄우네요. 수정할 수 없나봅니다.
어쩔 수 없죠. 이제 이 테이블은 삭제해주도록 합시다.
삭제 방식은 일반 테이블과 같이 drop으로 해주면 됩니다.

성공적으로 삭제가 되었네요.
이로서 뷰(View)에 대한 설명을 마칩니다. 다음 포스팅에서는 시퀀스로 돌아오겠습니다.