뷰 테이블 | Oralce(오라클) – 뷰 테이블 (View Table) 수업 상위 5개 답변

당신은 주제를 찾고 있습니까 “뷰 테이블 – Oralce(오라클) – 뷰 테이블 (View Table) 수업“? 다음 카테고리의 웹사이트 ppa.maxfit.vn 에서 귀하의 모든 질문에 답변해 드립니다: https://ppa.maxfit.vn/blog. 바로 아래에서 답을 찾을 수 있습니다. 작성자 HS Cho 이(가) 작성한 기사에는 조회수 86회 및 좋아요 1개 개의 좋아요가 있습니다.

뷰 테이블 주제에 대한 동영상 보기

여기에서 이 주제에 대한 비디오를 시청하십시오. 주의 깊게 살펴보고 읽고 있는 내용에 대한 피드백을 제공하세요!

d여기에서 Oralce(오라클) – 뷰 테이블 (View Table) 수업 – 뷰 테이블 주제에 대한 세부정보를 참조하세요

cafe.daum.net/java2

뷰 테이블 주제에 대한 자세한 내용은 여기를 참조하세요.

[DB] VIEW 테이블이란 ? – hello world

VIEW는 데이터가 없고 SQL만 저장한다. · 1-1) 뷰 생성 쿼리 · 기본 조회 쿼리 · VIEW 생성해서 조회하는 쿼리 · 조인 쿼리문을 매번 작성하기 보다는 조회 쿼리문을 · 뷰로 …

+ 여기에 표시

Source: helloworld92.tistory.com

Date Published: 10/12/2022

View: 7007

데이터베이스 | 뷰 테이블(View table) – velog

SQL에서 view는 SQL 쿼리의 결과 셋을 기반으로 만들어진 일종의 가상 테이블이다. view는 실제 테이블과 같이 행과 열을 가지고 있는데, 이 때 뷰에 속한 …

+ 여기에 표시

Source: velog.io

Date Published: 1/3/2021

View: 569

[데이터베이스] VIEW 테이블(가상 테이블) – 개발이 즐겁다!

[데이터베이스] VIEW 테이블(가상 테이블) · – 뷰란 하나의 가상테이블이라고 생각하면 된다. · – 뷰는 실제 데이터가 하드웨어에 저장되는 것은 아니지만 …

+ 자세한 내용은 여기를 클릭하십시오

Source: jhkang-tech.tistory.com

Date Published: 12/13/2022

View: 6866

VIEW 테이블(가상 테이블) (뷰) – IT,경제 내맘대로 끄적끄적

VIEW 테이블. 뷰란 하나의 가상테이블이라고 생각하면 된다 뷰는 실제 데이터가 하드웨어에 저장되는 것은 아니지만 뷰를 통해 데이터를 관리할 수 …

+ 더 읽기

Source: y34d.tistory.com

Date Published: 10/29/2021

View: 9519

[DB기초] 뷰(View)란 무엇인가? + 간단한 예제 – 코딩팩토리

뷰(View)란 무엇인가? · 1. 뷰는 사용자에게 접근이 허용된 자료만을 제한적으로 보여주기 위해 하나 이상의 기본 테이블로부터 유도된, 이름을 가지는 …

+ 자세한 내용은 여기를 클릭하십시오

Source: coding-factory.tistory.com

Date Published: 2/12/2021

View: 3651

[SQL] VIEW TABLE(뷰 테이블) 생성, 조회, 수정, 삭제 – 개발공작소

VIEW TABLE(뷰테이블)이란?? … 뷰테이블이란 일반 테이블이 물리적(저장장치)에 저장되는 것과는반대로 실제로 존재 하지 않는 논리적인 테이블로,.

+ 여기에 표시

Source: bongra.tistory.com

Date Published: 7/10/2022

View: 3275

[DB] View란? – 비달사쑨 블로그

