일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Spring Cloud Feign
- Intellj
- golang
- 알고리즘
- 페이징
- MVC
- 자바
- SQL
- 자료구조
- db
- 데이터베이스
- 디자인 패턴
- 코딩
- JPA
- 쿼리
- aws
- 클라우드
- 백준
- retry
- feign
- Spring
- PL/SQL
- DP
- Kafka
- MST
- 운영체제
- Spring Boot
- 오라클
- Jenkins
- Spring Cloud
- Today
- Total
justgo_developer
View(뷰) 본문
View(뷰)
- Table과 유사하며, Table처럼 사용
- Table과는 달리 데이터를 저장하기 위한 물리적인 공간이 필요하지 않은 가상테이블
- 데이터를 물리적으로 갖지 않지만, 논리적인 집합을 갖는다.
- select/insert/update/delete 명령 가능
<활용>
1. 보안관리를 위한 뷰
- 보안등급에 맞추어 컬럼 및 범위를 정하여 조회
- 연산결과만 제공하고 알고리즘을 숨기기 위해 사용
- select list를 함수로 가공하여 update, insert를 못하도록 함.
- 테이블명이나 컬럼명을 숨기도록 함
2. 사용편의성을 위한 뷰
- 검색조건을 단순화하여 사용
- 조인을 단순화
- 사용자를 위한 컬럼명이나 테이블명 제공
<뷰생성>
create view 뷰이름(필드명1, 필드명2, 필드명3, 필드명4, 필드명5) as
select 필드명1, 필드명2, 필드명3, 필드명4, 필드명5
from 테이블명
where 조건;
<뷰삭제>
drop view 뷰이름;
<뷰수정>
create or replace view 뷰이름(필드명1, 필드명2, 필드명3, 필드명4, 필드명5) as
select 필드명1, 필드명2, 필드명3, 필드명4, 필드명5
from 테이블명
where 조건;
update 뷰이름 set 필드명 = 값;
select * from 뷰이름;
example)
create view 뷰이름( emp_id, last_name, annual_sal) as
select employee_id, last_name, (salary+ nvl(commission_pct, 0)) * 12
from employees;
-> select * from v_emp_salary;
: 연산과정 숨기는 뷰 사용
create view 뷰이름
.
.
.
with read only;
: 해당 뷰 수정 불가
create view v_join( 사번, 이름, 부서번호, 부서명, 입사일) as
select ....
from employees emp, departments dept
where emp.department_id = dept.department_id;
-> select * from v_join
: 복잡한 join 조건 간단한 뷰 만들어놈
create view 사원(사번, 이름, 부서번호, 입사일) as
select employee_id, first_name, department_id, hire_date
from employees
where departmend_id = 50;
-> select * from 사원;
: 알기 쉽게 볼수있도록 뷰 사용, 한국어 사용(사용자 편의성)
'IT > Oracle' 카테고리의 다른 글
rowType 변수 및 복합변수 활용 (0) | 2018.12.01 |
---|---|
PL/SQL (0) | 2018.11.30 |
시퀀스(Sequence) (0) | 2018.11.22 |
PL/SQL (0) | 2018.11.18 |
계층형쿼리 (0) | 2018.11.18 |