티스토리 뷰
뷰(View)
테이블은 실제로 데이터를 가지고 있는 반면, 뷰(View)는 실제 데이터를 가지고 있지 않다. 뷰는 단지 뷰 정의(View Definition)만을 가지고 있다. 질의에서 뷰가 사용되면 뷰 정의를 참조해서 DBMS 내부적으로 질의를 재작성(Rewrite)하여 질의를 수행한다. 뷰는 실제 데이터를 가지고 있지 않지만 테이블이 수행하는 역할을 수행하기 때문에 가상 테이블(Virtual Table)이라고도 한다. 뷰는 아래 표와 같은 장점을 갖는다.
뷰의장점 | 설명 |
---|---|
독립성 | 테이블 구조가 변경되어도 뷰를 사용하는 응용 프로그램은 변경하지 않아도 된다. |
편리성 | 복잡한 질의를 뷰로 생성함으로써 관련 질의를 단순하게 작성할 수 있다. 또한 해당 형태의 SQL문을 자주 사용할 때 뷰를 이용하면 편리하게 사용할 수 있다. |
보안성 | 직원의 급여정보와 같이 숨기고 싶은 정보가 존재한다면, 뷰를 생성할 때 해당 컬럼을 빼고 생성함으로써 사용자에게 정보를 감출 수 있다. |
그러나 실무에서는 뷰를 만들어서 쓰는 곳이 단 한곳도 없다. 실무에서는 테이블 컬럼이 수시로 바뀐다. 그럴때마다 뷰를 지웠다가 다시 만들어야 하기 때문에 실무에서는 비효율적이라고 판단한다.
아래와 같이 뷰에 있는 SQL 내용을 복사에서 FROM 절 안에 넣으면 동일한 결과를 확인할 수 있다.
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
32
33
34 |
SELECT *
FROM (
SELECT
e.employee_id,
e.job_id,
e.manager_id,
e.department_id,
d.location_id,
l.country_id,
e.first_name,
e.last_name,
e.salary,
e.commission_pct,
d.department_name,
j.job_title,
l.city,
l.state_province,
c.country_name,
r.region_name
FROM
employees e,
departments d,
jobs j,
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
AND j.job_id = e.job_id
)
; |
cs |
'프로그래밍 > 데이터베이스' 카테고리의 다른 글
ERwin을 이용해서 HR- ERD 그리기 (0) | 2016.02.19 |
---|---|
EXISTS, DECODE, TO_CHAR, ROWNUM, DUAL, SYSDATE (0) | 2016.02.18 |
~조인(Join) 실습문제 (0) | 2016.02.18 |
테이블 구조도, 테이블 조인(join) (0) | 2016.02.17 |
Primary key, Foreign key (0) | 2016.02.17 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- JSP
- mybatis
- facebook 연동
- 포스팅하기
- 제이쿼리
- aop
- 글쓰기 버튼
- Relative Layout
- query
- jQuery
- 게시판 만들기
- 메소드
- 뒤로가기 버튼
- mongo db
- 메뉴바에 버튼 생성하기
- Linear Layout
- spring
- intent
- 뉴스피드 가져오기
- er다이어그램
- 배열
- 예외처리
- sql
- Erwin
- activity
- 클래스
- ERD
- 자바프로그래밍
- MVC
- 쿼리
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함