Skip to content
- 용어정의
- 뷰
- 복잡한 질의를 간단하게 표현하는 수단, 데이터 독립성을 높이기 위해 사용
- 하나의 가상 릴레이션(virtual relation)을 의미
- 릴레이션에 대한 SELECT 문의 형태로 정의됨
- 여러 개의 릴레이션과 뷰를 사용할 수 있음
- 릴레이션으로부터 데이터를 검색하거나 갱신할 수 있는 동적인 창의 역할
- 시스템 카탈로그
- 시스템 내의 객체(기본 릴레이션, 뷰, 인덱스, 사용자, 접근 권한 등)에 관한 정보를 포함
- 릴레이션의 애트리뷰트를 알수 있고, 각 애트리뷰트의 데이터 타입 등을 파악할 수 있음
- 스냅샷(snapshot)
- 어느 시점에 SELECT문의 결과를 기본 렐레이션의 형태로 저장해 놓은 것
- 뷰
- 정의
|
CREATE VIEW 뷰이름 [(애트리뷰트 들)] AS SELECT 문 [WITH CHECK OPTION]; |
- 사용 예
|
CREATE VIEW EMP_DNO3 (ENO, ENAME, TITLE) AS SELECT EMPNO, EMPNAME, TITLE FROM EMPLOYEE WHERE DNO=3; |
- 뷰의 장점
- 뷰는 복잡한 질의를 간단하게 표현할 수 있게 함
- 뷰는 데이터 무결성을 보장하는데 활용됨
- 뷰는 데이터 독립성을 제공함
- 뷰는 데이터 보안 기능을 제공함
- 동일한 데이터에 대한 여러 가지 뷰를 제공함
- 뷰의 갱신
- 뷰에 대한 갱신도 기본 릴레이션에 대한 갱신으로 변환됨
- 갱신이 불가능한 뷰
- 한 릴레이션으로만 정의되었으나 기본키가 포함되지 않은 뷰
- 뷰에 포함되지 않은 애트리뷰트에 NOT NULL이 지정되어 있을 때
- 집단 함수가 포함된 뷰
- 조인으로 정의된 뷰
- 시스템 카탈로그
- 정의
- 데이터메이스의 객체(사용자, 릴레이션, 뷰, 인덱스, 권한 등)와 구조들에 관한 모든 데이터를 포함
- 메타데이터라고도 함, (데이터에 관한 데이터)
- 데이터 사전(data dictionary) 또는 시스템 테이블이라고도 함
- 표준화되지 않아 각 DBMS마다 다른 형태로 제공
- 시스템 카탈로그가 질의 처리에 어떻게 활용되는가?
- 질의 최적화
- 시스템 카탈로그에 유지되는 통계정보
- 릴레이션마다
- 뷰마다
- 애트리뷰트마다
- 사용자마다
- 인덱스마다
- 오라클의 시스템 카탈로그
- DBA_xxx 뷰 : 데이터베이스 내의 모든 객체들에 관한 정보
- ALL_xxx 뷰 : 현재의 사용자가 접근할 수 있는 객체들에 관한 정보
- USER_xxx 뷰 : 현재의 사용자가 소유하고 있는 객체들에 관한 정보
- 사용 예
- KIM이 소유한 테이블이나 뷰에 관한 정보 검색
- SELECT * FROM ALL_CATALOG WHERE OWNER=’KIM’;
- KIM이 소유한 EMPLOYEE 테이블의 애트리뷰트 정보 질의
- SELECT TABLE_NAME, COLUMN_NAME, DATA_TYPE
FROM USER_TAB_COLUMNS
WHERE TABLE_NAME=’EMPLOYEE’;
- 사용자 뷰의 이름과 sql 질의
- SELECT VIEW_NAME, TEXT FROM USER_VIEWS;
error: Content is protected !!