본문 바로가기

개발 관련 지식/오라클(Oracle)

[Oracle] 데이터베이스 객체(Database Object)

* 데이터베이스 객체(Database Object)

: 데이터들을 저장하는 기능을 가진 가장 기본적인 테이블부터 뷰, 인덱스, 시퀀스, 저장 프로시저 등 그 용도에 따라 여러 가지가 존재한다.

 

 

* 테이블(Table)

: 로우(행, row, 가로축) + 컬럼(열, column, 세로축) 로 구성

 

[테이블 기본 생성 DDL문]

CREATE TABLE 테이블명

(

컬럼명1 컬럼타입1,

컬럼명2 컬럼타입2,

...

컬럼명3 컬럼타입3

);

 

 

* 컬럼 속성(무결성 제약조건)

- NULL : NULL을 허용하면 NULL, 허용하지 않으면 NOT NULL

- UNIQUE 키 : NULL을 허용하면서 중복은 허용하지 않으며, 한개 이상의 컬럼으로 복합키도 가능

- 기본 키 : UNIQUE 키와 동일하지만 NULL을 허용하지 않음

- 외래 키 : 부모 테이블이 생성되어 있어야 하며, 참조하는 부모 테이블의 컬럼은 반드시 기본 키 혹은 UNIQUE 키이어야 함

- CHECK : 일정한 조건에 해당하는 값만 입력할 수 있도록 하기 위해 사용

- 디폴트 : 데이터 추가 시 디폴트가 걸려 있는 컬럼의 값을 넣지 않은 경우 디폴트로 값이 채워짐

 

 

* 인덱스(Index)

​: 특정 단어나 주제를 빨리 찾고자 할 때 인덱스를 사용한다.

[인덱스 기본 생성 구문형식]

CREATE [UNIQUE] INDEX [스키마명.]인덱스명

ON [스키마명.]테이블명 ( 컬럼1 [, 컬럼2, 컬럼3, ...]);

 

 

* 뷰(View)

: 테이블과 매우 흡사한 오브젝트이다. 뷰와 테이블의 차이점은 뷰는 실제 데이터를 저장하고 있지 않다는 점이다.

[뷰 기본 생성 구문형식]

 

CREATE [OR REPLACE] VIEW 스키마이름.뷰이름 AS

SELECT 문장

 

 

[참고] 뷰는 어떻게 사용되는가?

: 데이터의 보안 / 복잡한 쿼리를 저장하여 사용 / 뷰를 사용한 데이터의 변경 / WITH CHECK OPTION

 

 

* 시퀀스(Sequence)

: '순서, 차례' 라는 뜻을 가지며, 연속적인 숫자를 생성해내는 객체를 말한다.

[시퀀스 기본 생성 구문형식]

 

CREATE SEQUENCE [시키마명.]시퀀스명

MINVALUE 최소값

MAXVALUE 최대값

INCREMENT BY 증가값

START WITH 시작값

NOCACHE | CACHE

ORDER | NOORDER​(디폴트는 NOORDER)

CYCLE | NOCYCLE​(디폴트는 NOCYCLE)