##PDF로 다운로드인쇄용 판 다른 언어 日 本 語 中 文 링크 편집 이 문서는 2019년 1월 17일 ( 목 ) 10 : 32에 마지막으로 편집되었습니다. 모든 문서는 크리에이티브 커먼즈 저작자표시 - 동일조건변경허락 3. 0에 따라 사용할 수 있으며, 추가적인 조건이 적용될 수 있습니다. 자세한 내용은 이용 약관을 참고하십시오. 미국 및 다른 국가에 등록되어 있는 Wikimedia Foundation, Inc. 소유의 등록 상표입니다. 개인정보 정책 위키백과 소개 면책 조항 개발자 쿠키 정책 모바일 보기
VIEW ( SQL ) - 위키백과, 우리 모두의 백과사전 VIEW ( SQL ) 위키백과, 우리 모두의 백과사전. 둘러보기로 가기 검색하러 가기 뷰 ( view ) 는 관계 데이터베이스의 데이터베이스 언어 SQL에서 하나 이상의 테이블 ( 또는 다른 뷰 ) 에서 원하는 모든 데이터를 선택하여, 그들을 사용자 정의하여 나타낸 것이다. 관계 데이터베이스의 관계 모델의 관계의 일종인 도출 관계에 해당한다. 여러 테이블 ( 기본 관계 ) 또는 뷰의 데이터를 연결하여 조합할 수 있다. 보기에 표시되는 데이터의 선택 기준을 지정할 수도 있다. 뷰는 기본 테이블 ( table ) 과 같이 행 ( column ) 과 열 ( row ) 로 구성되지만, 다른 테이블에 있는 데이터를 보여줄 뿐이며, 실제 테이블과 달리 데이터 자체를 포함하고 있는 것은 아니다. 뷰를 사용하면 여러 테이블이나 뷰를 하나의 테이블인 것처럼 볼 수 있다. 표준 SQL 규격으로는 SQL89에서 사용 가능해 졌다. SQL89에서는 뷰를 만들 수 있지만, DROP 문이 없기 때문에 삭제할 수 없었지만, SQL92에서는 CHECK OPTION, LOCAL, CASCADE 기능 확장이 이루어지고 있다. SQL99에서는
##LECT name, balance FROM accounts - view 그러면 RDBMS는 간단한 쿼리를 취해서, 동일한 뷰를 치환해 버리며, 아래의 것을 쿼리 최적화도구로 전송한다 : 선 실행 쿼리 : SELECT name, balance FROM ( SELECT name, money - received, money - sent, ( money - received - money - sent ) ( money - received - money - sent ) AS balance, address,... FROM table - customers c JOIN accounts - table a ON a. customer - id = c. customer - id ) 이 시점에서의 최적화도구는 쿼리를 취해서 필요없는 복잡함을 제거하며 ( 예 : 주소를 읽는 것은 필요치 않다, 부모 자원이 그것을 이용하지 않기 때문에 ), 프로세싱을 위해 SQL 엔진에 그 쿼리를 전송한다. 외부 링크 [ 편집 ] DB2 내의 자원화된 질의 테이블 마이크로소트프 SQL 서버 내의 뷰 MySQL의 뷰들 PostgreSQL에서의 뷰 Views in SQLite 오라클 11. 2에서의 뷰 CouchDB에서
##ostgreSQL에서의 뷰 Views in SQLite 오라클 11. 2에서의 뷰 CouchDB에서의 뷰 오라클 11. 2에서의 자원화된 뷰 vdehSQL버전 SQL - 86 SQL - 89 SQL - 92 SQL : 1999 SQL : 2003 SQL : 2008 SQL : 2011 키워드 DELETE FROM HAVING INSERT JOIN MERGE NULL ORDER BY PREPARE SELECT TRUNCATE UNION UPDATE WHERE 원본 주소 " " 분류 : SQL데이터 모델링데이터베이스 이론데이터베이스 관리 시스템 둘러보기 메뉴 개인 도구 로그인하지 않음토론기여계정 만들기로그인 이름공간 문서토론 변수 보기 읽기편집역사 보기 더 보기 검색 둘러보기 대문사용자 모임요즘 화제최근 문서 보기임의 문서로도움말기부 도구 여기를 가리키는 문서가리키는 글의 최근 올리기특수 문서 목록고유 링크문서 정보위키데이터 항목이 문서 인용하기 인쇄 / 내보내기 책 만들기PDF로 다운로드인쇄용 판 다른 언어 日 本 語 中 文 링크 편집 이 문서는 2019년 1월 17일 (
CHECK OPTION, LOCAL, CASCADE 기능 확장이 이루어지고 있다. SQL99에서는 더욱 기능 강화되었으며, 특정 조건 하에서 뷰에서 기본 테이블의 데이터 업데이트가 가능하게 되었다. 정의된 정렬 순서가 모자란 기본적인 테이블의 열처럼, 뷰를 통해 생성된 열도 특정 순서로 정렬되어 나타나지 않는다. 뷰는 관계 테이블이며, 관계 모델은 테이블을 일련의 열로 정의를 한다. 그러한 세트는 ( 정의를 내림으로써 ) 정렬되지 않기 때문에, 뷰의 테이블도 마찬가지다. 따라서 ORDER BY 구문은 뷰의 정의에서 무의미하며, 표준 SQL2003에서는 ORDER BY 구문을 CREATE VIEW 명령의 옵션에서 허용하지 않았으며, 마찬가지로 CREATE TABLE 구문에서 거분된 것이다. 그러나 정렬된 데이터는 다른 테이블로서 동일한 방법으로 뷰를 통해 획득할 수 있다. 그럼에도 불구하고 오라클 데이터베이스와 같은 일부 DBMS에서는 이러한 SQL 표준 제한을 따르지 않고, 허용하고 있다. 목차 1 구문 1. 1 생성 1. 2 삭제 1. 3 상응 2 외부 링크 구문 [ 편집 ] 생성 [ 편집 ] 뷰 생성 시에 다음과 같이 SQL 문을 작성한다. 기존에
. 3 상응 2 외부 링크 구문 [ 편집 ] 생성 [ 편집 ] 뷰 생성 시에 다음과 같이 SQL 문을 작성한다. 기존에 있던 테이블에 있는 컬럼에서 원하는 자료만 조회하는 것이기 때문에, 만들 때도 SELECT 문을 통해 생성한다. CREATE VIEW 뷰이름 AS SELECT 구문 ; 삭제 [ 편집 ] 뷰 자체를 삭제하는 것은 다음과 같이 DROP SQL 문을 작성한다. DROP VIEW 뷰이름 ; 뷰를 만드는 사람은 뷰를 읽기전용 ( read - only ) 과 업데이트 가능 ( updatable ) 상태로 정의할 수 있다. 만약 데이터베이스가 뷰의 스키마에서 내장된 기본 테이블의 스키마로 역 매핑을 결정할 수 있다면, 뷰는 업데이트 가능하다. INSERT, UPDATE, DELETE 동작은 업데이트 가능 뷰에서 실행될 수 있다. 원 테이블에 변경을 매핑하지 않기 때문에 읽기전용에서는 그러한 동작을 지원하지 않는다. 뷰 업데이트는 키 보존에 의해 실행된다. 일부 시스템은 뷰에서 INSTEAD OF 트리거를 지원한다. 이런 기술은 뷰에서 실행되는 Insert, update, delete의 위치에서 실행되는 다른 로직 정의
지원한다. 이런 기술은 뷰에서 실행되는 Insert, update, delete의 위치에서 실행되는 다른 로직 정의를 가능하게 한다. 그리하여 데이터베이스 시스템은 뷰의 읽기전용에 기반한 데이터 수정 작업을 실행할 수 있다. 그러나 INSTEAD OF 트리거는 뷰 자체의 읽기전용이나 업데이트가능 속성을 변경하지는 못한다. 상응 [ 편집 ] 뷰는 원 소스의 쿼리와 동일하다. 뷰와 같은 쿼리가 실행되면, 쿼리는 수정되어 버린다. 예를 들어, 다음과 같은 accounts - view라는 이름의 쿼리가 있다고 하자 : accounts - view : SELECT name, money - received, money - sent, ( money - received - money - sent ) AS balance, address,... FROM table - customers c JOIN accounts - table a ON a. customer - id = c. customer - id 그러면, 애플리케이션에서 다음과 같은 간단한 쿼리를 실행할 수 있다고 가정하자 : 간단한 쿼리 SELECT name, balance FROM accounts - view 그러면 RDBMS는 간단한 쿼리를 취해서,
뷰(view)는 관계 데이터베이스의 데이터베이스 언어 SQL에서 하나 이상의 테이블 (또는 다른 뷰)에서 원하는 모든 데이터를 선택하여, 그들을 사용자 정의하여 나타낸 것이다. 관계 데이터베이스의 관계 모델의 관계의 일종인 도출 관계에 해당한다. 여러 테이블(기본 관계) 또는 뷰의 데이터를 연결하여 조합할 수 있다. 보기에 표시되는 데이터의 선택 기준을 지정할 수도 있다. 뷰는 기본 테이블(table)과 같이 행(column)과 열(row)로 구성되지만, 다른 테이블에 있는 데이터를 보여줄 뿐이며, 실제 테이블과 달리 데이터 자체를 포함하고 있는 것은 아니다. 뷰를 사용하면 여러 테이블이나 뷰를 하나의 테이블인 것처럼 볼 수 있다. 표준 SQL 규격으로는 SQL89에서 사용 가능해 졌다. SQL89에서는 뷰를 만들 수 있지만, DROP 문이 없기 때문에 삭제할 수 없었지만, SQL92에서는 CHECK OPTION, LOCAL, CASCADE 기능 확장이 이루어지고 있다. SQL99에서는 더욱 기능 강화되었으며, 특정 조건 하에서 뷰에서 기본 테이블의 데이터 업데이트가 가능하게 되었다. 정의된 정렬 순서가 모자란 기본적인 테이블의 열처럼, 뷰를 통해 생성된 열도 특정 순서로 정렬되어 나타나지 않는다. 뷰는 관계 테이블이며, 관계 모델은 테이블을 일련의 열로 정의를 한다. 그러한 세트는 (정의를 내림으로써) 정렬되지 않기 때문에, 뷰의 테이블도 마찬가지다. 따라서 ORDER BY 구문은 뷰의 정의에서 무의미하며, 표준 SQL2003에서는 ORDER BY 구문을 CREATE VIEW 명령의 옵션에서 허용하지 않았으며, 마찬가지로 CREATE TABLE 구문에서 거분된 것이다. 그러나 정렬된 데이터는 다른 테이블로서 동일한 방법으로 뷰를 통해 획득할 수 있다. 그럼에도 불구하고 오라클 데이터베이스와 같은 일부 DBMS에서는 이러한 SQL 표준 제한을 따르지 않고, 허용하고 있다.