2011년 6월 1일 수요일

PLT 2.3 View

PLT 2.3 View
하나 혹은 그 이상의 table로부터 사용자에게 비추어지는 데이터의 또 다른 방식의 창이다. View는 정의된 table 혹은 table들의 모든 column이나 몇 개의 column만 선택하여 정의 할 수 있다. 중요한 것은 index와는 달리 view는 독립적으로 데이터가 저장되는 것이 아니라는 것이다.단지 또 다른 방식의 창과도 같다.
View를 사용하는 목적
Sensitive Security 제공 : End user가 access할 수 있는 row나 column등에 제한을 가함으로써 필요한 경우 security를 보장할 수 있다.
Data Access Performance 향상 : 두 개 이상의 table로부터 data access하는 경우가 빈번히 발생하는 경우 조건에 맞게 추출한 column들을 포함한 view를 만들어 access performance를 향상시킬 수 있다. 복잡한 SELECT문을 View로 정의하여 저장해 두고 여러SE가 공유하여 사용 함으로써 Coding performance도 향상되며 실제 view를 이용하여select를 여러 SE가 수행하는 경우 똑같은 select문을 수행하는 것이므로 DBMS내에서 기존에 한번 수행된 같은 select문을 재사용할 수 있으므로 수행계획(Execution plan)을 만드는 과정이 필요 없으므로 data access performance를 가져온다.
VIEW의 장점
  • VIEW은 데이터베이스의 선택적인 내용을 보여줄 수 있기 때문에 데이터베이스에 대한 액세스를 제한한다.
  • 복잡한 질의어를 통해 얻을 수 있는 결과를 간단한 질의어를 써서 구할 수 있게 한다.
  • 데이터 독립성을 허용한다.
  • 동일한 데이터의 다른 VIEW를 나타낸다.
  • 조인을 한 것처럼 여러 테이블에 대한 데이터를 VIEW을 통해볼 수 있다.
  • 한 개의 VIEW로 여러 테이블에 대한 데이터를 검색할 수 있다.
  • 특정 평가기준에 따른 사용자 별로 다른 데이터를 액세스할 수 있다.

VIEW의 종류
Simple VIEW
  • 오직 하나의 테이블에서만 데이터가 유래된다.
  • 데이터 그룹 또는 함수를 포함하지 않는다.
  • VIEW를 통해 DML 수행 가능

Complex VIEW
  • 다중 테이블에서 데이터가 유래된다.
  • 데이터 그룹 또는 함수를 포함한다.
  • VIEW을 통한 DML을 항상 허용하지 않는다.

VIEW의 생성
  • CREATE VIEW문장 내에서 SUBQUERY을 내장하여 VIEW를 생성한다.
  • SUBQUERY은 복합 SELECT 구문을 포함할 수 있고 ORDER BY 절을 포함할 수 없다.

CREATE  [OR  REPLACE]  [FORCE | NOFORCE]  VIEW view_name [(alias[,alias,...])]
AS Subquery
[WITH  CHECK  OPTION  [CONSTRAINT  constraint ]]
[WITH  READ  ONLY]


OR  REPLACE                   이미 존재한다면 다시 생성한다.
FORCE                              Base Table 유무에 관계없이 VIEW을 만든다.
NOFORCE                         기본 테이블이 존재할 경우에만 VIEW를 생성한다.
view_name                        VIEW의 이름
Alias                                 Subquery를 통해 선택된 값에 대한 Column명이 된다.
Subquery                           SELECT문장을 기술한다.
WITH CHECK OPTION          VIEW에 의해 액세스 될 수 있는 행만이 입력,갱신될 수 있다.
Constraint                          CHECK OPTON제약 조건에 대해 지정된 이름이다.
WITH READ ONLY               이VIEW에서 DML이 수행될 수 없게 한다.
VIEW 생성시 주의 사항
  • VIEW을 정의하는 질의어는 조인, 그룹, Subquery를 포함하는 복잡한 SELECT문장으로 구성될 수 있다.
  • VIEW을 정의하는 질의어에는 ORDER BY 절을 쓸 수 없다.
  • 제약 조건의 이름을 명시하지 않으면 시스템이 SYS_Cn 형태의 이름을 지정한다.
  • VIEW을 삭제하거나 재생성 하지 않고 VIEW의 정의를 변경하려면 OR REPLACE옵션을 쓸 수 있다.

댓글 없음:

댓글 쓰기

ETL 솔루션 환경

ETL 솔루션 환경 하둡은 대용량 데이터를 값싸고 빠르게 분석할 수 있는 길을 만들어줬다. 통계분석 엔진인 “R”역시 하둡 못지 않게 관심을 받고 있다. 빅데이터 역시 데이터라는 점을 볼때 분산처리와 분석 그 이전에 데이터 품질 등 데이...