1. View란? · – 물리적인 테이블을 근거한 논리적인 테이블 · – 뷰는 기본 테이블에서 파생된 객체로서 기본 테이블에 대한 하나의 쿼리문(뷰테이블 X, 뷰 …

+ 여기에 자세히 보기

Source: sassun.tistory.com

Date Published: 3/20/2021

View: 8172

[MySQL] 뷰 (VIEW) 만들기 – 신기한 세상 사전

뷰 : 조인 등의 작업을 해서 만든 ‘결과 테이블’ 이 가상으로 저장된 형태 일시적으로 생성한 결과 테이블을 저장해둔 것 뷰(VIEW)는 가상테이블 …

+ 여기에 더 보기

Source: dwbutter.com

Date Published: 10/15/2021

View: 7040

모두의 SQL: 01 뷰 : 가상의 테이블 – 더북(TheBook)

뷰(view)는 테이블과 유사하지만 실제 데이터가 없는 테이블을 바라보는 매개체이자 ‘거울’과 같은 개념입니다. 뷰는 직접 테이블에 접근하는 것이 아니라 테이블에서 …

+ 여기에 더 보기

Source: thebook.io

Date Published: 2/9/2021

View: 5220

주제와 관련된 이미지 뷰 테이블

주제와 관련된 더 많은 사진을 참조하십시오 Oralce(오라클) – 뷰 테이블 (View Table) 수업. 댓글에서 더 많은 관련 이미지를 보거나 필요한 경우 더 많은 관련 기사를 볼 수 있습니다.

Oralce(오라클) - 뷰 테이블 (View Table) 수업
Oralce(오라클) – 뷰 테이블 (View Table) 수업

주제에 대한 기사 평가 뷰 테이블

  • Author: HS Cho
  • Views: 조회수 86회
  • Likes: 좋아요 1개
  • Date Published: 2021. 4. 20.
  • Video Url link: https://www.youtube.com/watch?v=LXTH618unEY

[DB] VIEW 테이블이란 ?

1. VIEW 테이블이란?

– 하나의 가상 테이블이라고 생각하면된다.

– 실제 데이터가 저장되는것이 아니다, 뷰를 통해 데이터를 관리할 수 있다.

– VIEW와 TABLE과의 차이점은 그냥 TABLE은 실질적인 데이터가 있지만 VIEW는 데이터가 없고 SQL만 저장한다.

1-1) 뷰 생성 쿼리

CREATE 생략가능[OR REPLACE] 생략가능[FORCE | NOFORCE] VIEW 뷰명 AS (SELECT문) 생략가능[WITH CHECK OPTION 생략가능[CONSTRAINT 제약조건명]] 생략가능[WITH READ ONLY 생략가능[CONSTRAINT 제약조건명]]

– OR REPLACE option : 해당 구문 사용하면 뷰를 수정할 때 DROP 없이 수정 가능

– With Check option : 주어진 제약 조건에 맞는 데이터만 입력 및 수정 가능

– With read only : select 만 가능

–학교 테이블에서 학년이 3인 학생들의 성명과 학번을 학교뷰테이블이라는 뷰로 만드는 쿼리 CREATE OR REPLACE VIEW 학교뷰테이블(성명, 학번) AS SELECT 성명, 학번 FROM 학교 WHERE 학년 =’3′;

2. VIEW 사용하는 이유

– 한개의 뷰로 여러 테이블에 대한 데이터를 검색할 수 있다.

– 뷰를 통해서만 데이터에 접근하게 되면 뷰에 없는 데이터를 안전하게 보호할 수 있다.

기본 조회 쿼리

select stu.name, d.deptno from student stu, department d, professor p where student deptno = d.deptno and d.pno = p.id

VIEW 생성해서 조회하는 쿼리

CREATE OR REPLACE VIEW v1 AS select stu.name, d.deptno from student stu, department d, professor p where student deptno = d.deptno and d.pno = p.id;

쉽게말하면

위와 같이 여러 테이블을 join한 복잡한 쿼리문이 있다고 가정했을때

조인 쿼리문을 매번 작성하기 보다는 조회 쿼리문을

뷰로 만들어놓고 뷰를 조회하는 것이 편하기 때문에 VIEW를 사용

3. VIEW 사용 단점

– 뷰로 구성된 내용에 대한 삽입,삭제,갱신 연산에 제약이있다.

단순 뷰인경우 INSERT,UPDATE, DELETE 가 자유롭다 그러나 함수, UNION,GROUP BY등을 사용한 복합 뷰인 경우 불가 능 하다. (조인만 사용한 복합 뷰는 제한적으로 가능)

데이터베이스 | 뷰 테이블(View table)

SQL에서 view는 SQL 쿼리의 결과 셋을 기반으로 만들어진 일종의 가상 테이블이다.

view는 실제 테이블과 같이 행과 열을 가지고 있는데, 이 때 뷰에 속한 각 필드들은 데이터베이스에 들어 있는 하나 이상의 실제 테이블로부터 온다. view table을 생성함으로써 SQL 쿼리 또는 함수를 추가 하여, 해당 데이터가 마치 하나의 테이블에서 온 것처럼 만들 수 있다.

또한, 뷰는 데이터를 물리적으로 저장하는 것이 아니라 CREATE VIEW 명령어로 뷰를 정의할 때 AS 절 다음에 등장하는 쿼리문 자체를 저장한다.

뷰는 왜 필요할까?

뷰는 접근 단순화 & 보안을 높이는 데 필요하다.

