H'academy
  • H'academy
  • Web
    • Back-end
      • Spring Framework
        • Spring 개발환경 구축
          • Project 생성
          • Maven 설정
          • Maven 저장소 위치 설정
          • Apache Tomcat 연동
          • Lombok 설정
        • Spring MVC Project
          • pom.xml
          • web.xml
          • root-context.xml
          • servlet-context.xml
          • DispatcherServlet
        • Controller
          • File Upload / Download
          • RestController(작성중)
        • Spring Test
          • Assert 단정문
          • Spring 환경 연동 테스트
          • MockMvc Test
        • Spring AOP
          • AOP 용어
          • Pointcut Expression
          • Filter
          • Interceptor
          • Filter vs Interceptor
          • Controller Advice(작성중)
        • Spring JDBC
          • DBCP
          • myBatis
            • ResultMap 활용
        • ETC
          • Logging
            • Tomcat Logging 설정
          • Property 관리
          • E-mail
            • Gmail 변경사항
          • Scheduler
          • Websocket
      • Spring Boot
        • STS 다운로드
        • 프로젝트 생성
        • 프로젝트 구조
        • Spring Devtools
        • Spring Controller
          • JSP 연동
            • * JSP 생성불가 문제
            • Spring Boot 3.x
          • Model
          • 요청 파라미터 처리
          • 경로 변수 처리
          • 요청 메소드
          • Redirect
          • Spring Actuator
        • Spring Boot JDBC
          • Database 정보
          • DAO Pattern
          • ORM Framework
            • myBatis
              • Mapper 생성
            • Spring Data JPA
        • Spring AOP
          • AspectJ
          • Filter
          • Interceptor
          • ControllerAdvice
        • REST API
        • Spring WebSocket
        • Send Mail
        • Logging
        • Spring Boot Test
        • Lombok
      • Java EE
        • 개발환경 구성
          • Server와 Client
          • Web Server와 WAS
        • Dynamic Web Project
      • Apache Tomcat
        • Apache Tomcat 구조
        • Tomcat User 생성
        • Tomcat Manager 설정
      • Maven
      • Jenkins
        • Installation
          • Github Webhook 설정
          • Maven 연동
        • Project setting
          • 소스 코드 관리 설정
          • 빌드 유발 설정
          • 빌드 작업 설정
      • OpenAPI(swagger)
        • swagger 2.x (legacy)
        • swagger 3.x (boot)
        • Swagger UI 꾸미기
        • SpringDoc
    • Front-end
      • HTML
        • Heading
        • <A>
        • <IMG>
        • <DIV>
        • <TABLE>
        • <FORM>
          • <INPUT>
          • <SELECT>
          • <TEXTAREA>
          • <FIELDSET>
        • List
      • CSS
        • CSS 적용 방식
          • 크기(size)
            • 픽셀(px)
          • 색상(color)
        • CSS 선택자
          • 스타일 우선순위
        • CSS 주요 속성
          • 크기 속성
            • border
            • margin
            • padding
            • box-sizing
          • 배경 속성
          • 글자 속성
            • font
            • text
          • 배치 속성
            • position
            • display
            • overflow
            • float
            • flexbox
        • CSS Reset
      • JS
        • syntax
          • let, const
          • 구조 분해 할당
          • spread operator
          • Object copy
          • this
          • module
        • jQuery
          • structure
          • function
          • ajax
            • ajax file upload
        • VueJS
          • CDN(Vue3)
            • 기본 구조
            • Vue Devtools
            • jQuery vs VueJS
            • Vue instance
              • data
                • IME issue
              • v-model
              • template
              • computed
              • watch
                • deep watch
                • vs Computed
              • methods
            • Vue directive
              • v-text
              • v-html
              • v-bind
                • v-bind style
                • v-bind class
              • v-on
                • once
                • prevent
              • v-show
              • v-if
              • v-for
          • Vue-cli 3
            • 프로젝트 구조
            • src
              • main.js
              • App.vue
              • HelloWorld.vue
            • Vue Router 4
              • History mode
              • 404 not found
              • Guard
                • beforeEach
            • Vuex
              • 이동 횟수 측정
            • axios
              • interceptor
          • Vue-electron
        • ReactJS
          • CDN(React18)
            • 템플릿 설명
            • JSX
            • render
            • Handling Events
              • onClick
              • onInput
            • Component
              • 클래스 컴포넌트
                • state
                • props
                • event
                  • Mouse
                  • Input
                • lifecycle
              • 함수형 컴포넌트
                • useState
                • useEffect
                • useReducer
                • useMemo
                • props
                • 조건부 렌더링
          • CRA
            • 자원 경로 설정
            • src 절대 경로 설정
            • react-router
            • Context API
            • Electron 설정
        • Webpack
          • NodeJS
          • Git
    • Ubuntu server
      • Jenkins
    • 테스트 도구
      • JMeter
        • Test Plan
        • Test Plan(with login)
        • Plugin 설치
    • WebRTC
  • Base Language
    • Java
      • Java 실행 과정
        • 개발 환경 구축
        • 샘플 코드 작성
        • 컴파일/실행
        • 환경 변수 설정
      • Java 초급
        • Hello world
        • 자료와 정보
        • 변수
          • 정수
            • 정수의 저장 원리
            • 정수형 변수 생성
          • 실수
            • 실수의 저장 원리
            • 실수형 변수 생성
          • 논리
            • 논리형 변수 생성
          • 문자
          • 문자열
            • 문자열 변수 생성
          • 사용자 정의 자료형
        • 연산자
          • 대입 연산
          • 부호 연산
          • 산술 연산
          • 복합 대입 연산
          • 증감 연산
          • 쉬프트 연산
          • 비트 연산
          • 비교 연산
          • 논리 연산
          • 삼항 연산
          • 변환 연산
        • 표준 입출력
          • 표준 출력
          • 표준 오류 출력
          • 표준 입력
            • Scanner 입력
        • 제어문
          • if 구문
            • 단일 조건
            • 두 가지의 조건
            • 여러 가지의 조건
          • switch~case 구문
          • while 구문
          • do~while 구문
          • for 구문
        • 랜덤(Random)
        • 배열
          • 1차원 배열
          • 2차원 배열
          • 다차원 배열
          • Sort
            • 선택 정렬
            • 버블 정렬
            • 삽입 정렬
      • Java 중급
        • 객체 지향 프로그래밍
        • 클래스
        • 인스턴스
        • 필드
        • 메소드
          • 설정(setter) 메소드
          • 반환(getter) 메소드
        • 생성자
        • 접근 제한
          • private
          • package
          • protected
          • public
        • 정적(static)
        • 불변(final)
        • 상수(constant)
        • 상속
          • this와 super의 이해
          • 멤버 변수 설정
          • 멤버 메소드 설정
          • 생성자 설정
        • 추상화
          • 추상 클래스
          • 인터페이스
        • 다형성
        • 중첩 클래스
          • 일반 중첩 클래스
          • static 중첩 클래스
          • 지역 중첩 클래스
          • 익명 중첩 클래스
      • Java API(작성중)
        • java.lang
        • java.util
        • java.text
        • java.time
        • java.io
        • java.net
        • java.sql
        • java.awt
        • javax.swing
      • Java 고급
        • 제네릭(Generic)
        • 열거형(Enum)
        • Annotation Type
          • Retention
          • Target
          • Nested Annotation
        • Java Reflection
          • Intro
          • Class
          • Field
          • Constructor
          • Method
          • Package
      • JDBC
        • 드라이버 로드
        • 연결 생성
          • JDBC Driver 유형
        • JdbcTemplate
      • Java 버전별 변경사항
        • Java 1.8
          • Lambda Expression
          • Stream API
          • java.time 패키지
        • Java 9
        • Java 12
          • switch~case
        • Java 13
          • Text Block
    • Arduino
      • 학습 준비
        • Reference
        • 아두이노 온라인 시뮬레이터
        • 전기의 이해
        • 그라운드(GND)의 이해
      • 개발 환경 구축
        • CH340 보드 설치
        • Editor 글꼴 설정
      • 아두이노 제어
        • 코드의 구성
        • 시리얼 출력
        • 디지털 출력
          • LED 출력
        • PWM 출력
        • 시리얼 입력
        • 디지털 입력
          • PIR 센서
        • 아날로그 입력
          • 온도 센서(LM35DZ)
          • 조도 센서
          • 가스 센서
        • 피에조 부저
        • 서보 모터 제어
          • 시리얼 서보 모터 제어
          • 스위치 서보 모터 제어
        • 온습도 센서(DHT-11)
        • LCD
      • 아두이노 통신
        • 블루투스(Bluetooth)
          • HC-06
            • 온도 센서 활용
          • HM-10
        • 와이파이(Wi-Fi)
          • ESP-01
            • WiFiEsp 라이브러리 추가
            • WiFiEsp 네트워크 스캔
        • 이더넷(Ethernet)
        • ArduinoJson 라이브리 사용
    • Regular Expression
  • Database
    • Oracle
      • 설치
        • SQL Plus
        • SQL Developer
        • DBeaver
        • Docker(Mac OS)
      • SQL
        • 관리자 명령
          • 사용자 관리
          • 권한 관리
          • Encoding 설정
          • 서비스 포트 설정
        • 사용자 명령
          • 테이블 관리
            • 테이블 항목 제약 조건
            • 외래키 제약조건
            • 데이터 유형
          • 시퀀스 관리
          • 데이터 관리
            • 데이터 추가
            • 데이터 조회
              • 오라클 내장 함수
              • 그룹 조회
              • Top N Query
            • 데이터 수정
            • 데이터 삭제
          • 뷰 관리
          • 인덱스 관리
          • 집합 연산
          • 테이블 조인
            • 등가 조인
            • 외부 조인
        • HR 계정
        • 기타 명령
          • 컬럼 간격 조정
      • 내보내기 및 불러오기
        • EXPDP, IMPDP
        • Docker로 실행중인 경우
      • 기타
        • 자동 세션 제거
        • Tablespace 관리
        • Unlock user
  • 면접대비
    • Q&A
      • Java
      • Database
      • Web
      • IT 일반상식
  • ETC
    • Eclipse IDE
      • 설치
      • 화면 설명
      • 환경 설정
      • 프로젝트 생성
      • 소스파일 작성 및 실행
    • Github
      • Github 계정 관리
      • Github 저장소 관리
        • Profile
        • Collaborators
        • Code
        • Issues
        • Pull requests
        • Action
          • Vue 3 Deploy Action
      • Personal Access Token
      • Git ignore 설정
        • Spring 개발용 샘플
      • Github Eclipse 연동
        • Branches
        • Project
        • Team project
          • Dynamic web project
          • Spring Boot Project
          • Branch 생성
          • Pull Request
          • Branch 보호
          • Branch 다시 생성
    • Figma
      • Team
      • Design
      • Component
    • 과정평가형
      • 실기 모의고사 1회
      • 실기 모의고사 2회
      • 실기 모의고사 3회
      • 실기 모의고사 4회
    • VScode
      • Live Server 실행 오류
      • Github 계정 변경
    • Naver ToastUI Editor
      • Editor 만들기
        • Editor options
          • File upload
      • Viewer 만들기
    • 문자 인코딩 방식
    • OBS
      • 녹화 잡음 제거 설정
    • Semantic Version
