58일차 (1) - Database (데이터 모델과 성능, view)

Yohan·2024년 5월 14일
0

코딩기록

목록 보기
84/156
post-custom-banner

정규화와 성능

뷰(View)

VIEW는 데이터베이스에서 가상 테이블의 개념입니다. VIEW는 기본 테이블의 데이터를 기반으로 하지만, 실제로 데이터를 저장하지는 않습니다. 대신, 미리 정의된 SQL 쿼리를 저장하고, 이를 통해 가상의 테이블을 생성하여 사용자에게 결과를 제공합니다. VIEW는 원본 테이블의 하위 집합이거나 여러 테이블을 조인한 결과일 수 있습니다.

VIEW를 사용하는 이유는 다음과 같습니다.

  1. 복잡한 쿼리 간소화: VIEW를 사용하면 길고 복잡한 쿼리를 단순화하고, 쉽게 읽고 이해할 수 있는 형태로 만들 수 있습니다. 이를 통해 사용자는 복잡한 쿼리를 매번 작성할 필요 없이, VIEW를 통해 결과를 얻을 수 있습니다.
  2. 데이터 보안: VIEW를 사용하면 특정 열이나 행에 대한 접근을 제한할 수 있습니다. 예를 들어, 사용자에게는 민감한 정보를 숨기고, 필요한 데이터만 제공할 수 있습니다.
  3. 데이터 독립성: VIEW는 논리적으로 데이터를 구성하므로, 기본 테이블의 구조가 변경되더라도 VIEW를 사용하는 애플리케이션에는 영향을 주지 않습니다. 이를 통해 데이터베이스 설계를 변경하거나 업데이트할 때, 애플리케이션 코드를 수정하지 않고도 일관된 결과를 유지할 수 있습니다.
  4. 코드 모듈화 및 재사용: VIEW를 사용하면 쿼리를 모듈화하고, 여러 애플리케이션에서 재사용할 수 있습니다. 이를 통해 코드 중복을 줄이고, 유지 보수를 용이하게 합니다.
  5. 쿼리 최적화: 일부 데이터베이스 시스템에서는 VIEW를 사용하여 쿼리를 최적화할 수 있습니다. 데이터베이스 최적화기가 여러 VIEW를 결합하여 보다 효율적인 실행 계획을 생성할 수 있습니다.

VIEW는 데이터베이스에서 가상 테이블로 작동하며, 사용자에게는 일반 테이블처럼 보입니다. 이를 통해 복잡한 쿼리를 간소화하고, 데이터 보안을 유지하며, 코드를 모듈화하고 재사용할 수 있습니다. 또한 데이터 독립성을 향상시키고, 쿼리 최적화를 도모할 수 있습니다. 이러한 이유들로 인해 VIEW는 데이터베이스 관리 및 개발에 있어 유용한 도구로 사용됩니다.

다음은 VIEW의 사용 예시입니다.

예시:


CREATE VIEW employee_view AS
SELECT employee_id, first_name, last_name, department_id
FROM employees;

위의 예시에서 employee_view라는 VIEW를 생성하고, employees 테이블의 일부 열을 선택하여 VIEW에 포함시킵니다. 이렇게 하면 사용자는 employee_view를 일반 테이블처럼 사용할 수 있습니다.


SELECT * FROM employee_view WHERE department_id = 10;

위의 쿼리는 employee_view를 사용하여 특정 부서(department_id가 10인 경우)의 모든 직원 정보를 가져옵니다. 이때, VIEW는 원본 테이블의 데이터를 보존하면서 필요한 정보만 제공합니다.


rollup(a, b)   ->  a, a + b, ()
a, rollup(b)  ->  a + b, a
a, cube(b)   ->  a + b, a


 a, rollup(b, c) ->  a + b + c, a + b, a
 a, cube(b, c)  ->  a + b + c, a + b, a + c, a
profile
백엔드 개발자
post-custom-banner

0개의 댓글