14 뷰(View) 뷰의 개념 뷰 관리.

Slides:



Advertisements
Similar presentations
12 데이터 무결성 제약조건 데이터 무결성 제약조건의 개념 데이터 무결성 제약조건의 종류 무결성 제약조건의 생성 방법.
Advertisements

SQL 언어 SQL.
02 SQL 언어 SQL 명령문의 종류와 사용 방법 오라클 오류 메시지.
02 SQL 언어 SQL 명령문의 종류와 사용 방법 오라클 오류 메시지.
Nested Queries CSED421: Database Systems Labs.
PARK SUNGJIN Oracle 설치 PARK SUNGJIN
DB 프로그래밍 학기.
DB 프로그래밍 학기.
You YOungseok 데이터베이스 테이블 및 인덱스 You YOungseok.
16 분석함수 분석 함수의 개념 분석 함수의 종류 계층적 질의문.
다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL
다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL
데이터 베이스 설계 및 실습 #1 - 오라클 설치 및 SQL 기본.
제 09 장 데이터베이스와 MySQL 학기 인터넷비즈니스과 강 환수 교수.
다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL
8장 서브 쿼리.
12장 데이터 읽기 일관성과 락.
6장 Mysql 명령어 한빛미디어(주).
MySQL 및 Workbench 설치 데이터 베이스.
18장. 뷰(View) 뷰의 생성 뷰의 열 이름 뷰의 변경 : WITH CHECK OPTION 뷰 테이블의 정보와 네비게이터
(개정판) 뇌를 자극하는 Red Hat Fedora 리눅스 서버 & 네트워크
14장 질의응답 한빛미디어(주).
기본적인 SELECT문 작성.
SQL*PLUS.
11 테이블 관리와 데이터 딕셔너리 데이터베이스 응용 프로젝트 개발 테이블 구조 변경 데이터 딕셔너리.
3장. 데이터베이스 구축의 전체 과정 미리 실습하기
테이블 : 데이터베이스를 구성하는 요소로 같은 성격에 정보의 집합체. 레코드 : 하나의 정보를 가지고 있는 컬럼의 집합체
5장 Mysql 데이터베이스 한빛미디어(주).
14장 뷰.
6장 그룹 함수.
다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL
07 그룹 함수 그룹 함수의 개념 그룹 함수의 종류 데이터 그룹 생성 HAVING 절.
08 조인(JOIN) 조인의 개념 칼럼 이름의 애매모호성, 테이블 별명, 조인 조건식 조인의 종류.
09 서브쿼리(Subquery) 서브쿼리의 개념 서브쿼리의 종류 데이터베이스 실무에서 서브쿼리 사용시 주의 사항.
14 뷰(View) 뷰의 개념 뷰 관리.
3.2 SQL Server 설치 및 수행(계속) 시스템 데이터베이스 master
SELECT empno, ename, job, sal, dname FROM emp, dept
13 인덱스 인덱스의 개념 인덱스의 구조 인덱스의 효율적인 사용 방법 인덱스의 종류 및 생성 방법 인덱스 실행 경로 확인
17강. 데이터 베이스 - I 데이터 베이스의 개요 Oracle 설치 기본적인 SQL문 익히기
MYSQL 설치 SQL언어 SQL언어의 활용 웹과 SQL언어와의 연동
SQL.
KHS JDBC Programming 4 KHS
5장 Mysql 데이터베이스 한빛미디어(주).
KIM HEESANG PL/SQL 2 KIM HEESANG
13 인덱스 인덱스의 개념 인덱스의 구조 인덱스의 효율적인 사용 방법 인덱스의 종류 및 생성 방법 인덱스 실행 경로 확인
You YoungSEok Oracle 설치 You YoungSEok
다양한 예제로 쉽게 배우는 오라클 SQL 과 PL/SQL
JDBC Lecture 004 By MINIO.
메모리 관리 & 동적 할당.
3장. SQL Server 2008 전체 운영 실습 및 DB와 프로그램의 연동
2장. 데이터베이스 관리 시스템 데이터베이스 관리 시스템의 등장 배경 데이터베이스 관리 시스템의 정의
03 SQL*Plus SQL*Plus 개요 SQL*Plus 명령어 SQL*Plus 사용 환경 명령어
테이블 만들기 실습 목표 입력할 tableDB <실습1> SSMS에서 테이블 생성
기본적인 SELECT문 작성.
CHAP 21. 전화, SMS, 주소록.
문성우 SQL 실습 Part Ⅰ 문성우.
Database Relational DML SQL.
6.오라클DBMS.
10 데이터 조작어 데이터 조작어 데이터 입력 데이터 수정 데이터 삭제 MERGE 트랜잭션 관리 시퀀스.
10 데이터 조작어 데이터 조작어 데이터 입력 데이터 수정 데이터 삭제 MERGE 트랜잭션 관리 시퀀스.
오라클 11g 보안.
14 뷰(View) 뷰의 개념 뷰 관리.
제 23 장 오라클에서 보안 기능.
Chapter 10 데이터 검색1.
11장 배열 1. 배열이란? 1.1 배열의 개요 1.2 배열의 선언과 사용.
 6장. SQL 쿼리.