Powered by GitBook
On this page
  • 데이터 유형
  • 참고 문서
  • 데이터 구분
  • 문자 데이터
  • 숫자 데이터
  • 날짜 데이터
  • 대용량 데이터
  • 원시 데이터
  • XML 데이터
  • URI 데이터
  • 개체 데이터
  • ANSI,DB2 및 SQL/DS 데이터
  1. Database
  2. Oracle
  3. SQL
  4. 사용자 명령
  5. 테이블 관리

데이터 유형

Previous외래키 제약조건Next시퀀스 관리

Last updated 3 years ago

데이터 유형

참고 문서

공식 문서 :

데이터 구분

오라클에서는 데이터를 다음과 같이 구분한다.

  • 문자 데이터

  • 숫자 데이터

  • 날짜 데이터

  • 대용량 데이터

  • 원시 데이터

  • XML 데이터

  • URI 데이터

  • 개체 데이터

  • ANSI,DB2 및 SQL/DS 데이터

문자 데이터

문자를 보관하기 위한 형태는 다음과 같다.

  • CHAR : 고정 문자열

  • VARCHAR : 가변 문자열

  • VARCHAR2 : 가변 문자열

  • NCHAR : 유니코드 고정 문자열

  • NVARCHAR2 : 유니코드 가변 문자열

  • LOB : 대용량 데이터(CLOB/NCLOB)

  • LONG : 비추천, 2GB 범위 내의 가변 문자열

