일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- OS
- DirectX12
- 프로그래머스
- Direct12
- 병행성
- 디자인패턴
- 멀티쓰레드
- 락
- 동적계획법
- 자료구조
- 컨디션 변수
- 운영체제
- 타입 객체
- codility
- 멀티프로세서
- 그리디알고리즘
- 다이나믹 프로그래밍
- 병행성 관련 오류
- 그리디 알고리즘
- 다이나믹프로그래밍
- 백준
- DirectX 12
- 알고리즘
- 스케줄링
- 영속성
- directx
- 렌더링 파이프라인
- 파일시스템 구현
- 쓰레드
- I/O장치
Archives
- Today
- Total
기록공간
OracleSQL - 뷰(VIEW) 본문
반응형
뷰(VIEW) 란?
뷰란 이미 특정한 데이터베이스 내에 존재하는 하나 이상의 테이블에서 사용자가 얻기 원하는 데이터들만을 정확하고 편하게 가져오기 위하여 사전에 원하는 컬럼들만을 모아서 만들어놓은 가상의 테이블이다. 뷰의 사용에는 편의성 및 보안에 목적이 있다.
가상의 테이블이란, 뷰가 실제로 존재하는 테이블(객체)이 아니라 하나 이상의 테이블에서 파생된 또 다른 정보를 볼 수 있는 방법이며 그 정보를 추출해내는 SQL 문장이라고 볼 수 있다.
기본 형식 및 구조는 다음과 같다.
-- [] 안에 있는 것들은 생략 가능
CREATE [OR REPLACE] VIEW 뷰이름
[ (ALIAS[, ALIAS, ...]) ]
AS
서브쿼리(SUBQUERY)
[WITH CHECK OPTION]
[WITH READ ONLY]
뷰의 데이터는 물리적으로 저장되는게 아니다. 그저 뷰로 설정했었던 SQL 쿼리문이 돌아갈 뿐이다.
다음은 뷰 생성에 대한 예제이다.
-- 관계를 가지는 여러 테이블에서 조인한 후 알맞은 데이터를 뽑아 뷰로 생성
-- ○ 뷰(VIEW) 생성
CREATE OR REPLACE VIEW VIEW_EMPLOYEES
AS
SELECT E.FIRST_NAME, E.LAST_NAME, D.DEPARTMENT_NAME, L.CITY
, C.COUNTRY_NAME, R.REGION_NAME
FROM EMPLOYEES E, DEPARTMENTS D, LOCATIONS L, COUNTRIES C, REGIONS R
WHERE E.DEPARTMENT_ID = D.DEPARTMENT_ID
AND D.LOCATION_ID = L.LOCATION_ID
AND L.COUNTRY_ID = C.COUNTRY_ID
AND C.REGION_ID = R.REGION_ID;
--○ 뷰(VIEW)의 구조 조회
DESC VIEW_EMPLOYEES;
--==>>
/* 이름 널? 유형
--------------- -------- ------------
FIRST_NAME VARCHAR2(20)
LAST_NAME NOT NULL VARCHAR2(25)
DEPARTMENT_NAME NOT NULL VARCHAR2(30)
CITY NOT NULL VARCHAR2(30)
COUNTRY_NAME VARCHAR2(40)
REGION_NAME VARCHAR2(25)
*/
--○ 뷰(VIEW) 소스 확인
SELECT VIEW_NAME, TEXT
FROM USER_VIEWS
WHERE VIEW_NAME = 'VIEW_EMPLOYEES';
--==>>
/*
SELECT E.FIRST_NAME, E.LAST_NAME, D.DEPARTMENT_NAME, L.CITY
, C.COUNTRY_NAME, R.REGION_NAME
FROM EMPLOYEES E, DEPARTMENTS D, LOCATIONS L, COUNTRIES C, REGIONS R
WHERE E.DEPARTMENT_ID = D.DEPARTMENT_ID
AND D.LOCATION_ID = L.LOCATION_ID
AND L.COUNTRY_ID = C.COUNTRY_ID
AND C.REGION_ID = R.REGION_ID;
*/
반응형
'DataBase > Oracle' 카테고리의 다른 글
OracleSQL - PL/SQL 함수(FUNCTION) (0) | 2020.10.18 |
---|---|
OracleSQL - PL/SQL (0) | 2020.10.18 |
OracleSQL - 무결성 제약조건(Constraint) (0) | 2020.10.18 |
OracleSQL - JOIN (0) | 2020.10.10 |
OracleSQL - ROW_NUMBER (0) | 2020.10.10 |