DBMS DAY05(view, Sequence, index)

hn k·2023년 7월 26일

DBMS 수업

목록 보기
5/5

뷰(view)
하나의 가상 테이블이며 여러 테이블를 Join을 사용하여 가져오거나 쿼리가 복잡한 경우 뷰를 만들어 놓고 확인하는 방법이 편하기 때문에 뷰를 사용한다.

뷰의 특징

1.뷰는 보안에 유리하다.
2.원천데이터가 변경되면 view 데이터도 자동 변경된다.
3.뷰의 검색은 자유로우나, 삽입, 수정, 삭제는 제약이 있다.
4.view는 table과 유사하며, 테이블 처럼 사용한다.
5.테이블과는 달리 데이터를 저장하기 위한 물리적인 공간이
필요하지 않은 가상 테이블이다.

뷰(view) 생성
CREATE VIEW 뷰 이름(가져올 컬럼이름)
AS
가져올 컬럼
FROM 가져올 테이블 이름
WHERE 조건식
;

조건식은 가져올 테이블에서 필요하면 사용하는 것이지 필수로 사용해야하는건 아니다.

시퀀스(Sequence)
시퀀스란 연속적으로 번호를 만들어주는 기능 이며 자동으로 순차적으로 증가하는 순번을 반환하는 데이터베이스 객체이다.

시퀀스 생성
create sequence 시퀀스 이름
increament by n : 증가값을 설성, 2 -> 2씩 증가
start with n : 시작 값
maxvalue n : 최대값(nomaxvalue)
minvalue n : 최소값(nominvalue, cycle 옵션일 경우)
cycle : 시퀀스를 순 사용할지를 설정(nocycle)
cache n : 시퀀스의 속도를 개선하기 위해 캐싱여부 지정
(nocache)

인덱스(index)
인덱스란 조회속도를 향상시키기 위한 데이터베이스 검색 기술이다.

인덱스의 내부 구조
index를 테이블의 특정 컬럼에 한개이상 주게 되면 index table이 따로 만들어 지고 인덱스 컬럼의 로우값과 rowid값이 저장되면 row값은 정렬된 트리 구조로 저장시켜 두었다가 검색시 좀 더 빠르게 해당 데이터를 찾는데 도움을 준다.

반대로 index생성이 불필요한 경우
데이터가 적은경우에는 인덱스를 설정하지 않는게 오히려 성능이 좋다.

인덱스(index) 생성
1.unique 인덱스 : 인덱스를 사용한 컬럼의 중복값들을 포함하지 않고 사용할 수 있는 장점이 있다.

예)
create unique index 인덱스명
on 테이블(컬럼);

2.non-unique 인덱스 : 인덱스를 사용한 컬럼에 중복 데이터값을 가질 수 있다.

예)
create index 인덱스명
on 테이블(컬럼);

profile
국비 교육 받으면서 교육받은 내용을 다시 정리해보는 벨로그

0개의 댓글