CHAR

CHAR는 고정 문자열로 크기가 고정된 데이터에 사용하는 형태이다. 크기가 고정된 경우는 예는 다음과 같다.

  • 날짜

  • 일련번호

  • 성별

  • 휴대폰번호

CHAR의 특징은 다음과 같다.

  • 항상 고정된 크기를 가진다.

  • 고정 크기 미만으로 설정할 경우 나머지 공간을 여백(whitespace)으로 채운다.

  • 최대 2000byte까지 설정 가능하다.

VARCHAR

원문은 다음과 같다.

VARCHAR Datatype

The Varchar datatype is synonymous with the VARCHAR2 datatype. To avoid possible changes in behavior, always use the VARCHAR2 datatype to store variable-length character strings.

이를 번역하면 다음과 같고, VARCHAR 대신 VARCHAR2를 사용하는 것을 권장한다는 내용이다.

VARCHAR 데이터 유형

VARCHAR 데이터 유형은 VARCHAR2 데이터 유형과 동의어입니다. 동작의 가능한 변경을 방지하려면 항상 VARCHAR2 데이터 유형을 사용하여 가변 길이 문자열을 저장하십시오.

VARCHAR2

VARCHAR2는 가변 문자열로 크기가 불규칙한 문자열에 사용하는 형태이다. 크기가 불규칙한 경우는 n글자 이상 m글자 이하의 범위를 가지는 데이터로 예를 들면 다음과 같다.

  • 아이디

  • 비밀번호

  • 닉네임

  • 주소

  • 이름