임시테이블과 테이블변수 SQLWorld Study Group - 최명환 -.
11장. 보안과 권한 관리 보안 권한 관리. 11장. 보안과 권한 관리 보안 권한 관리.
7 생성자 함수.
Ⅰ. 데이터베이스 정의 Ⅱ. MS SQL 서버 Ⅲ. 데이터베이스 인터페이스
Presentation transcript:

14 뷰(View) 뷰의 개념 뷰 관리

뷰의 개념 뷰(view)란? 뷰의 장점 하나 이상의 기본 테이블이나 다른 뷰를 이용하여 생성되는 가상 테이블 가상 테이블 테이블은 디스크에 공간이 할당되어 데이터를 저장 뷰는 데이터딕셔너리 테이블에 뷰에 대한 정의만 저장 디스크 저장공간 할당이 안됨 전체의 데이터중에서 일부만 접근할 수 있도록 제한 테이블에서 파생된 객체 테이블과 유사하게 사용 뷰에 대한 수정 결과는 뷰를 정의한 기본 테이블에 적용 뷰를 정의한 기본 테이블에서 정의된 무결성 제약 조건 상속 뷰의 장점 데이터를 보호하기 위한 보안(security) 교수 테이블에서 급여나 보직수당은 개인적인 정보임 학생들의 접근을 제한 사용자 편의성(flexibility) 사용자 편의성 - 학생 입장에서는 교수 테이블에서 급여와 보직수당을 제외한 정보를 뷰로 만들어서 학생들에게 제공 14장. 뷰(View)

뷰의 개념도 교수 테이블을 이용한 뷰 생성 CREATE TABLE VIEW_PROFESSOR AS 102 25 86/01/08 450 교수 refresh 권혁일 9905 ……… 20 COMM 88/09/13 95/04/12 82/06/24 HIREDATE 420 320 500 SAL 101 201 DEPTNO 조교수 sweat413 이재우 9902 부교수 Pocari 이만식 9906 capool 김도훈 9901 POSITION USERID NAME PROFNO 교수 테이블 교수 테이블을 이용한 뷰 생성 CREATE TABLE VIEW_PROFESSOR AS SELECT profno, name, userid, position, hiredate, deptno FROM professor; 뷰(view_professor) 결과 14장. 뷰(View)

뷰의 종류 단순 뷰(simple view) 복합 뷰(complex view) 하나의 기본 테이블에 의해 정의한 뷰 단순 뷰에 DML명령문의 실행 결과 기본 테이블에 반영 복합 뷰(complex view) 두개 이상의 기본 테이블로 구성한 뷰 무결성 제약조건, 표현식, GROUP BY절의 유무에 따라 DML명령문의 제한적 사용 DISTINCT, 그룹함수, GROUP BY, START WITH CONNECT BY, ROWNUM을 포함 할 수 없음 14장. 뷰(View)

