Oracle - 자료형 - 기타

갓김치·2020년 7월 24일
0

Oracle

목록 보기
9/33

참고

2020-07-24-02.sql
2020-07-29-01)기타자료형.sql

기타 자료형

  • 이진자료 저장을 위한 자료 타입
  • BLOB, RAW, LONG RAW, BFILE

1) RAW

  • 상대적으로 작은 양의 이진 자료를 저장 (바이너리 데이터)
  • 인덱스 처리가 가능
  • 데이터베이스에서는 해석이나 변환 작업은 수행하지 않음
    ex) 사진 자료를 이진으로 저장하지만 그걸 사진으로 변환하는건 java
  • 최대 2000 byte 까지 저장 가능
  • 주로 음성, 영상, 이미지 (하지만 2000byte에 저장하기에는 너무 작다)
  • 16진수와 2진수만 저장 가능

컬럼명 RAW(크기)

예시

1행) HEXTORAW함수를 활용, 2진수로 변환해 저장

  • HEXA 16진수 : 0,1,2,3,4,5,6,7,8,9,A,B,C,D,E,F

2행) 16진수를 그대로 저장 (저장은 2진수로 됨)

  • HEXTORAW('6ADC')랑 결국 저장되는 내용은 같음

3행) 16진수를 2진수로 변환해 저장

  • 보이는 것은 다르지만 결국 DB에 저장되는 건 이렇게 2진수로 저장됨

결과

2) BFILE

  • 이진 데이터 저장
  • 대상이 되는 이진 데이터: 데이터베이스 외부에 따로 저장
  • 경로 정보(DIRECTORY 객체): 데이터베이스 내부에 저장
  • 4GB 까지 처리가능- 썸네일 보여주고 썸네일 눌렀을때 불러오는거?

사용형식

컬럼명 BFILE;

  • 디렉토리 별칭(Alias)은 30BYTE, 파일명은 256 BYTE
    -> 1. 사용되는 운영체제에 따라 몇바이트까지 허용하는지 달라짐
    -> ex) 유닉스는 윈도우보다 더 긴 디렉토리 별칭 지원
    -> 2. 윈도우: 디렉토리의 절대경로(C:\Users\PC-02)를 간단히 해주기 위해 별칭

예시

1. 원본자료(그림)이 저장된 디렉토리 객체 생성

  • 디렉토리 별칭: TEST_DIR
  • 디렉토리 절대주소: D:\A_TeachingMaterial\2.Oracle
    2. 사진 담을 테이블 생성

    3. 데이터 삽입

    4. 잘들어갔는지 확인

  • 자바,JSP,JQUERY를 통해 여기 담긴 주소를 파일로 출력시킨다.
  • 오라클은 주소를 저장하는 역할을 한다.

3) BLOB

  • 이진 자료 저장
  • 대상이 되는 이진 데이터: 데이터베이스 내부에 저장
  • 4GB 까지 처리 가능

사용형식

컬럼명 BLOB;

예시

1. 데이터담을 테이블 생성

  • 직접적으로 INSERT 명령문을 쓸 수 없음
  • 익명블록으로 저장 쿼리를 작성
    • 익명블록은 PLSQL의 기본구조
    • 익명블록은 재사용 불가
    • 선언부와 실행부로 나눠짐
    • 구조

2. 익명블록 구조 작성

3. 잘됐나 확인

  • 데이터 길이 위해서 구한거를 진짜 사진으로 보여주려면 자바같은거에서 해야함
profile
갈 길이 멀다

0개의 댓글