Oracle Sql Data Type

O/Oracle 2012. 3. 21. 01:08
출처 : http://blog.naver.com/artmagic?Redirect=Log&logNo=30082800872

Oracle Sql Data Type

# Built-In Data Type(내장 데이터 타입) : Scalar Data Type

1. CHAR/NCHAR

- 문자형 Data Type

- 고정 길이 문자 데이터

- 최대 2000바이트 까지 저장 가능

- NCHAR 지정된 글자 만큼 생성

ex) 'column_name' NCHAR(4) --> 한글 4자리 문자형 Data columnn이 생성 됨

2. VARCHAR2/NVARCHAR2

- 문자형 Data Type

- 가변 길이 문자 데이터

- 최대 4000바이트 까지 저장 가능

- NVARCHAR2 지정된 글자 만큼 생성

- NVARCHAR2 national character set 종류에 따라 할당 받는 Data의 크기가 다름.

· AL16UTF16 : 2배 만큼의 바이트 사용

· UTF8 : 3배 만큼의 바이트 사용

3. NUMBER

- 숫자형 Data Type

- 최대 21바이트까지 사용 가능

- 표현 가능한 범위는 10^-130 ~ 10^126 까지 표현 가능

4. DATE

- 날짜형 Data Type

- 세기/년/월/일/시/분/초 데이터를 저장

- 항상 7바이트 고정 길이 사용

5. TIMESTAMP

- TIMESTAMP Daty Type(날짜형 Data Type)

- 세기/년/월/일/시/분/초 데이터를 저장

- 9바이트 고정 길이 사용

- 초 이하 단위를 9자리까지 저장

- TIMESTAMP(TIMEZONE과 관련된 정보를 저장하지 않음)

- TIMESTAMP WITH TIMEZONE(TIMEZONE과 관련된 정보를 저장)

- TIMESTAMP WITH LOCAL TIMEZONE(SESSION의 기본 TIMEZONE 값을 사용)

6. INTERVAL

- 기간 데이터 타입

- INTERVAL YEAR TO MONTH : '몇 년 몇 개월' <5바이트 고정 길이 사용>

- INTERVAL DAY TO SECOND : '몇 일, 몇 시간 몇 분 몇 초' <11바이트 고정 길이 사용>

7. LONG

- LONG 문자 데이터 타입

- 최대 2기가 바이트까지 저장 가능

- 변동 길이 문자 데이터로 최대 길이를 지정하지 않음

- 한 ROW에는 최대 하나의 LONG 데이터 타입만 사용 가능

8. CLOB/NCLOB : LOB 문자 데이터 타입

- Large Object Type의 일부로 최대 4GB까지의 문자 데이터를 저장.

- 변동 길이 문자 데이터로 최대 길이를 지정하지 않음

- SELECT.UPDATE등을 수행하기 위해서는 별도의 PL/SQL 패키지, API, DBMS_LOB 등

사용여야 함

- INSTERT는 수행 가능

- 한 ROW에 여러 LOB 타입 데이터 사용 가능

9. BLOB/BFILE

- 바이너리 데이터 타입

- BLOB 최대 4GB, BFILE 160TB

- 변동 길이 문자 데이터로 최대 길이를 지정하지 않음

- INSERT, SELECT.UPDATE등을 수행하기 위해서는 별도의 PL/SQL 패키지, API

DBMS_LOB 등을 사용하여야 함

- 한 ROW에 여러 LOB 타입 데이터 사용 가능

- BFILE에 저장된 데이터는 READ-ONLY

10. RAW/LONG RAW

- 바이너리 데이터 타입

- 이미지, 데이터를 저장하는데 사용되는 데이터 타입

- RAW 최대 2000B, LONG RAW 최대 2GB

11. ROWID,UROWID

- 데이터베이스 내부 처리용 데이터 타입

- TABLE의 ROW에 대한 고유 식별자

- SHORT ROWID, LONG ROWID, UNIVERSAL ROWID 3가지 Type가 있음

SHORT ROWID : 6바이트, 16진수 문자열로 나타냄

LONG ROWID : 10바이트, 16진수 문자열로 나타냄

UNIVERSAL ROWID(UROWID) 3850B 3가지 Type로 다시 나눠진다

① PHYSICAL : 일반 테이블 및 클러스터, 파티션, 인덱스, 인덱스 파티션 및

서브파티션에 대한 주소

② LOGICAL : Index Organized Table의 주소

REMOTE : 오라클 이외 데이터베이스에 대한 ROWID

# User Defined Data Type

1. OBJECT TYPE

- 사용자가 정의한 복합 데이터 타입(composite data type)으로, 데이터 타입과

이 데이터들을 조작하기 위한 함수 혹은 프로시져를 묶어서 사용자가 정의한

새로운 데이터 타입

- OBJECT TYPE 자체를 테이블이나 컬럼으로 사용할 수 있다.

- 구성요소

① NAME : OBJECT TYPE에 대한 고유 식별자

ATTRIBUTE : BUILT-IN TYPE 또는 다른 OBJECT TYPE

METHOD : PLSQL, C, JAVA와 같은 언어로 작성된 모듈

2. VARRAY

- 순서를 갖는 엘리먼트들의 배열을 저장

- Scalar Type 처럼 단일 값처럼 간주 되며, DML에 의해 조작 가능

3. NESTED TABLE

- Table을 하나의 컬럼에 저장할 때 사용

4. REF(Reference)

[출처] Oracle Sql Data Type|작성자 오락클


설정

트랙백

댓글