여러 테이블을 조인하는 길고 복잡한 쿼리문을 통해 데이터를 조회해야 하는 경우, 해당 쿼리문을 매번 작성하는 일은 번거로운 일이다. 뷰 테이블을 이용하면 해당 쿼리문을 뷰 테이블로 만들어 놓고 뷰를 하나의 테이블인 것처럼 조회할 수 있어 편하다.

또한, 동일한 테이블에 접근하는 여러 다른 사용자들이 있다면 사용자들마다 서로 다른 뷰에 접근하도록 여러 뷰를 정의할 수 있다. 이를 통해 특정 사용자만 특정 뷰에 접근할 수 있도록 접근을 제한함으로써 보안을 높이는 것이 가능하다.

그러나 뷰에도 제약 사항은 있다.

단순 뷰는 INSERT, UPDATE, DELETE를 자유롭게 사용할 수 있다. 하지만 함수, UNION, GROUP BY 등을 사용한 복잡한 뷰인 경우 해당 명령문들을 사용하는 것이 불가능하다.

뷰는 어떻게 사용할까?

CREATE VIEW

데이터베이스는 유저가 쿼리할 때마다 view를 매번 recreate하기 때문에 view는 항상 최신의 데이터를 보여준다.

CREATE VIEW view_name AS SELECT column1 , column2 , . . . FROM table_name WHERE condition ;

예시

CREATE VIEW [ developer employees ] AS SELECT name , duty FROM employees WHERE role = ‘developer’ ;

이제 developer employees 라는 뷰 테이블이 생성되었으며 해당 뷰를 원래 존재하는 테이블인 것처럼 쿼리하는 것이 가능하다.

아래의 예시처럼 서브쿼리를 이용해서 view table을 만드는 것도 가능하다.

CREATE VIEW [ Developers Above Average Salary ] AS SELECT name , duty FROM employees WHERE salary > ( SELECT AVG ( salary ) FROM employees ) ;

이렇게 생성된 view table도 당연히 원래 존재하는 테이블인 것처럼 쿼리할 수 있다.

SELECT * FROM [ Developers Above Average Salary ] ;

CREATE OR REPLACE VIEW 문을 이용해 수정하는 것이 가능하다.

CREATE OR REPLACE VIEW view_name AS SELECT column1 , column2 , . . . FROM table_name WHERE condition ;

CREATE VIEW 문과 유사한 방법을 사용한다.

아래 예시에서는 developer employees 뷰에 year_of_entry 열을 추가했다.

CREATE OR REPLACE VIEW [ developer employees ] AS SELECT name , duty , year_of_entry FROM employees WHERE role = ‘developer’ ;

DROP VIEW

뷰를 삭제하는 것은 일반 테이블을 삭제하는 쿼리와 유사하게 DROP VIEW 를 사용한다.

DROP VIEW [ devloper employees ] ;

참고

https://www.w3schools.com/sql/sql_view.asp

https://helloworld92.tistory.com/75

https://codedragon.tistory.com/4235

[데이터베이스] VIEW 테이블(가상 테이블)

안녕하세요 강정호입니다. 오늘은 VIEW 테이블에 대해서 알아볼게요.

VIEW 테이블이란?

– 뷰란 하나의 가상테이블이라고 생각하면 된다.

– 뷰는 실제 데이터가 하드웨어에 저장되는 것은 아니지만 뷰를 통해 데이터를 관리할 수 있다.

– 뷰는 복잡한 Query를 얻을 수 있는 결과를 간단한 Query로 얻을 수 있게 한다.

– 한개의 뷰로 여러 테이블에 대한 데이터를 검색할 수 있다.

– 특정 평가 기준에 따른 사용자 별로 다른 데이터를 액세스할 수 있도록 한다.

VIEW의 사용 목적?

– 보안관리를 목적으로 활용한다.(보안성)

– 사용상의 편의를 목적으로 활용한다.(편의성)

– 수행속도의 향상의 목적으로 활용한다.(속도 향상)

– SQL의 성능을 향상시킬 목적으로 활용한다.(활용성)

– 임시적인 작업을 위해 활용한다.

VIEW 테이블 생성 예제

1 2 3 4 5 6 7 8 9 10 11 12 13 CREATE VIEW WORKS_ON1 AS SELECT Fname, Lname, Pname, Hours FROM EMPLOYEE, PROJECT, WORKS_ON WHERE Ssn = Essn AND Pno = Pnumber; CREATE VIEW DEPT_INFO(Dept_name, No_of_emps, Total_sal) AS SELECT Dname, COUNT( * ), SUM(Salary) FROM DEPARTMENT, EMPLOYEE WHERE Dnumber = Dno GROUP BY Dname; SELECT * FROM WORKS_ON1; SELECT * FROM DEPT_INFO; Colored by Color Scripter cs

