q1: DB에서 뷰(View) 테이블을 만들어 사용하는 이유
a1:
DB에서 뷰(View) 테이블을 만들어 사용하는 이유는 다음과 같습니다:
1. 데이터 재사용 및 편리성
• 뷰는 복잡한 쿼리를 단순화하여 여러 번 재사용할 수 있게 해줍니다.
• 예를 들어, 여러 테이블에서 데이터를 조인하거나 특정 조건을 필터링한 결과를 매번 작성하지 않고 뷰를 통해 간단히 조회할 수 있습니다.
2. 데이터 보안
• 뷰를 사용하여 원본 테이블의 민감한 데이터를 숨길 수 있습니다.
• 특정 컬럼이나 행만 노출되도록 뷰를 정의함으로써, 사용자에게 필요한 데이터만 제공할 수 있습니다.
3. 유지보수성 향상
• 뷰를 사용하면 기본 쿼리가 변경되더라도 뷰를 통해 사용하는 프로그램은 영향을 받지 않도록 할 수 있습니다.
• 예를 들어, 테이블 구조가 바뀌더라도 뷰만 수정하면 관련 애플리케이션 코드 변경 없이 계속 사용할 수 있습니다.
4. 복잡한 로직 캡슐화
• 계산된 컬럼, 집계, 조건부 논리 등을 뷰에 정의하여 간단히 사용할 수 있습니다.
• 복잡한 비즈니스 로직이 포함된 쿼리를 뷰로 저장하면 쿼리를 반복 작성할 필요가 없습니다.
5. 읽기 전용 데이터 제공
• 뷰는 기본적으로 읽기 전용으로 사용할 수 있으므로 데이터의 무결성을 유지할 수 있습니다.
• 원본 테이블을 보호하면서 조회 용도로만 사용할 경우 유용합니다.
6. 가독성 향상
• 뷰를 사용하면 복잡한 쿼리를 깔끔하게 정리하고 이해하기 쉬운 형태로 제공할 수 있습니다.
• 특히, 비개발자나 초보자도 데이터를 쉽게 조회할 수 있도록 설계할 수 있습니다.
예시:
다음과 같은 복잡한 쿼리가 있다고 가정합니다:
SELECT
A.name,
B.total_sales,
C.department_name
FROM
employees A
JOIN
sales B ON A.employee_id = B.employee_id
JOIN
departments C ON A.department_id = C.department_id
WHERE
B.total_sales > 10000;
이를 뷰로 정의하면:
CREATE VIEW high_sales_employees AS
SELECT
A.name,
B.total_sales,
C.department_name
FROM
employees A
JOIN
sales B ON A.employee_id = B.employee_id
JOIN
departments C ON A.department_id = C.department_id
WHERE
B.total_sales > 10000;
사용자는 간단히 다음처럼 조회할 수 있습니다:
SELECT * FROM high_sales_employees;
이처럼 뷰는 코드 단순화와 재사용성을 제공하여 DB 관리 및 활용을 효과적으로 만듭니다.
DB에서 뷰(View) 테이블을 만들어 사용하는 이유 250110
2025. 1. 10. 19:14
반응형