이 글은 뉴렉쳐 오라클 데이터베이스 SQL 강의를 수강하며 정리한 글입니다.
07강 오라클 데이터 형식 #1 (문자 형식)
Oracle Built-in Data Type
1. Character 형식: ‘’
CHAR(50): 크기가 50byte인 CHAR
→ 고정 길이이므로 다 사용하지 않아도 빈칸으로 남아있게 됨
⚠️ 가변 길이 데이터의 경우 공간의 비효율성 발생
예: 생일, 전화번호 등
VARCHAR2(500): 크기가 최대 500개인 CHAR
→ 쓰지 않는 데이터 공간은 반환
예: ID
⚠️ 고정길이가 아니기때문에 데이터 검색 시, 처음부터 살펴봐야하는 불편함 발생
→ 검색 속도를 고려했을 때, 고정길이 Data는 CHAR, 가변길이 Data는 VARCHAR 사용이 바람직
NCHAR(n): 세계 각국의 언어를 사용하여 저장할 수 있음
→ ⚠️ size가 2~3byte로 1byte인 CHAR보다 용량이 큰 단점
영어, 숫자가 아닌 다른 나라 언어를 사용할 경우 사용
(⭐ CHAR(1 CHAR)이 아닌 NCHAR을 사용하는 게 좋은 이유 → 1 CHAR: 3byte, NCHAR: 2byte)
NVARCHAR(n): NCHAR(n) + VARCHAR(n)
⭐ 2byte: ‘ab’, 6 byte: ‘한글’
CHAR MAX SIZE
32767 bytes or characters if MAX_STRING_SIZE = EXTENDED
4000 bytes or characters if MAX_STRING_SIZE = STANDARD
⭐ 데이터 특성에 맞게 CHAR type 변환
CREATE TABLE MEMBER
(
ID VARCHAR2(50),
PWD VARCHAR2(50),
NAME VARCHAR2(50),
GENDER VARCHAR2(50),
AGE NUMBER,
BIRTHDAY VARCHAR2(50),
PHONE VARCHAR2(50),
REGDATE DATE
);
CREATE TABLE MEMBER
(
ID VARCHAR2(50),
PWD NVARCHAR2(50),
NAME NVARCHAR2(50),
GENDER NCHAR(2), --여성, 남성
--CHAR(2 CHAR): 6byte, NCHAR(2): 4 byte
--공간 절약을 위해 NCHAR 사용
AGE NUMBER,
BIRTHDAY CHAR(10), --2000-01-02
PHONE CHAR(13), --010-1234-2345
REGDATE DATE
);
-- 주석 표시
2. Numeric 형식: 정수 또는 소수
3. Date 형식: Date(yyyy-mm-dd), TIMESTAMP(yyyy-mm-dd hh:mm:ss)
4. LOB 형식: Large Object 형식, 그래픽 이미지나 음성, 바이너리 데이터, 사이즈가 큰 텍스트 데이터를 다루는 데이터 타입
소스 코드
'DataBase > Oracle' 카테고리의 다른 글
Oracle SQL 강의 - 09강 테이블 수정하기(ALTER TABLE) (0) | 2023.02.24 |
---|---|
Oracle SQL 강의 - 08강 오라클 데이터 형식 #2 (숫자,날짜 형식) (0) | 2023.02.21 |
Oracle SQL 강의 - 06강 MEMBER 테이블 생성하기 (0) | 2023.02.19 |
Oracle SQL 강의 - 05강 수업용 사용자와 데이터베이스 생성하기 (0) | 2023.02.12 |
Oracle SQL 강의 - 04강 오라클 PDB 서버에 접속하기 (0) | 2023.02.11 |