위의 쿼리는 WORKS_ON1, DEPT_INFO 라는 뷰 테이블을 생성한 쿼리에요. 이렇게 뷰테이블을 생성하면 장점은 매번 복잡한 쿼리문이 돌지 않고 이미 만들어진 뷰테이블에서 가져오기 때문에 속도가 빨라진다는 장점이 있어요.

결과는 다음과 같아요.

오늘은 뷰에 대해 알아보았습니다. 다음 시간에는 관계형 데이터베이스에서 연산에 대해 알아보겠습니다

VIEW 테이블(가상 테이블) (뷰)

VIEW 테이블

뷰란 하나의 가상테이블이라고 생각하면 된다

뷰는 실제 데이터가 하드웨어에 저장되는 것은 아니지만 뷰를 통해 데이터를 관리할 수 있다.

뷰는 복잡한 Query를 얻을 수 있는 결과를 간단한 Query로 얻을 수 있게 한다.

한개의 뷰로 여러 테이블에 대한 데이터를 검색할 수 있다.

특정 평가 기준에 따른 사용자 별로 다른 데이터를 액세스 할 수 있도록 한다.

VIEW의 사용 목적

보안관리를 목적으로 활용한다. (보안성)

뷰(View)를 통해 데이터의 접근을 제어

사용상의 편의를 목적으로 활용한다. (편의성)

수행속도의 향상을 목적으로 활용한다. (속도 향상)

SQL의 성능을 향상시킬 목적으로 활용한다. (활용성)

임시적인 작업을 위해 활용한다.

VIEW의 특징

뷰(View)를 제거하고자 할때는 DROP문을 이용한다.

뷰(View)의 정의를 변경하고자 할때는 DROP -> CRAETE로 다시 재 생성 해야한다.

ALTER문을 사용할 수 없다.

뷰(View)를 생성하고자 할 때는 CREATE문을 이용한다.

뷰(View)의 내용을 검색하고자 할때는 SELECT문을 이용한다.

뷰(View)의 정의는 변경할 수 없다.

뷰(View)는 삽입, 갱신, 삭제 연산에 제약이 있다.

뷰(View)위에 다른 뷰를 정의할 수 있다.

뷰(View)가 정의된 테이블이 삭제되면 뷰도 함께 삭제된다.

뷰(View)생성에 사용된 테이블의 기본키를 구성하는 속성이 포함되어 있지 않은 뷰는 데이터의 변경이 불가능하다.

뷰(View)는 독자적인 인덱스를 가질 수 없다.

뷰(View)의 정의만 시스템 카탈로그에 저장하였다가 필요시 실행시간에 테이블을 구축한다.

뷰(View) 생성에 사용된 테이블의 기본키를 구성하는 속성이 포함되어 있지 않은 뷰는 데이터의 변경이 불가능하다.

뷰(View) 생성 시 사용되는 SELECT문에서 GROUP BY 구문은 사용 가능하지만, ORDER BY 구문은 사용할 수 없다.

VIEW의 장단점

장점

논리적 독립성을 제공합니다.

데이터 접근 제어로 보안이 가능합니다.

사용자의 데이터 관리를 간단하게 합니다.

하나의 테이블로 여러개의 상이한 뷰를 정의할 수 있습니다.

단점

독자적인 인덱스를 가질 수 없습니다.

정의를 변경할 수 없습니다.

삽입, 삭제, 갱신 연산에 많은 제약이 따릅니다.

VIEW테이블 생성 예제

위의 쿼리는 WORKS_ON1, DEPT_INFO 라는 뷰 테이블을 생선한 쿼리이다.

이렇게 뷰 테이블을 생성하면 장점은 매번 복잡한 쿼리문이 돌지 않고 이미 만들어진 뷰테이블에서 가져오기 때문에 속도가 빨라진다는 장점이 있다.

[DB기초] 뷰(View)란 무엇인가? + 간단한 예제

뷰(View)란 무엇인가?

1. 뷰는 사용자에게 접근이 허용된 자료만을 제한적으로 보여주기 위해 하나 이상의 기본 테이블로부터 유도된, 이름을 가지는 가상 테이블이다.

2. 뷰는 저장장치 내에 물리적으로 존재하지 않지만 사용자에게 있는 것처럼 간주된다.

3. 뷰는 데이터 보정작업, 처리과정 시험 등 임시적인 작업을 위한 용도로 활용된다.

4. 뷰는 조인문의 사용 최소화로 사용상의 편의성을 최대화 한다.

