본문 바로가기

IT일반과목/DataBase

데이터베이스 (집공부8)

1. 제약 조건 확인하기

 -> EMPLOYEE 데이터 딕셔너리 뷰를 조회하면 내가 만든 정보를 조회 할 수 있다.

ex) DESC EMPLOYEE;




---------------------------------------------------------------------------------------------------------


2. 뷰 (View) 의개념

 -> 물리적인 테이블을 근거한 논리적인 가상 테이블이라고 정의할 수 있다.

 -> 가상이란 단어는 실질적으로 데이터를 저장하고 있지 않기 때문에 붙인 것이고, 테이블이란 단어는 실질적으로 데이터를 저장하고 있지 않더라도

사용자는 마치 테이블을 사용하는 것과 동일하게 뷰를 사용할 수 있기 때문에 붙인 것입니다.

 -> 뷰는 기본 테이블에서 파생된 객체로서 기본 테이블에 대한 하나의 쿼리문입니다.

 -> 뷰(View)란 '보다'란 의미를 갖고 있는 점을 감안해 보면 알 수 있듯이 실제 테이블에 저장된 데이터를 뷰를 통해서 볼 수 있도록 합니다.

 -> 사용자에게 주어진 뷰를 통해서 기본 테이블을 제한적으로 사용하게 됩니다.


---------------------------------------------------------------------------------------------------------


2.1 뷰의 기본 테이블

 -> 뷰는 이미 존재하고 있는 테이블에 제한적으로 접근하도록 합니다.

 -> 뷰를 생성하기 위해서는 실질적으로 데이터를 저장하고 있는 물리적인 테이블이 존재해야 하는데 이 테이블을 기본 테이블이라고 합니다.


---------------------------------------------------------------------------------------------------------


2.2 뷰의 내부구조와 USER_VIEWS 데이터 딕셔너리

 -> 1. 사용자가 뷰에 대해서 질의를 하면 EMPLOYEE에서 뷰에 대한 정의를 조회합니다.

 -> 2. 기본 테이블에 대한 뷰의 접근 권한을 살핀다.

 -> 3. 뷰에 대한 질의를 기본 테이블에 대한 질의로 변환합니다.

 -> 4. 기본 테이블에 대한 질의를 통해 데이터를 검색 합니다.

 -> 5. 검색된 결과를 출력합니다.


---------------------------------------------------------------------------------------------------------


2.3 뷰를 사용하는 이유

 -> 복잡하고 긴 쿼리문을 뷰로 정의하면 접근을 단순화시킬 수 있다.

 -> 보안에 유리하다.


---------------------------------------------------------------------------------------------------------


2.4 뷰의 종류
 -> 테이블의 수에 따라 단순 뷰(Simple View)와 복합 뷰(Complex View)로 나뉩니다.

단순 뷰

복합 뷰

하나의 테이블로 생성

여러 개의 테이블로 생성

그룹 함수의 사용이 불가능

그룹 함수의 사용이 가능

DSITINCT 사용이 불가능

DISTINCT 사용이 가능

DML 사용 가능

DML 사용 불가능