컴퓨터 공부/Advanced Database

[6월 5일 3교시] 여러 종류의 DB 객체 3 + 데이터 제어 1

려리군 2009. 6. 5. 11:36

시퀀스

주키 값을 자동으로 발생시킬 목적으로 생성.


문법

CREATE SEQUENCE 시퀀스명

[INCREMENT BY 증감값]

[START WITH 시작값]

[MAXVALUE 최대값 | NOMAXVALUE]

[MINVALUE 최소값 | NOMINVALUE]

[{CYCLE|NOCYCLE}]

[{CACHE 개수 | NOCACHE}]

CACHE 미리 개수만큼 시퀀스를 만들어 놓는다.


예) 홈쇼핑에서 빨리 시퀀스를 만들 필요가 있을 때 사용한다.


CURRVAL : 시퀀스의 현재 값을 리텀

NEXTVAL : 다음 값을 리턴하고 시퀀스를 증가시킨다.

예시)

INSERT INTO dept(deptno, dname, loc)

VALUES(seq_dept_no.NEXTVAL, 'Training','Seoul');

※ 시퀀스 테이블에 LAST_NUMBER가 NEXTVAL값이 된다.

※ 캐시를 설정했을 때 LAST_NUMBER는 캐시 크기만큼 증가한다. 그러므로 캐시를 사용할 때 GAP이 생긴다. (주문번호는 순차적인 번호만 생성해도 괜찮다.)

트랜잭션과 독립적으로 작동한다.


시노님(SYNONYM)

테이블, 뷰, 시퀀스에 대해 동의어를 생성한다.


※ 테이블을 볼 수 있는 권한을 다른 사용자에게 줘야 한다.

예시) 

grant select on emp to test;

conn test/test;

select * from scott.test; (상대방의 스키마명을 포함해야 한다.)


문법

CREATE SYNONYM 동의어 FOR 원래스키마객체

예시)

CREATE SYNONYM emp FOR scott.emp

select * from emp; (scott.emp와 emp는 같은 뜻이 된다.)


※ user_synonyms의 db_link 

remote 컴퓨터에 대해서도 동의어 생성이 가능. 




데이터 제어

데이터베이스 사용자

객체에 접근하고 접속할 수 있는 데이터베이스에서 정의된 이름

스키마 : 특별한 사용자와 관련된 이름있는 객체들의 모임

사용자는 같은 이름의 스키마와 관련되어 있다.

세션 : 사용자 프로세스를 통해 오라클 인스턴스(오라클 서버)로의 사용자에 대한 특별한 접속이다.

※ 인스턴스(SID) : 메모리(SGA), 프로세스(background processes)를 합친 구조

※ 데이터베이스 : 오라클 인스턴스(1) + 오라클 파일(1)

※ 사용자는 오라클 인스턴스를 통해서만 접속할 수 있다.


사용자 관리

※ CREATE USER권한, DROP USER권한은 특정 유저, ALTER USER에서 비밀번호는 해당 사용자도 바꿀 수 있다.

문법)

CREATE USER 사용자명 INDENTIFIED BY 비밀번호;