* 시퀀스(Sequence)는 테이블을 생성할 때 자주 사용하는 오라클 데이터베이스이다. 대부분의 시퀀스가 요구되는 경우는 Primary key에 해당하는 일련의 정수들을 시퀀스 문장의 옵션들을 통해 자동적으로 발생한다. 컬럼에 저장시킴으로써 Primary key가 가져야 하는 조건 중 가장 중요한 유일성(Uniqueness)을 보장하기 위함이다. 특히 오라클 사용자 여러 명이 동시에 작업을 하게 되는 경우 Key 값을 설정해주기가 어려워질 수도 있기 때문이다.
* 시퀀스를 생성하는 문장의 기본형식
CREATE SEQUENCE sequence name [ INCREMENTED BY number ] [ START WITH number ] [ {MAXVALUE number | NOMAXVALUE} ] [ {MINVALUE number | NOMINVALUE} ] [ {CYCLE | NOCYCLE} ] [ {CACHE number | NOCACHE} ] ; |
-> Incremented by : Start with 옵션에 의해 시퀀스가 생성되기 시작하면 얼마씩 증가하는지에 관한 설정이다.
-> Start with : 시퀀스가 시작하는 번호를 설정한다.
-> Maxvalue 숫자 | Nomaxvalue : 시퀀스가 가질 수 있는 최댓값을 사용자가 임의로 설정할 수 있다. 반면에 Nomaxvalue 옵션은 Ascending 순서일 때는 10^27 그리고 Descending 순서일 때는 -1로 설정된다. 오라클은 기본적으로 Nomaxvalue 옵션을 사용한다.
-> MINVALUE 숫자 | Nominvalue : 시퀀스가 가질 수 있는 최소값을 사용자가 임의로 설정할 수 있다. 반면에 Nominvalue 옵션은 Ascending 순서일 때는 1 그리고 Descending 순서일 때는 10^26으로 설정된다. 오라클은 기본적으로 Nominvalue 옵션을 사용한다.
-> Cycle | Nocycle : 시퀀스의 최댓값 또는 최솟값에 도달하는 경우 다시 시퀀스가 할당되도록 할 지에 대한 옵션이다. Nocycle이라면 일단 최댓값 또는 최솟값에 도달하게 되면 거기서 시퀀스는 더 이상의 번호를 할당하지 않게 된다. 오라클은 기본적으로 Nocycle 옵션을 사용한다.
-> Cache 숫자 | Nocache : 시퀀스에 의하여 생성되는 버호 가운데 몇 개의 값을 메모리에 저장할 것인가에 관한 옵션이다. 기본적으로 오라클은 20개의 시퀀스 값을 메모리에 저장시킨다.
* Primary key를 생성할 때 시퀀스를 사용하는 경우에는 Cycle 옵션을 사용하지 않도록 하는 것이 좋다. 왜냐하면 Primary key는 반드시 유일한 값을 가져야 하기 때문이다. |
'Operating System > ORACLE' 카테고리의 다른 글
[ORACLE] 인덱스(INDEX) (0) | 2022.02.25 |
---|---|
[ORACLE] Currval과 Nextval (0) | 2022.02.24 |
[ORACLE] 뷰(View)를 통한 로우 데이터의 갱신과 추가 (0) | 2022.02.18 |
[ORACLE] 뷰(Simple 뷰, Complex 뷰) (0) | 2022.02.14 |
[ORACLE] 제약 조건 (Constraints) (0) | 2022.02.11 |