뷰(View)의 특징

1. 뷰는 기본테이블로부터 유도된 테이블이기 때문에 기본 테이블과 같은 형태의 구조를 사용하며, 조작도 기본 테이블과 거의 같다.

2. 뷰는 가상 테이블이기 때문에 물리적으로 구현되어 있지 않다.

3. 데이터의 논리적 독립성을 제공할 수 있다.

4. 필요한 데이터만 뷰로 정의해서 처리할 수 있기 때문에 관리가 용이하고 명령문이 간단해진다.

5. 뷰를 통해서만 데이터에 접근하게 하면 뷰에 나타나지 않는 데이터를 안전하게 보호하는 효율적인 기법으로 사용할 수 있다.

6. 기본 테이블의 기본키를 포함한 속성(열) 집합으로 뷰를 구성해야지만 삽입, 삭제, 갱신, 연산이 가능하다.

7. 일단 정의된 뷰는 다른 뷰의 정의에 기초가 될 수 있다.

8. 뷰가 정의된 기본 테이블이나 뷰를 삭제하면 그 테이블이나 뷰를 기초로 정의된 다른 뷰도 자동으로 삭제된다.

뷰(View)사용시 장 단점

장점

1. 논리적 데이터 독립성을 제공한다.

2. 동일 데이터에 대해 동시에 여러사용자의 상이한 응용이나 요구를 지원해 준다.

3. 사용자의 데이터관리를 간단하게 해준다.

4. 접근 제어를 통한 자동 보안이 제공된다.

단점

1. 독립적인 인덱스를 가질 수 없다.

2. ALTER VIEW문을 사용할 수 없다. 즉 뷰의 정의를 변경할 수 없다.

3. 뷰로 구성된 내용에 대한 삽입, 삭제, 갱신, 연산에 제약이 따른다.

간단한 예제

뷰 정의문

–문법– CREATE VIEW 뷰이름[(속성이름[,속성이름])]AS SELECT문; –고객 테이블에서 주소가 서울시인 고객들의 성명과 전화번호를 서울고객이라는 뷰로 만들어라– CREATE VIEW 서울고객(성명, 전화번호) AS SELECT 성명 전화번호 FROM 고객 WHERE 주소 = ‘서울시’;

뷰 삭제문

※ 뷰는 ALTER문을 사용하여 변경할 수 없으므로 필요한 경우는 삭제한 후 재생성한다.

–문법– DROP VIEW 뷰이름 RESTRICT or CASCADE –서울고객이라는 뷰를 삭제해라– DROP VIEW 서울고객 RESTRICT;

RESTRICT : 뷰를 다른곳에서 참조하고 있으면 삭제가 취소된다. CASCADE : 뷰를 참조하는 다른 뷰나 제약 조건까지 모두 삭제된다.

오라클 뷰 예시는 자세한 아래 링크를 참조해주세요

[SQL] VIEW TABLE(뷰 테이블) 생성, 조회, 수정, 삭제

728×90

반응형

VIEW TABLE(뷰테이블)이란??

뷰테이블이란 일반 테이블이 물리적(저장장치)에 저장되는 것과는반대로 실제로 존재 하지 않는 논리적인 테이블로,

사용자에게는 존재하는 것으로 간주된다.

뷰 테이블을 사용하는 이유는 1개 이상의 테이블, 뷰테이블을 조인하여, 필요한 데이터로 구성 된 가상의 테이블을 만듦으로써, 보안 및 필요한 데이터의 관리를 용이하게 해준다.

============================================================================

나에게는 다음과 같은 사용자 로그 테이블이 있다.

데이터가 약 196만개나 있다… 그리고 아래와 같이 해당 사용자의 이름을 가진 테이블이 있다고 하자.

이 상황에서 양쪽 테이블에 존재하는 사용자의 이름을 출력하려면 다음과 같이 조인하면 될 것이다.

사용자아이디를 join

근데 해당 결과를 쿼리문이 아닌 테이블을 통해 용이하게 관리하고자 한다면 뷰테이블을 활용하면 된다.

============================================================================

CREATE VIEW

기본 CREATE문법

위와 같이 만들었다. 그냥 평소 우리가 쓰는 SELECT문 앞에

CREATE OR REPLACE VIEW 뷰이름 AS 만 써주면 간단히 뷰 테이블이 만들어진다!

그럼 다음과 같이 간단히 SELECT해올 수 있다.

결과

여기서 REPLACE는 해당 뷰가 이미 존재하면 이렇게 수정해라~ 라는 의미이다.

DROP VIEW

뷰테이블을 삭제하는 건 더 간단하다. 그냥 뷰테이블 앞에 DROP만 붙여주면 된다.

