1 / 11

12. 뷰 (view)

12. 뷰 (view). 뷰란 ? 뷰의 생성 뷰의 수정 뷰의 삭제. 인사 데이터베이스. EMP 테이블. DEPT 테이블. 뷰란 ?. 뷰는 자체적인 데이터를 포함하거나 저장하지 않는 논리적 구조로 기본테이블의 데이터를 조회하거나 변경할 수 있는 창이다 . 즉 가상 테이블이다 . 뷰의 장점 보안성 - 허가되지 않는 데이터에 대한 접근을 막는다 . 편리성 - 여러 테이블을 조인하여 단일 뷰로 접근한다 . 무결성 - 뷰의 제약 조건을 통해 자동 데이터 검사 가능 .

airell
Download Presentation

12. 뷰 (view)

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 12. 뷰 (view) • 뷰란? • 뷰의 생성 • 뷰의 수정 • 뷰의 삭제

  2. 인사 데이터베이스 EMP 테이블 DEPT 테이블

  3. 뷰란? • 뷰는 자체적인 데이터를 포함하거나 저장하지 않는 논리적 구조로 기본테이블의 데이터를 조회하거나 변경할 수 있는 창이다. 즉 가상 테이블이다. • 뷰의 장점 • 보안성 - 허가되지 않는 데이터에 대한 접근을 막는다. • 편리성 - 여러 테이블을 조인하여 단일 뷰로 접근한다. • 무결성 - 뷰의 제약 조건을 통해 자동 데이터 검사 가능. • 일관성 - 기본 테이블의 변경 시에서 일관적 이미지 제공. • 뷰의 단점 • 질의 변환 시간 소모 (view  기본 테이블) • 뷰를 통한 복잡한 연산은 불가능

  4. 2. 뷰의 생성 CREATE VIEW 뷰이름 [컬럼 리스트] AS SELECT 문장 [WITH CHECK OPTION] • ‘기계’과에 다니는 학생에 대한 뷰를 생성하라 SQL> CREATE VIEW V_STUDENT AS SELECT * FROM STUDENT WHERE SOSOK = ‘기계’ ;

  5. 교수 테이블에서 교수 이름과 학과 직책만 나타내는 뷰를 작성하여라 SQL> CREATE V_PROFESSOR AS SELECT P_NAME, SOSOK, BOJIK FROM PROFESSOR; • ‘간호’과 학생의 학번, 이름, 생일을 포함하는 뷰를 만들어라 SQL> CREATE VIEW V1 AS SELECT S_SN, S_NAME, BIRTH FROM STUDENT WHERE SOSOK = ‘간호’;

  6. 학생의 학번, 이름, 학과, 담당 교수 이름을 나타내는 뷰를 생성하라. (JOIN을 통한 뷰 생성) SQL> CREATE VIEW V2 AS SELECT S_SN, S_NAME, A.SOSOK, P_NAME FROM STUDENT A , PROFESSOR B WHERE A.P_SN = B.P_SN ; SQL> SELECT * FROM V2 ;

  7. 학생이름, 소속, 나이로 이루어진 뷰를 생성하라. SQL> CREATE VIEW V3 (S_NAME, SOSOK, AGE) AS SELECT S_NAME, SOSOK , TO_CHAR(SYSDATE , ‘YYYY’ ) - TO_CHAR (BIRTH, ‘YYYY’) + 1 FROM STUDENT; SQL> DESC V3 ; • VIEW를 통해 나이가 27 이상인 학생을 조회하라. SQL> SELECT * FROM V3 WHERE AGE >= 27;

  8. 3. 뷰의 수정 • 뷰를 이용하여 INSERT, UPDATE, DELETE를 수행하수 있지만 많은 제약이 따른다. • 교재 P 227의 참고 • 기계과 학생으로 이루어진 V_STUDENT에 자료를 삽입해 보자. SQL> INSERT INTO V_STUDENT VALUES ( 9929123,’최우람’,’기계’,1,’80/03/14’,293);  V_STUDENT와 STUDENT 각각을 조회하여 확인하기.

  9. VIEW를 이용하여 ‘최우람’ 학생을 ‘전산’과로 수정하여 보자. SQL> UPDATE V_STUDENT SET SOSOK = ‘전산’ WHERE S_NAME = ‘최우람’ ; • STUDENT와 V_STUDENT 를 이용하여 ‘최우람’ 학생을 조회하여 보자.

  10. WITH CHECK OPTION • 2학년 학생으로 이루어진 VIEW를 생성하라. 이때 WITH CHECK OPTION을 이용하여 VIEW를 통한 접근을 제어하라. SQL> CREATE VIEW V4 AS SELECT * FROM STUDENT WHERE YEAR = 2 WITH CHECK OPTION ; • V4의 VIEW를 이용하여 ‘김진우’ 학생을 1학년으로 수정 하여라.

  11. 4. 뷰의 삭제 • DROP VIEW 뷰 이름; SQL> DROP VIEW V4; • 뷰를 삭제하면 이를 참조하는 다른 모든 종속된 뷰도 자동적으로 삭제된다. • 기본 테이블이 삭제되면 이에 종속된 뷰들도 함께 삭제된다.

More Related