기술노트
Admin (토론 | 기여)님의 2025년 9월 6일 (토) 05:53 판 (Gemini 벌크 업로더로 자동 업로드)
(차이) ← 이전 판 | 최신판 (차이) | 다음 판 → (차이)

🖼️ 뷰 (View)

데이터베이스의 뷰(View)는 하나 이상의 테이블을 기반으로 하는 가상의 테이블입니다. 실제 데이터를 저장하고 있지는 않지만, 마치 실제 테이블처럼 데이터를 조회하고 조작할 수 있습니다. 뷰는 저장된 `SELECT` 문이라고 생각할 수 있습니다.


🤔 뷰는 왜 필요한가?

  • 보안 강화 : 사용자에게 테이블의 모든 데이터를 보여주는 대신, 특정 컬럼이나 특정 조건에 맞는 데이터만 보여주도록 뷰를 생성하여 데이터 접근을 제한할 수 있습니다.
  • 복잡한 쿼리 단순화 : 여러 테이블을 조인하거나 복잡한 조건을 포함하는 쿼리를 뷰로 미리 정의해두면, 사용자는 뷰를 조회하는 간단한 쿼리만으로 원하는 데이터를 얻을 수 있습니다.
  • 데이터 독립성 제공 : 기본 테이블의 구조가 변경되더라도, 뷰를 사용하는 애플리케이션은 뷰의 정의만 변경하면 되므로, 기본 테이블의 변경으로부터 독립성을 유지할 수 있습니다.
  • 데이터 일관성 유지 : 여러 사용자가 동일한 뷰를 통해 데이터를 조회하므로, 일관된 데이터 뷰를 제공할 수 있습니다.

⚙️ 뷰의 생성 및 사용

뷰는 `CREATE VIEW` 문을 사용하여 생성합니다.

```sql CREATE VIEW ActiveCustomers AS SELECT CustomerID, Name, Email FROM Customers WHERE Status = 'Active';

-- 뷰 조회 SELECT * FROM ActiveCustomers; ```

  • 뷰의 갱신 : 뷰는 기본 테이블의 데이터를 참조하므로, 기본 테이블의 데이터가 변경되면 뷰의 내용도 자동으로 갱신됩니다.
  • 뷰를 통한 데이터 조작 : 단순한 뷰(단일 테이블 기반, 특정 제약 조건 만족)의 경우 `INSERT`, `UPDATE`, `DELETE`와 같은 DML 작업을 통해 기본 테이블의 데이터를 조작할 수도 있습니다. 하지만 복잡한 뷰는 조작이 불가능하거나 제한적입니다.

💡 정보처리기사 핵심 Point

  • 뷰는 데이터베이스의 보안과 편의성을 높이는 중요한 객체입니다.
  • 정보처리기사 시험에서는 뷰의 개념, 장점, 그리고 생성 및 삭제 방법을 묻는 문제가 자주 출제됩니다.
  • 특히 뷰를 통한 데이터 조작(INSERT, UPDATE, DELETE)이 가능한 경우와 불가능한 경우를 구분하여 이해하는 것이 중요합니다.