1인칭 학습 시점_웹개발/SQL

[SQL] SQL VIEW(뷰) 개념 정리와 실습 예제

awesong 2024. 6. 28. 17:53
728x90
반응형

데이터베이스를 다루다 보면 복잡한 SELECT문을 반복적으로 사용할 , 이를 간단하게 처리할 있는 방법이 필요합니다.

이럴 사용하는 것이 바로 VIEW()입니다. 이번 글에서는 (View) 개념과 특징, 그리고 생성 삭제 방법에 대해 정리하겠습니다.

 

1. VIEW(가상 테이블)?

VIEW 하나 이상의 테이블이나 다른 뷰에서 유도된 결과 집합을 저장한 가상의 테이블입니다.
기존 테이블을 직접 수정하거나 복사하는 것이 아니라, 저장된 SELECT문을 통해 실행 시점에 동적으로 데이터를 보여주는 구조입니다.

 

VIEW 특징

  • 데이터를 직접 저장하지 않음
    뷰는 쿼리만 저장하며, 실제 데이터는 원본 테이블에 존재합니다.
  • 복잡한 쿼리를 단순화 가능
    여러 테이블을 조인한 복잡한 SELECT문을 뷰로 만들면, 간단한 SELECT 동일한 결과를 얻을 있습니다.
  • 보안성 향상
    민감한 정보가 담긴 테이블에서 특정 열만 선택해 뷰를 만들면, 사용자는 필요한 정보만 조회할 있어 보안성이 강화됩니다.

 

2. 실습 예제: 생성 사용

생성 (VIEW CREATE)

아래 예제는 3개의 테이블을 조인하여 하나의 뷰를 만드는 구문입니다.

CREATE VIEW V_STUDENT_CLASS AS
SELECT
    M.C_NO, M.C_NAME, M.PHONE, M.ADDRESS, M.GRADE,
    C.REGIST_MONTH, C.CLASS_AREA, C.TUITION,
    T.TEACHER_NAME
FROM TBL_CLASS_202201 C
JOIN TBL_TEACHER_202201 T ON C.TEACHER_CODE = T.TEACHER_CODE
JOIN TBL_MEMBER_202201 M ON M.C_NO = C.C_NO;

 

구문을 실행하면, V_STUDENT_CLASS라는 뷰가 생성됩니다.
뷰는 학생 정보, 수강 정보, 교사 정보를 통합하여 하나의 결과 집합처럼 사용할 있습니다.

 

사용 (SELECT FROM VIEW)

SELECT * FROM V_STUDENT_CLASS;

 

실제 테이블처럼 SELECT 문으로 조회가 가능합니다. , 뷰는 물리적인 데이터를 저장하지 않기 때문에, 원본 테이블이 변경되면 뷰의 결과도 실시간으로 반영됩니다.

 

삭제 (VIEW DROP)

뷰가 이상 필요 없을 경우 DROP VIEW 명령어로 삭제할 있습니다.

DROP VIEW V_STUDENT_CLASS;

 

3. VIEW 사용하는 이유

이유 설명
반복 쿼리 단순화 자주 쓰는 복잡한 SELECT문을 뷰로 만들어 간편하게 호출
데이터 보안 사용자의 권한에 맞춰 제한된 열만 보여주는 생성 가능
유지보수 편의 원본 테이블 구조가 바뀌어도 뷰만 수정하면 일괄 대응 가능
논리적 독립성 실제 테이블 구조와 분리된 방식으로 데이터를 처리

 

4. 마무리하며

VIEW SQL에서 자주 사용하는 데이터 가상화 도구로, 복잡한 쿼리를 단순화하고 보안성을 높이는 매우 유용합니다. 특히 JOIN 자주 필요한 상황에서는 VIEW 적극적으로 활용해보시기 바랍니다.

 

반응형