🌿 중급 DB
데이터베이스 뷰(View)가 뭔가요?
쉽게 이해하기
엑셀에서 여러 시트의 데이터를 합쳐서 보여주는 피벗 테이블 같은 거예요. 원본 데이터는 그대로 있고, 필요할 때마다 특정 형태로 가공해서 보여주는 거죠. 뷰도 실제 데이터를 저장하지 않고, 쿼리 결과만 보여줘요.
핵심 정리
자주 쓰는 복잡한 쿼리를 가상 테이블로 저장해서 간단하게 재사용할 수 있게 해주는 기능이에요.
자세히 알아보기
뷰는 하나 이상의 테이블에서 데이터를 가져오는 SELECT 쿼리를 저장한 가상 테이블이에요. 실제 데이터를 복사하는 게 아니라, 쿼리 정의만 저장하고 조회할 때마다 실시간으로 결과를 만들어줘요.
왜 필요할까요? 첫째, 복잡한 쿼리를 단순화해요. 여러 테이블을 JOIN하고 계산하는 쿼리를 매번 쓰는 대신, 뷰로 만들어두면 'SELECT * FROM user_summary'처럼 간단하게 쓸 수 있어요. 둘째, 보안이에요. 민감한 컬럼을 숨기고 필요한 컬럼만 보여주는 뷰를 만들어서 권한을 제어할 수 있죠. 셋째, 데이터 독립성이에요. 테이블 구조가 바뀌어도 뷰 정의만 수정하면 기존 코드는 그대로 쓸 수 있어요.
실무 예시를 볼까요? 전자상거래에서 '주문', '상품', '사용자' 테이블을 JOIN해서 주문 요약 정보를 보여주는 뷰를 만들어요. 대시보드에서 매번 복잡한 쿼리를 쓰는 대신 뷰를 조회하면 되죠. 또 개인정보가 포함된 사용자 테이블에서 이름과 나이만 보여주는 뷰를 만들어서 분석팀에 제공하기도 해요.
주의할 점은 뷰는 매번 쿼리를 실행하니까 성능이 느릴 수 있어요. 자주 조회하는 뷰는 Materialized View(실제 데이터를 저장하는 뷰)로 만들어서 성능을 높일 수 있어요.