반응형
VIEW란
DBMS에서 VIEW는 접근이 허용된 자료만을 제한적으로 보여주기 위해 하나 이상의 기본 테이블로부터 유도된, 이름을 가지는 가상테이블이다. 실무에서 많이 사용하는 문법 중 하나이다.
가상테이블이기 때문에 저장장치 내에서는 물리적으로 존재하지 않지만 사용자에게는 있는 것처럼 간주된다. 뷰를 사용하는 이유로는 독립성, 편리성, 보안성이 있다.
- 독립성 : 데이터가 다른 곳에서 변경되지 않도록 논리적 독립성을 제공
- 편리성 : 가상 테이블인 뷰를 만들 때, 원하는 데이터에 대한 정보를 추출, 생성하여 뷰를 형성하였기 때문에 뷰에 쿼리문을 짧게 사용이 가능
- 보안성 : 뷰를 사용할 때는 짧은 쿼리문을 사용 -> 기존의 긴 쿼리문(뷰를 생성할 때 사용한)은 알기 어렵다.
VIEW 특징
- 뷰는 기본테이블로부터 유도된 테이블이기 때문에 기본 테이블과 같은 형태의 구조를 사용하며, 조작도 기본 테이블과 거의 같다.
- 뷰는 가상 테이블이기 때문에 물리적으로 구현되어 있지 않다.
- 데이터의 논리적 독립성을 제공할 수 있다.
- 필요한 데이터만 뷰로 정의해서 처리할 수 있기 때문에 관리가 용이하고 명령문이 간단해진다.
- 뷰를 통해서만 데이터에 접근하게 하면 뷰에 나타나지 않는 데이터를 안전하게 보호하는 효율적인 기법으로 사용할 수 있다.
- 기본 테이블의 기본키를 포함한 속성(열) 집합으로 뷰를 구성해야지만 삽입, 삭제, 갱신, 연산이 가능하다.
- 일단 정의된 뷰는 다른 뷰의 정의에 기초가 될 수 있다.
- 뷰가 정의된 기본 테이블이나 뷰를 삭제하면 그 테이블이나 뷰를 기초로 정의된 다른 뷰도 자동으로 삭제된다.
VIEW 장 단점
장점
- 논리적 데이터 독립성을 제공한다.
- 동일 데이터에 대해 동시에 여러사용자의 상이한 응용이나 요구를 지원해 준다.
- 사용자의 데이터관리를 간단하게 해준다.
- 접근 제어를 통한 자동 보안이 제공된다.
단점
- 독립적인 인덱스를 가질 수 없다.
- ALTER VIEW문을 사용할 수 없다. 즉 뷰의 정의를 변경할 수 없다.
- 뷰로 구성된 내용에 대한 삽입, 삭제, 갱신, 연산에 제약이 따른다.
VIEW 예시
다음은 기존 고객(CUSTOMER) 테이블이다.
ID | NAME | BIRTH_YEAR | PHONE_NUMBER |
123 | 홍길동 | 1998 | 010-1234-5678 |
157 | 이순신 | 2000 | 010-8765-4321 |
이 테이블을 통해 BIRTH_YEAR을 빼고 나이를 넣은 가상테이블을 만들고 싶다면, 다음의 쿼리문을 사용할 수 있다.
CREATE VIEW CUSTOMER_AGE
AS (
SELECT C.ID, C.NAME, (2023 - BIRTH_YEAR + 1) AGE, C.PHONE_NUMBER
FROM CUSTOMER C
);
이를 실행해보면 다음과 같은 가상 테이블 CUSTOMER_AGE을 생성할 수 있다.
ID | NAME | AGE | PHONE_NUMBER |
123 | 홍길동 | 26 | 010-1234-5678 |
157 | 이순신 | 24 | 010-8765-4321 |
2023.08.20 - [Programming 공부/DBMS] - DBMS - 프로시저(Procedure)
DBMS - 프로시저(Procedure)
프로시저 - PL/SQL 프로시저는 함수라는 의미로 programming 언어에서 흔히 쓰이는 function과 기능이 유사하다. 프로시저 문법을 쓰기 위해서는 PL/SQL문에 대해서 알아야 한다. PL/SQL : Procedural Language Exte
codingralro.tistory.com
반응형
'DB > DBMS' 카테고리의 다른 글
DBMS - 프로시저(Procedure) (0) | 2023.08.20 |
---|---|
DBMS - DCL (0) | 2023.08.17 |
DBMS - JOIN (0) | 2023.08.17 |
DBMS - Optimizer, Hint (0) | 2023.08.15 |
DBMS - GRUOP BY, SUB QUERY (0) | 2023.08.15 |