Introduction
뷰 에 대해서 설명하는 장이다. 뷰를 알고 나면, 테이블 조인이 조금 편해진다.
Content
1. 무엇을 뷰 - VIEW 라고 하는가?
SQL 세계에서 뷰 - VIEW 는 가상 테이블을 뜻한다. 여기서 말하는 가상 테이블은 실제로 테이블이 있는것이 아니라, 필요할 때마다 테이블이 생겼다가 없어졌다가 하는 테이블을 뜻한다.
2. 어디에 뷰 - VIEW 를 사용 하는가?
뷰는 다음의 상황을 위해서 사용 된다.
- 만들었던 SELECT 문을 재사용 하기 위해서
- 일부만 엑세스 하도록 만들어, 테이블에 있는 데이터를 보호하기 위해서
아직 나는 경험이 없어서, 보안을 위해서 VIEW를 사용 하는 형태를 본적이 없다. 현재로썬 사용 할 수도 있겠다. 라고 넘겨짚는다.
3. 어떻게 뷰 - VIEW 를 만드는가?
뷰 - VIEW 를 만들기 위해선 몇가지 규칙을 지켜야 한다.
규칙
- 뷰 이름은 고유해야 한다.
- 뷰에 보안 등급을 설정해야 한다.
- 뷰에 ORDER BY 를 사용 하는 것은 DBMS마다 다르므로, 메뉴얼을 숙지해야 한다.(언제 메뉴얼을 봐, 일단 쓰고 안되면, 메뉴얼 보자.)
- 뷰는 가상 테이블이기 때문에, 성능저하가 발생하는지 테스트 해 보아야 한다.
- 일부 DBMS 는 VIEW 사용시 모든 열에 이름을 지정해야 한다.
- 뷰에는 인덱스, 기본값을 연계할 수 없다.
- 뷰에 데이터를 삽입하거나 업데이트를 하는 것은 가능할 수도 있고, 불가능할 수도 있다. 각 DBMS 설명서를 보라..
이제 무엇인지 알았으므로, 실제로 만들어 보자.
뷰는 CREATE VIEW 문으로 만든다. 삭제할 땐 DROP VIEW viewname; 으로 한다. 어떻게 VIEW를 만드는지 실제 SQL 예제를 보고 알아보자.
이렇게 만들면 된다. 이렇게 만들어진 뷰 - VIEW는 해당 DB에 있는 뷰에 등록되어 있다.
4. 어떻게 만들어진 뷰 - VIEW를 사용 하는가?
사용 할 때는 진짜 테이블이 있는 것 처럼 다음과 같이 할 수 있다.
5. 관련 링크
- http://gomty.tistory.com/220
- http://211.47.127.69:1010/ArticleView.screen?mid=3&bbs=bbs30&type=3&event=view&oid=1059&curpg=21
- http://sql.1keydata.com/kr/sql-create-view.php
- http://www.itmembers.net/board/view.php?id=oracle&no=45
- http://www.happyjung.com/gnuboard/bbs/board.php?bo_table=lecture&wr_id=760&sca=MS-SQL
- http://www.w3schools.com/SQl/sql_view.asp
- http://www.sql-tutorial.com/sql-views-sql-tutorial/
Dirgression
졸리다..
'책 정리 > 하루 10분씩 핵심만 골라 마스터하는 SQL' 카테고리의 다른 글
하루 10분씩 핵심만 골라 마스터하는 SQL - 다 읽고 나서... (0) | 2010.02.21 |
---|---|
22장, 고급 SQL 기능의 이해 (0) | 2010.02.21 |
21장, 커서 사용 : DECLARE CURSOR (359) | 2010.02.18 |
20장, 트랜잭션 처리 : BEGIN TRANSACTION ~ COMMIT TRANSACTION (0) | 2010.02.15 |
19장, 저장 프로시저의 사용 : CREATE PROCEDURE FUNCTION ~ EXECUTE (0) | 2010.02.10 |
17장, 테이블의 생성과 제어 : CREATE TABLE ~ ALTER TABLE (0) | 2010.02.05 |
16장, 데이터의 업데이트와 삭제 : UPDATE DELETE (0) | 2010.02.05 |
15장, 데이터 삽입 : INSERT INTO ~ SELECT INTO (0) | 2010.02.02 |
14장, 쿼리의 결합 : UNION 으로 쿼리 결합하기 (0) | 2010.02.02 |
13장, 고급 조인 만들기 : SELF JOIN, NATURAL JOIN, OUTER JOIN (360) | 2010.01.31 |
최근댓글