뷰 생성 뷰 생성 CREATE VIEW 명령문 사용 뷰 생성시 칼럼 이름을 명시 하지 않으면 기본 테이블의 칼럼 이름을 상속 함수나 표현식에 의해 정의된 칼럼은 별도로 이름을 명시(별명 사용) 14장. 뷰(View)

뷰 생성 예 – 단순 뷰 14장. 뷰(View)

뷰 생성 예 – 복합 뷰 14장. 뷰(View)

뷰 생성 예 – 함수를 사용 14장. 뷰(View)

인라인 뷰 인라인 뷰(inline view) FROM 절에서 참조하는 테이블의 크기가 클 경우, 필요한 행과 컬럼만으로 구성된 집합을 재정의하여 질의문을 효율적 구성 FROM 절에서 서브쿼리를 사용하여 생성한 임시 뷰 SQL 명령문이 실행되는 동안만 임시적으로 정의 14장. 뷰(View)

인라인 뷰 예 14장. 뷰(View)

뷰의 내부 처리 과정 뷰에 대한 질의의 내부적인 처리 과정 1) USER_VIEW 데이터 딕셔너리에서 뷰에 대한 정의를 조회 2) 기본 테이블에 대한 뷰의 접근 권한을 확인 3) 뷰에 대한 질의를 기본 테이블에 대한 질의로 변환 4) 기본 테이블에 대한 질의를 통해 데이터를 검색 5) 검색된 결과를 출력 뷰의 정의 CREATE VIEW v_stud_dept101 AS SELECT studno, name, deptno FROM student WHERE deptno = 101 SELECT * FROM v_stud_dept101 WHERE name = ‘김영균’ 사용자 질의 내부 변환 14장. 뷰(View)

뷰 조회 USER_VIEWS 사용자가 생성한 모든 뷰에 대한 정의를 저장 14장. 뷰(View)

뷰의 변경 뷰의 변경 뷰의 변경은 기존 뷰에 대한 정의를 삭제한 후 재생성 CREATE 명령문에서 OR REPLACE 옵션을 이용하여 재생성 OR REPLACE 옵션은 기존에 생성된 뷰가 있을 경우에는 기존 뷰를 무시하고 재생성하는 옵션 변경 결과는 USER_VIEWS 데이터 딕셔너리에 저장 14장. 뷰(View)

뷰에 대한 데이터 조작 단순 뷰 복합 뷰 데이터 조작이 불가능한 경우 세가지 단순 뷰는 기본 테이블과 동일하게 DML 명령문 사용 내부적으로 기본 테이블에 대한 데이터를 조작하는 과정 뷰에 대한 무결성 제약조건도 기본 테이블에 정의된 무결성 제약조건이 적용 복합 뷰 복합 뷰에서는 DML 명령어 사용 제한 데이터 조작이 불가능한 경우 세가지 뷰 정의에 포함되지 않는 기본 테이블의 칼럼이 NOT NULL 제약조건으로 지정된 경우 뷰 정의시 표현식으로 정의된 칼럼에 대해서는 UPDATE, INSERT 명령문의 실행이 불가능 뷰 정의시 그룹 함수, DISTINCT, GROUP BY 절을 포함한 경우에는 모든 종류의 DML 명령문 사용 불가 14장. 뷰(View)

뷰의 삭제 뷰의 삭제 뷰는 실체가 없는 가상 테이블이므로 뷰의 삭제는 USER_VIEWS데이터 딕셔너리에 저장된 뷰의 정의를 삭제 뷰를 정의한 기본 테이블의 구조나 데이터에는 전혀 영향 없음 14장. 뷰(View)