일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 부천공간대여
- MBTI
- mysql
- 취미
- 해외여행
- 그릭요거트
- 존경하는위인
- 파티룸
- 옥길요거트
- 광명파티룸
- 옥길동파티룸
- 스컬킹점수계산
- 스페이스우일
- 보드게임점수
- 옥길그릭요거트
- 스컬킹
- 가장존경하는인물
- 보드게임점수계산
- 옥길동요거트
- 일
- 서울파티룸
- 스컬킹점수
- 부천파티룸
- 웹개발
- 코딩
- 옥길파티룸
- 개발자
- 구로파티룸
- 착한코딩
- 휴식
- Today
- Total
SIMPLE & UNIQUE
Oracle 대형 데이터형(BLOB, CLOB, LOB, NCLOB, BFILE) 본문
Oracle 대형 데이터형(BLOB, CLOB, LOB, NCLOB, BFILE)
1. LOB - Long Object
- LOB은 TEXT, 그래픽, 이미지, 비디오, 사운드 등 구조화되지 않은 대형 데이터를 저장시 사용한다.
- 일반적으로 테이블에 저장되는 구조화된 데이터들은 크기가 작지만, 멀티미디어 데이터의 크기가 크다.
- 크기가 큰 데이터는 DB에 저장하기 힘들기 때문에 OS상 존재하는 파일에 데이터베이스가 접근하게 된다.
- LONG, LONG RAW 데이터 유형은 예전에 사용던 것이고, 현재는 대부분 LOB 데이터 유형을 사용한다.
- TO_LOB 함수를 이용하여 LONG 및 LONG RAW 를 LOB 으로 변경할 수 있다.
- CLOB: 문자 대형 객체 (Character). Oracle Server는 CLOB과 VARCHAR2 사이에 암시적 변환을 수행한다.
- BLOB: 이진 대형 객체 (Binary). 이미지, 동영상, MP3 등
- NCLOB: 내셔널 문자 대형 객체 (National). 오라클에서 정의되는 National Character Set을 따르는 문자.
- BFILE: OS에 저장되는 이진 파일의 이름과 위치를 저장. 읽기 전용 모드로만 액세스 가능.
(데이터베이스 내부, 외부에 따라)
- 내부 : BLOB, CLOB, NCLOB
-> Table에 LOB 형식의 컬럼을 생성하고 이곳에 데이터의 실제위치를 가리키는 Locator(위치자) 저장.
- 외부 : BFILE
특징
- 하나의 테이블에 여러 개의 LOB 열(column) 가능
- 최고 4GB까지 저장
- SELECT로 위치자 반환
- 순서대로 또는 순서없이 데이터 저장
- 임의적 데이터 액세스
(LOB 구성)
- LOB 값 : 저장될 실제 객체를 구성하는 데이터
- LOB 위치자 : 데이터베이스에 저장된 LOB값의 위치에 대한 포인터
- LOB열에는 데이터가 없고 LOB 위치자만 들어있다.
2. CLOB
---------------------------------------------------------------------------------------
clob_test.sql
---------------------------------------------------------------------------------------
CREATE TABLE CAR (
id NUMBER(6) PRIMARY KEY NOT NULL,
name VARCHAR2(20),
price NUMBER(10),
review CLOB);
INSERT INTO CAR VALUES (100, 'SM7', 25000000, '삼성에서 나온 SM7을 타보니 정말 편안했다.');
INSERT INTO CAR VALUES (200, 'PORTER', 13000000, '역시 1톤트럭의 대표자!!');
INSERT INTO CAR VALUES (300, 'VERNA', 9000000, '싸고 좋은 거 같아용~^^*');
INSERT INTO CAR VALUES (400, 'SANTAFE', 33000000, EMPTY_CLOB());
- 테이블 생성시 CLOB 타입 컬럼을 선언하고, 데이터 입력.
- 따로 SIZE는 지정하지 않는다.
- EMPTY_CLOB() 함수는 위치자(Locator)를 아무 것도 없는 데이터로 초기화시킨다.
1) import 시켜야할 API
① oracle.sql.BLOB
② oracle.sql.CLOB
③ oracle.jdbc.driver.OracleResultSet
출처 : http://orderby.tistory.com/entry/
'oracle' 카테고리의 다른 글
해시조인(Hash Join) - 대용량 자료전환 시 튜닝 포인트 (0) | 2017.04.17 |
---|---|
Oracle DECODE /NVL (0) | 2017.04.14 |
Oracle 변환 함수 to_char, to_date, to_number (0) | 2017.04.11 |
Oracle WHERE 1=1 (0) | 2017.04.11 |
MERGE INTO - 조건에 따라 INSERT 또는 UPDATE (0) | 2017.04.10 |