DROP VIEW 기본문법

여기서

RESTRICT는 해당 뷰를 다른곳에서 참조하고 있으면 삭제가 취소되고,

CASCADE는 뷰를 참조하고 있는 다른 뷰나 제약조건까지 모두 삭제된다.

테스트 뷰 삭제

============================================================================

* 핵심

문법만 알고 있으면 될 것 같다.

솔직히 자격증 공부하면서 뷰테이블이니 뭐니 논리적이니 뭐니 하고 외웠던 기억이 아는데 역시

그냥 보는 것 보다는 한번 만들어 보는게 훨씬 이해가 잘 된다.

728×90

반응형

[DB] View란?

목차

1. View란?

2. View의 사용방법

2-1. 단일 테이블을 이용한 단순 View

2-2. 복합 테입블을 이용한 복합 View

2-3. WITH CHECK OPTION / WITH READ ONLY 옵션 알아보기

3. View의 장점 및 단점

4. View를 사용하는 이유

5. View에 관한 다른 정보

1. View란?

뷰의 의미는 하나의 select문과 같다고 생각하면 된다.

물론 뷰를 통해 insert, update, delete가 가능하지만 대개의 경우는 select를 위해 사용한다. 뷰란 한개 이상의 기본 테이블이나 다른 뷰를 이용하여 생성

되는 가상 테이블(virtual table)이다.

뷰는 기존에 생성된 테이블 또는 다른 뷰에서 접근할 수 있는 전체 데이터 중에서 일부만 접근할 수 있도록 제한하기 위한 기법이다.

뷰를 가상 테이블이라하는 이유는 테이블은 디스크 공간이 할당되어 데이터를 저장할 수 있지만, 뷰는 데이터 딕셔너리 테이블에 뷰에 대한 정의만 저장

저장하고 디스크에 저장 공간이 할당되지 않는다. 하지만 일반 사용자들은 SQL문을 사용하여 테이블에 저장된 데이터를 검색하고 조작하는 것과 유사하게 뷰를 이용할 수 있다.

– 뷰 자체는 데이터를 갖지 않지만, 기초 테이블의 데이터를 조회하고 수정할 수 있는 창과 같다.

– 뷰는 데이터 값이 아니라 실제적으로는 질의 문장만을 가진다.

– 물리적인 테이블을 근거한 논리적인 테이블

– 뷰는 기본 테이블에서 파생된 객체로서 기본 테이블에 대한 하나의 쿼리문(뷰테이블 X, 뷰쿼리 O)

– 사용자에게 주어진 뷰를 통해서 기본 테이블을 제한적으로 사용하게 된다.

2. View의 사용방법

2-1. 단일 테이블을 이용한 단순 View

– 하나의 테이블에서 특정한 조건에 맞는 레코드 들만 질의(QUERY)가능

– 하나의 테이블에서 특정한 컬럼들만 질의(QUERY)가능

2-2. 복합 테입블을 이용한 복합 View

– 여러 테이블의 칼럼을 모아서(JOIN) 하나의 테이블처럼 질의(QUERY)할 수 있도록 한 데이터베이스 오브젝트

2-3. WITH CHECK OPTION / WITH READ ONLY 옵션 알아보기

WITH CHECK OPTION

조건 컬럼값을 변경하지 못하게 하는 옵션이다.

1. 뷰를 정의하는 서브 쿼리문에 WHERE절을 추가하여 기본 테이블 중 특정 조건에 만족하는 로우(행)만으로 구성된 뷰를 생성할 수 있다.

2. 이때 WHERE절에 WITH CHECK OPTION을 기술하면 그 조건에 의해 기본 테이블에서 정보가 추출하는 것이므로 조건에 사용 되어진 컬럼 값은

뷰를 통해서는 변경이 불가능하다.

예 1) 뷰를 생성한다. SQL> CREATE OR REPLACE VIEW VIEW_CHK30 AS SELECT EMPNO, ENAME, SAL, COMM, DEPTNO FROM EMP_COPY WHERE DEPTNO=30 WITH CHECK OPTION; > SELECT * FROM VIEW_CHK30;

예 2) 급여가 1200이상인 사원은 20번 부서로 변경한다. SQL> UPDATE VIEW_CHK30 SET DEPTNO=20 WHERE SAL>=1200; 뷰를 통해서 일관된 정보를 볼 수 있게 된다.

WITH READ ONLY

기본 테이블의 어떤 컬럼에 대해서도 뷰를 통한 내용 수정을 불가능하게 만드는 옵션이다.

