Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31
Tags more
Archives
Today
Total
관리 메뉴

기분좋음

국비 26 일차 본문

IT 포트폴리오/국비지원교육 Diary

국비 26 일차

기분좋음:) 2022. 1. 18. 23:31
반응형

1~10강까지 연습문제 다시 풀이

 

11강 뷰

 

• 일반적으로 데이터를 저장하기 위해 테이블을 사용한다

• 테이블에 저장된 데이터는 실제 디스크 공간에 할당되어서 저장(물리적)이 된다.

• 테이블과 다르게 뷰는 테이블과 비슷한 형태를 가지면서도 디스크에는 실제 저장하지 않는 ‘가상의 테이블’(논리적)이     다.

 

• 뷰를 정의 하기 위해 사용하는 테이블을 기본 테이블이라고 부른다.

• 뷰는 기본적으로 읽기전용으로 사용(데이터 수정도 가능)

• 데이터 수정시 그 결과는 기본 테이블에 반영이 된다.

• 반대로 기본 테이블에 데이터가 변경되어도 뷰에 반영이 된다.

 

뷰의 사용법

CREATE OR REPLACE VIEW 뷰이름 (컬럼명1, 컬럼명2….) AS subquery;

or replace 는 같은 이름의 view가 있을경우 대체한다는 의미

 

• 단순 뷰 : 하나의 기본 테이블로 생성된 뷰 – DML명령을 수행 할 수 있다.

• 복합 뷰 : 두개 이상의 기본테이블로 생성된 뷰

– 여러가지 제약조건, 표현식, 그룹화에 의해 DML 사용이 제한적이다.

- 복합 뷰는 DISTINCT나 그룹함수, GROUP BY 절 등을 사용할 수 없다.

 

뷰 - 필요성

• 보안 -일반 사용자에게 뷰에만 접근하도록 해서 기본테이블에 저장된 민감한 데이터에 접근을 막는다.

• 정보를 쉽게 사용 - 복잡한 쿼리를 미리 뷰로 생성해 두면 뷰만 호출함으로 정보를 쉽게 사용할 수 있다.

 

• 뷰는 데이터를 가지고 있지 않는 가상의 테이블이므로 실체가 없다.

• 단순히 AS 절 이하 쿼리문을 저장하고 있다가 매번 쿼리문을 실행 함으로 데이터를 불러온다.

• 뷰 데이터 사전 살펴보기

   SELECT view_name, text FROM user_views;

 

• 뷰가 처리되는 과정

• USER_VIEW 데이터 사전에서 뷰에 대한 정의 조회

• 기본테이블에 대한 뷰의 접근 권한을 살핌

• 뷰에 대한 질의를 기본 테이블에 대한 질의로 변환

• 기본 테이블에 대한 질의를 통해 데이터 검색

• 검색 결과 출력

 

• 뷰는 기본테이블을 간접적으로 접근하므로 기본적인 조회 기능 뿐 아니라 데이터 삽입, 변경, 삭제를 할 수 있다.

 

다양한 뷰 생성

• 함수를 사용하여 뷰를 생성할 수도 있다

• 그러나 그룹함수를 사용하는 경우 물리적인 칼럼이 존재하지 않고

   가상의 칼럼을 사용하기 때문에 반드시 별칭을 사용해야 한다.

 

뷰의 옵션 – FORCE

• FORCE : 옵션은 기본 테이블의 존재 유무와 상관없이 뷰를 생성 할 때 사용한다.

• 기본값은 NOFORCE => 뷰 생성시 반드시 기본 테이블이 있어야 한다. 

 

뷰의 옵션 – WITH CHECK OPTION

• WITH CHECK OPTION : 해당 뷰를 통해서 볼 수 있는 범위 내에서만 UPDATE나 INSERT가 가능하다.

 

뷰의 옵션 – WITH READ ONLY

• WITH READ ONLY : 해당 뷰를 통해서 SELECT만 가능하고 UPDATE나 INSERT가 불가능 하게 해주는 옵션이다

 

반응형

'IT 포트폴리오 > 국비지원교육 Diary' 카테고리의 다른 글

국비 28 일차  (0) 2022.01.20
국비 27 일차  (0) 2022.01.20
국비 25 일차  (0) 2022.01.17
국비 24 일차  (0) 2022.01.14
국비 23 일차  (0) 2022.01.13