VARCHAR2의 특징은 다음과 같다.

  • 설정 범위 내에서 데이터에 맞는 크기를 가진다.

  • 최대 4000바이트까지 설정이 가능하다.

NCHAR

설정에 따라 AL16UTF16 또는 UTF-8 형태로 데이터를 저장하는 유니코드 문자열 형태이며, 그 외 특징은 CHAR와 동일하다.

NVARCHAR2

설정에 따라 AL16UTF16 또는 UTF-8 형태로 데이터를 저장하는 유니코드 문자열 형태이며, 그 외 특징은 VARCHAR2와 동일하다.

숫자 데이터

숫자는 다음과 같은 형태로 저장할 수 있다.

  • NUMBER : 일반적인 숫자

  • BINARY_FLOAT / BINARY_DOUBLE : 부동소수점 숫자

NUMBER

NUMBER는 다음과 같이 설정할 수 있다.

  • NUMBER : 자리수를 지정하지 않으면 최대값인 38자리로 설정

  • NUMBER(n) : n자리 이내의 정수

  • NUMBER(n,m) : 전체 n자리, 소수점 이하 m자리의 정수(정수부분은 n-m자리)

  • NUMBER(*,m) : 소수점 이하 m자리인 정수(자리수 무관)

NUMBER(7, -2) 형태로도 설정할 수 있으며 이는 10의자리까지는 저장하지 않는다는 의미이다.

해당 자리가 반올림되는 특징을 가진다.

입력값이 1234567일 경우 1234600으로 저장된다.

날짜 데이터

날짜는 다음 두 형태로 나뉜다

  • DATE : 연/월/일/시/분/초를 저장할 수 있는 형태

  • TIMESTAMP : 연/월/일/시/분/초/밀리초를 저장할 수 있는 형태

대용량 데이터

CHAR, VARCHAR2 의 범위를 초과하는 데이터를 저장하고 싶을 때에는 다음 형태를 사용한다.

  • BLOB : 구조화되지 않은 이진 데이터

  • CLOB : 대용량 문자 데이터

  • NCLOB : 대용량 유니코드 문자 데이터

  • BFILE : 외부 운영체제에 저장된 오브젝트에 접근하기 위한 형태

BLOB

BLOB 형태는 이진 데이터 형태로 최대 128TB까지 저장이 가능하다. 이미지, 영상 등의 형태를 저장할 수 있으나 데이터베이스 용량은 무한이 아니기 때문에 사용을 결정할 때 다양한 요소들을 고려해야 한다. 트랜잭션의 영향을 받는다.

CLOB

CLOB형태는 대용량 문자열 데이터 형태로 최대 128TB까지 저장이 가능하다. CHAR와 VARCHAR2는 각각 2000, 4000바이트라는 길이제한이 존재하기 때문에 이를 넘어가는 데이터(블로그 포스트)등을 작성할 때 사용할 수 있다. 트랜잭션의 영향을 받는다.

NCLOB

NCLOB은 유니코드 기반의 대용량 문자열 데이터 형태이며, 그 외 특징은 CLOB와 동일하다.

BFILE

BFILE은 다음의 특징을 가진다.

  • 트랜잭션의 영향을 받지 않는다.

  • 읽기 전용이다.

  • 운영체제에서 오라클 프로세스에 대한 권한 부여가 필요하다.

원시 데이터

미작성

XML 데이터

미작성

URI 데이터

미작성

개체 데이터

미작성

ANSI,DB2 및 SQL/DS 데이터

미작성

Oracle Datatype