예 1) WITH READ ONLY 옵션을 사용한 뷰를 생성한다. SQL> CREATE OR REPLACE VIEW VIEW_READ30 AS SELECT EMPNO, ENAME, SAL, COMM, DEPTNO FROM EMP_COPY WHERE DEPTNO=30 WITH READ ONLY; SQL> SELECT * FROM VIEW_READ30;

예 2) WITH READ ONLY 옵션을 기술한 VIEW_READ30뷰의 커미션을 모두 2000으로 변경한다. SQL> UPDATE VIEW_READ30 SET COMM=2000;

3. View의 장점 및 단점

<장점>

– DB의 선택적인 부분만 보여주므로 접근을 제한

– 다양한 접근 경로 설정

– 복잡한 질의를 단순화

– 데이터의 독립성 제공

– 동일한 데이터를 또 다른 뷰로 표현

– 한 개의 뷰에 여러 테이블의 데이터를 검색 가능

– 한 개의 테이블로부터 여러 뷰를 생성 가능

<단점>

– 뷰의 정의를 변경할 수 없고 insert, delete, update에 많은 제한이 있음

4. View를 사용하는 이유

– 자주 쓰는 쿼리문을 안쓰고 테이블만 조회하면 된다.

– 보안에 유리하다.

– 뷰 테이블에 자료가 추가되는 것은 실체 테이블에 반영되지 않기 때문에 주의를 요한다.

5. View에 관한 다른 정보

복합 뷰(Nested View)를 최소화하라

뷰는 엄청난 쿼리를 사용자들로부터 가리는데 훌륭하지만, 하나의 뷰 안에 또 다른 뷰와 내부에 있는 다른 뷰를 (계속해서) 중첩시키다 보면 심각한 성능 저하를 유발할 수 있다. 너무 많은 수의 복합 뷰는 모든 쿼리에 대해 엄청난 양의 데이터가 반환(Return) 되는 결과를 초래해서, 데이터베이스 성능을 말 그대로 기어 다니게 만들 수 있다. 혹은, 더 나가서, 쿼리 최적화기(Optimizer)가 포기해서 아무것도 반환되지 않을 수도 있다.

복합 뷰를 풀어내는 것으로 쿼리 응답 시간을 몇 분에서 몇 초로 줄일 수 있다.

출처 : https://wikidocs.net/4178

http://sjs0270.tistory.com/54

http://www.itworld.co.kr/tags/2665/SQL/105792

[MySQL] 뷰 (VIEW) 만들기

728×90

반응형

뷰 :

조인 등의 작업을 해서 만든 ‘결과 테이블’ 이 가상으로 저장된 형태

일시적으로 생성한 결과 테이블을 저장해둔 것

뷰(VIEW)는 가상테이블 이라고도 한다.

#AS 뒤에 나오는 쿼리문의 결과 테이블을 VIEW 로 저장하라

CREATE VIEW three_tables_joined AS SELECT i.id, i.name, AVG(star) AS avg_star, COUNT(*) AS count_star FROM item AS i LEFT OUTER JOIN review AS r ON r.item_id = i.id LEFT OUTER JOIN member AS m ON r.mem_id = m.id WHERE m.gender = ‘f’ GROUP BY i.id, i.name HAVING COUNT(*) >= 2 ORDER BY AVG(star) DESC, COUNT(*) DESC;

저장하면 아래와 같이 Views 테이블에 생성된 것 확인 가능

이제 이 three_tables_joined 라는 가상 테이블을 마치 원래 부터 존재했던 테이블인 것 처럼 사용하면 된다.

조인을 하거나 서브쿼리를 중첩해서 써서 복잡하고 길게 쓰던 쿼리문을

이렇게 뷰를 사용함으로 간단하게 테이블 이름만 가져다가 쓸 수 있어서 좋다.

자주 쓰는 결과 테이블이 있다면 ‘뷰’ 로 저장해 두고 사용하면 좋다.

뷰와 그냥 테이블은 무슨 차이가 있는 걸까?

가장 큰 차이는 뷰는 테이블과 달리 데이터가 물리적으로 컴퓨터에 저장되어 있는 건 아니라는 점이다.

뷰는, 우리가 뷰를 사용할 때, DBMS가 그 뷰를 생성하는 SQL 문을 재실행하는 방식으로 가상의 테이블을 만들어준다.

뷰를 사용할 때마다 AS 다음에 있는 SQL문이 재실행 된다는 뜻이다.

뷰의 장점?

1. 뷰를 이용해서 각 직무별 데이터 수요에 알맞은, 다양한 구조의 데이터 분석 기반을 구축해둘 수 있다.

