저번 시간에 이어, 이번엔 뷰(VIEW)가 무엇인지 간단하게 알아보겠습니다. View는 실제 현업에서도 자주 사용하며, DB 면접 질문으로 빈번히 등장하곤 합니다. 저도 서비스 플랫폼 회사인 L사와 T사에서 받았던 것으로 기억되네요.
Q: VIEW가 무엇인가요?
원하는 데이터들만을 보여주기 위해 기존 테이블에서 유도된 가상 테이블입니다.
CREATE VIEW USER_VIEW
AS
SELECT USERID, USERNAME
FROM SCMUSER
Q: 사용하는 이유가 무엇인가요?
대표적으로 2가지가 있습니다.
첫째로, CLIENT는 숨겨진 데이터의 존재 자체를 모르기 때문에 접근 자체가 불가능합니다. 따라서 데이터 보안에 효과가 있습니다.
둘째로, 전체 Schema를 사용하는 것이 아닌, SubSchema 개념으로 필요한 부분만 나누어 사용할 수 있습니다.
Q: View와 Table의 차이가 뭐에요?
Table은 실제 데이터를 저장하지만, View는 데이터를 저장하지 않고 실제 테이블의 데이터를 참조합니다. 즉, View는 읽기 전용으로 실제 데이터를 수정할 수 없습니다.
마치며
이번 시간에는 뷰(View)에 대해 알아보았습니다.
다음 시간에는 DB에서의 DeadLock(데드락)에 대해 알아보겠습니다.
답글 남기기