12. 기타 데이터베이스 객체 > 학습자료 | IOTsw_u2 U2 Project
학습자료

SQL 12. 기타 데이터베이스 객체

본문

데이터베이스 객체

대부분의 응용 프로그램에서는 고유 번호를 기본 키 값으로 사용해야 한다.

응용 프로그램에 코드를 작성하거나 오라클 server의 시퀀스나 MSSQL의 IDENTITY를 사용하여 고유 번호를 생성할 수 있다.

효율적으로 질의하려면 인덱스를 생성해야 하는데 인덱스를 사용하면 열 또는 열 collection의 고유성을 보존할 수도 있다.

동의어를 사용하면 객체에 다른 이름을 제공할 수 있다.

 

시퀀스란?

․ 고유 번호(정수)를 자동으로 생성한다.(MSSQL의 IDENTITY도 같다)

․ 공유 가능한 객체입니다.(MSSQL의 IDENTITY는 공유가능한 객체가 아니다.)

  시퀀스 번호는 테이블과 별도로 저장 및 생성되므로 여러 테이블에 동일한 시퀀스를 사용할 수 있다.

․ 일반적으로 기본 키 값을 생성하는 데 사용한다.

  SQL server 내부 루틴에 의해 생성되거나 증가 또는 감소된다.

․ 응용 프로그램 코드를 대체하여 응용 프로그램코드의 양을 줄여주므로 시간 절약 객체이다.

․ 오라클 서버의 시퀀스 값은 메모리에 캐시하면 액세스 효율이 높아진다.​ 

 

 

CREATE SEQUENCE sequence
[INCREMENT BY n]
[START WITH n]
[{MAXVALUE n | NOMAXVALUE}]
[{MINVALUE n | NOMINVALUE}]
[{CYCLE | NOCYCLE}]
[{CACHE n | NOCACHE}];​

sequence 시퀀스 생성기 이름입니다.

INCREMENT BY n 시퀀스 번호 사이의 간격을 지정합니다. 여기서 n은 정수다.

(이 절을 생략하면 시퀀스는 1씩 증가합니다.)

START WITH n 생성할 첫 번째 시퀀스 번호를 지정한다.(이 절을 생략하면 시퀀스는 1부터 시작됩니다.)

MAXVALUE n 시퀀스가 생성할 수 있는 최대값을 지정한다.

NOMAXVALUE 오름차순 시퀀스의 최대값으로 10의 27승을 지정하고 내림차순 시퀀스의 최대값으로 -1을 지정한다. (기본 옵션).

MINVALUE n 시퀀스의 최소값을 지정한다.

NOMINVALUE 오름차순 시퀀스위 최소값으로 1을 지정하고 내림차순 시퀀스의 최소값으로 -10의 26승을 지정한다. (기본 옵션).

CYCLE | NOCYCLE 최대값 또는 최소값에 도달한 이후에도 시퀀스가 계속 값을 생성할지 여부를 지정한다.(NOCYCLE이 기본 옵션입니다.)

CACHE n | NOCACHE Oracle server가 미리 할당하여 메모리에 저장할 값의 개수를 지정한다. (기본적으로 Oracle server는 20개의 값을 캐시합니다.)​

 

 

예제) 시퀀스 생성

DEPARTMENTS 테이블의 기본 키로 사용할 DEPT_DEPTID_SEQ 시퀀스를 생성합니다.

․ CYCLE 옵션은 사용하지 마십시오.

오라클 디비 예제 : 

CREATE SEQUENCE dept_deptid_seq

INCREMENT BY 10

START WITH 120

MAXVALUE 9999

NOCACHE

NOCYCLE;

sequence created.​ 

 ☞설명) 시퀀스 생성

예제는 DEPARTMENTS 테이블의 DEPARTMENT_ID 열에 사용할 DEPT_DEPTID_SEQ 시퀀스를 생성한다.

시퀀스 값은 120에서 시작하며 캐시를 허용하지 않고 순환하지 않는다.

시퀀스 순환보다 빠르게 이전 행을 지우는 안정적인 처리 방법이 없는 경우에는 시퀀스를 사용하여 기본 키 값을 생성할

때 CYCLE 옵션을 사용하지 말아야 한다.

참고 : 오라클의 시퀀스는 하나의 테이블에 전적으로 연결되어 있는 것이 아니다.

일반적으로 시퀀스는 용도에 따라 이름을 정하게 되지만 이름과 상관없이 어디서나 사용할 수 있다.

MSSQL의 IDENTITY는 하나의 테이블에 전적으로 연결되어 사용하는 것이므로 다른 테이블에서 공유할 수 없다.​

 

 

댓글목록

12. 기타 데이터베이스 객체
이어쓰기 1.A 12-1 시퀀스의 사용및 편집
이어쓰기 2.B 12-2. 인덱스란?
이어쓰기 3.C 12-3. 동의어
이 원글에 이어쓰기

학습자료 목록

Total 18건 1 페이지
게시물 검색

IOTsw_u2 정보

회사 . U2
주소 . 어느별 하늘 아래에 있것지요
사업자 등록번호 . 백수임 대표 . 김씨 전화 . 02-123-4567 팩스 . 팩스없음
통신판매업신고번호 . 낼할께 개인정보관리책임자 . 김씨가 알아서 함 부가통신사업신고번호 신고안함
Copyright © 2001-2013 U2. All Rights Reserved.
닫기