같은 테이블들이 존재하는 상황에서도, 직무에 따라, 상황에 따라, 필요로 하는 데이터의 종류와 그 구조가 사람마다 다를 수 있다. 뷰를 사용하면 각자에게 적합한 구조로 데이터들을 준비해둘 수 있기 때문에 회사 입장에서도 기존의 테이블 구조를 건드리지 않고, 풍부한 데이터 분석 기반을 준비할 수 있게 된다.

2. 뷰는 데이터 보안을 제공한다.

예를 들어, 회사에서 직원들에 관한 정보를 담고 있는 employee라는 테이블이 있고 이 테이블에는 굉장히 민감한 정보가 담긴 컬럼들이 있다고 가정하자. 예를 들어, 주민등록번호나 주소, 연봉 등과 같은 정보가 있다. 그런데 회사 내의 데이터 분석가가 어떤 분석을 하기 위해 이 employee 테이블이 필요할 수도 있다. 이때 분석가에게 민감 정보가 담긴 컬럼을 제외하고 보여줄 수 있는 방법도 바로 ‘뷰’ 이다.

예를 들어, employee 테이블에 id, name, age, department, registration_number(주민등록번호), annual_salary(연봉) 컬럼이 있다고 가정했을 때,

이런 상황에서는 주민번호, 연봉 칼럼은 제외시킨 뷰를 만든다.

CREATE VIEW emp_view AS

SELECT id, name, age, department FROM employee;

같은 SQL 문을 실행해서 테이블과 비슷한 이름의 뷰를 만드는 게 좋다.

특정 column들 뿐만 아니라 특정 row들을 공개하지 않는 것도 가능하다.

예를 들어 department의 값이 ‘secret’인 직원들의 정보를 공개하지 않아야 한다고 가정해보자.

CREATE VIEW emp_view2 AS

SELECT id, name, age, department FROM employee

WHERE department != ‘secret’;

이렇게 WHERE 절로 조건을 붙여서, 특정 row들만 보여주는 뷰를 만드는 것도 가능하다.

이런 SQL 문을 사용해서, 공개 가능한 정보만 있는 뷰를 만들고 난 후에는,

데이터 분석가가 employee 테이블에 직접적인 접근을 하지 못하도록 막고(DBMS에서 ‘사용자별 권한 관리’ 기능을 통해 할 수 있다), emp_view 뷰에만 접근할 수 있도록 하면 된다.

반응형

모두의 SQL: 01 뷰 : 가상의 테이블

01 뷰 : 가상의 테이블 SQL FOR EVERYONE

뷰(view)는 테이블과 유사하지만 실제 데이터가 없는 테이블을 바라보는 매개체이자 ‘거울’과 같은 개념입니다. 뷰는 직접 테이블에 접근하는 것이 아니라 테이블에서 사용자가 필요로 하는 부분만 선택하여 만들어 놓은 데이터의 집합입니다. 즉, 가상의 테이블이라 할 수 있습니다.

테이블이 아닌 뷰를 사용하는 이유는 대체로 사용자의 편의와 데이터베이스의 보안 때문입니다. 원본 테이블에 직접 접근하지 않아도 사용자가 임의의 뷰를 구성하여 별도의 이름을 붙이거나 접근 가능한 사람을 지정할 수 있습니다. 이렇게 하면 데이터베이스의 데이터를 안전하게 유지하면서 필요한 사용자에게 적절한 데이터를 제공할 수 있습니다. 또한 임의의 뷰 구성을 통해 자주 사용되는 복잡한 SQL 문을 매번 작성하지 않도록 할 수 있습니다. 이처럼 테이블을 대체하여 편리하게 사용하기 위한 것이 뷰입니다.

그림 11-1 테이블 조인을 활용해 생성한 뷰

키워드에 대한 정보 뷰 테이블

다음은 Bing에서 뷰 테이블 주제에 대한 검색 결과입니다. 필요한 경우 더 읽을 수 있습니다.

이 기사는 인터넷의 다양한 출처에서 편집되었습니다. 이 기사가 유용했기를 바랍니다. 이 기사가 유용하다고 생각되면 공유하십시오. 매우 감사합니다!

사람들이 주제에 대해 자주 검색하는 키워드 Oralce(오라클) – 뷰 테이블 (View Table) 수업

  • 동영상
  • 공유
  • 카메라폰
  • 동영상폰
  • 무료
  • 올리기

Oralce(오라클) #- #뷰 #테이블 #(View #Table) #수업


YouTube에서 뷰 테이블 주제의 다른 동영상 보기

주제에 대한 기사를 시청해 주셔서 감사합니다 Oralce(오라클) – 뷰 테이블 (View Table) 수업 | 뷰 테이블, 이 기사가 유용하다고 생각되면 공유하십시오, 매우 감사합니다.

Leave a Comment