SQL Views
SQL Views: 가상 테이블
SQL View는 데이터베이스에서 가상 테이블로, 실제 테이블과는 달리 데이터가 저장되지 않고, SELECT 쿼리의 결과를 저장한 테이블처럼 작동하는 객체입니다. View는 주로 복잡한 쿼리를 단순화하거나 보안 목적으로 사용됩니다. 필요한 데이터만 보여주기 위해 특정 열이나 행을 제한할 수 있어, 데이터 접근을 보다 효율적으로 관리할 수 있습니다.
1. View의 주요 특징
- 가상 테이블: View는 실제 데이터가 아니라 기존 테이블에 대한 SELECT 쿼리의 결과입니다.
- 보안: 민감한 데이터가 있는 경우 View를 통해 특정 열이나 행만 사용자에게 노출할 수 있습니다.
- 복잡한 쿼리 단순화: 여러 테이블을 JOIN하거나 조건이 복잡한 쿼리를 단순하게 재사용할 수 있습니다.
- 데이터 일관성 유지: 테이블이 변경되면 View의 결과도 자동으로 업데이트됩니다.
2. View 기본 문법
CREATE VIEW 뷰_이름 AS
SELECT 열_이름1, 열_이름2, ...
FROM 테이블_이름
WHERE 조건;
- 뷰_이름: 생성할 View의 이름.
- SELECT 쿼리: View의 기반이 되는 SELECT 문. 이 쿼리의 결과가 View로 사용됩니다.
3. SQL View 예제
예제: employees
테이블에서 이름과 부서만 조회하는 View 생성
CREATE VIEW view_employee_department AS
SELECT name, department
FROM employees;
이 명령은 employees 테이블에서 name과 department 열만 포함한 view_employee_department라는 View를 생성합니다.
예제: View를 사용하여 데이터 조회
SELECT * FROM view_employee_department;
이 명령은 view_employee_department View에서 데이터를 조회합니다. View는 마치 실제 테이블처럼 동작합니다.
4. View 업데이트 및 삭제
4.1 View 업데이트
기존의 View를 수정하려면 CREATE OR REPLACE VIEW 명령을 사용하여 View를 업데이트할 수 있습니다.
CREATE OR REPLACE VIEW view_employee_department AS
SELECT name, department, salary
FROM employees;
이 명령은 기존의 view_employee_department View를 salary 열을 포함하도록 수정합니다.
4.2 View 삭제
DROP VIEW 뷰_이름;
예제:
DROP VIEW view_employee_department;
이 명령은 view_employee_department라는 View를 삭제합니다.
5. 요약
- SQL View는 SELECT 쿼리의 결과를 저장하는 가상 테이블로, 복잡한 쿼리를 단순화하거나 데이터 접근을 제한하는 데 사용됩니다.
- CREATE VIEW로 View를 생성하며, CREATE OR REPLACE VIEW로 수정할 수 있습니다.
- View는 데이터베이스 보안 및 관리의 중요한 도구로, 중복 쿼리를 줄이고 유지 관리를 쉽게 할 수 있습니다.