\

해병 코딩

728x90
반응형

 

뷰의 개념

 

1. 하나 이상의 테이블이나 다른 뷰의 테이터를 볼수 잇게 하는 데이터베이스 객체.

 

2..뷰를 가상테이블이라고도 부르는데, 뷰는 테이블과 거의 흡사하게 사용하기 때문이다.

 

3.뷰는 실제 데이터가 저장되는 것은 아니지만 뷰를 통해 데이터를 관리 할수있다.

 

VIEW를 가상테이블이라고 하는이유

뷰는 데이터를 물리적으로 가지고 있지 않다.

뷰의 사용용도는 테이블과 동일하지만, 데이터 저장 공간이 없다,

뷰는 단지 쿼리문을 저장하고 있는 객체라고 표현할 수 있겟다.

 

VIEW의 사용목적

직접적인 테이블 엑세스를 제한하기 위해서

복잡한 질의를 쉽게 만들기 위해서 사용된다.

 

 

 

VIEW의 생성 ( 명령어)

 

CREATE OR REPLACE VIEW

● CREATE VIEW 는 뷰의 구조 변경시 삭제후 재생성해야됨

● CREATE OR REPLACE VIEW 기존뷰가 있어도 삭제 하지 않고 새로운

구조로 변경 가능.

 

◎FORCE : 기본 테이블 의 존재여부를 따지지않고 뷰 생성.

◎WITH CHECK OPTION : 해당 뷰의 범위내에서만 DML 문 가능

◎WITH READ ONLY : DML 문 불가, SELECT 만 가능

뷰 생성시 권한으로 인해 에러 발생시

GRANT CREATE VIEW TO 사용자명

 

시스템으로 로그린하여 사용자에게 권한을 준다

 

VIEW의 조회

뷰(가상테이블)의 조회도 일반적인 테이블 처럼 SELECT문을 사용한다.

뷰의 정보를 살펴보면 테이블처럼 디스크( 기억공간)에 물리적으로 테이터가 저장되어 있지 않고, 뷰를 정의할 떼 작성한 SELECT문만 볼수있는걸 알수있다.

 

동작 원리

1.사용자가 뷰에 대해서 질의를 하면 UESER_VIEWS에서 뷰에 대한 정의를 조회 한다

2.기본 테이블에 대한 뷰의 접근 권한을 조회한다.

3.뷰에 대한 질의를 기보테이블에 대한 질의 변환된다.

4.기본테이블에 대한 질의를 통해 테이터를 검색한다

5.검색된 결과를 보여준다

 

 

 

뷰의 정의에 있어서 사용되는 테이블수에 따라 두가지로 나뉜다.

 

    

종류  simple-View  complex-view 
 데이블수 1개   2개이상 
그룹함수  사용가능  사용불가능 
 DISTINCT 사용불가능  사용가능 
 DML문 사용가능  사용불가능 

 

 

 

<뷰만들기>

ex) create view [뷰이름] as

select [칼럼] [칼럼] [칼럼]        //내가 볼 칼럼 ( 항목만) ex) 부서,

from [테이블]

where [ ]=30;         // 

 

 

<워크시트에서> 만들어 진 뷰 보기

slect view_ name ,text

from user_views;

 

뷰삭제

drop view [뷰이름)

 

 

수정

 

create or replace view 

 

존재하지 않은 뷰이면 새로은 뷰생성하고

기본에 존재하면 내용을 변경한다

 

 

기존태이블 없이 뷰 생성

             강제              

 

create or replace force view force_view

as

select empno, ename

from emp2

where depton=30;

 

쓰는 이유  뷰를 먼저 만들어 놓고  나중에 테이블을 만들는 경유 사용 한다 

나중에 태이블은 만들면 활성화 된다.

 

 


저의 블로그 봐주셔서 감사합니다

재.미.있.게 보셧다면 아래 하트 ❤(공감) 과 댓글 부탁 드려요 .

 

 

 

728x90
반응형

이 글을 공유합시다

facebook twitter googleplus kakaoTalk kakaostory naver band