※데이터베이스 객체의 종류
데이터테이스객체 | 설명 |
테이블 | 데이터를 담는 객체 |
뷰 | 하나이상의 테이블을 연결해 마치 테이블인 것처럼 사용 |
인텍스 | 테이블에 있는 데이터를 빠르게 찾기(책갈피라고 생각하면된다) |
시노님 | 데이터베이스 객체에 대한 별칭을 부여 |
시퀀스 | 일련번호 채번을 할때 사용 |
함수 | 특정 연산을 하고 값을 반환 |
프로시저 | 함수와 비슷하지만 값을 반환하지 않고 사용 |
패키지 | 용도에 맞게 함수나 프로시저를 하나로 묶어 놓음 |
※문자 데이터 타입
데이터 타입 | 설명 |
CHAR | 고정길이문자 최대 2000byte,디폴트값은 1byte |
VARCHAR2 | 가변길이 문자,최대 4000byte,디폴트값은 1byte |
NCHAR | 고정길이 유니코드 문자(다국어입력가능), 최대2000byte,디폴트 값은 1 |
NVERCARCHAR2 | 가변길이 유니코드 문자(다국어입력가능), 최대4000byte,디폴트 값은 1 |
LONG | 최대2gb크기의 가변길이 문자형(잘 사용 안함) |
※숫자 데이터 타입
데이터 타입 | 설명 |
NUMBER[p,s] | 가변숫자로 p(1~38,디폴트:38)와 s(-84~127,디폴트:0)는 십진수 기준 최대 22byte |
FLOAT [p] | NUMBER의 하위 타입으로 p는 1~128(디폴트:128)최대 22byte |
BINARY_FLOAT | 32비트 부동소수점수, 최대 4byte |
BINARY_DOUBLE | 64비트 부동소수점수,최대 8byte |
(p: precision로 최대 유효숫자 자릿수 ,s:scale로 소수점 기준 자릿수)
※FLOAT타입에 대한 주의점
아래와 같이 테이블 생성 후 데이터를 똑같이 넣어주면 32로 지정한 부분이 1234567891000로 나오는것을 확인 할 수 이다.
========테이블 생성=======
CREATE TABLE TEST(
COL_FLOT1 FLOAT(32),
COL_FLOT2 FLOAT
);
========데이터 INSERT=======
INSERT INTO TEST(col_flot1, col_flot2) VALUES (1234567891234, 1234567891234);
FLOAT(32)부분에 32부분은 이진수가 기준으로 십진수가 아닌 이진수 기준 32자리(10110100010...식으로 32자리)가 들어간다.
이진수 기준으로 32자리를 10진수로 변환하면 32*0.30103 = 9.63296로 반올림되어 10자리까지만 제대로 들어가고 나머지는 0으로 들어간다.
※날짜 데이터 타입
데이터타입 | 설명 |
DATE | BC 4712뇬 1월1일부터 9999년12월31일, 연,월,일,시,분,초까지 입력 가능 |
TIMESTAMP | 연도,울,일,시,분,초는 물론 밀리초까지 입력가능 |
날짜 정확도는 DATE보다 TIMESTAMP의 날짜 확도가 높다..
(날짜만 사용할 경우는 DATE가 좋고, 시,분,초까지 사용할 경우에는 TIMESTAMP를 사용하는것이 정화도를 높이기에 좋다.)
데이터 타입 | 설명 |
CLOB | 문자형 대용량 객체,고정길이와 가변길이 문자 집합. 최대크기(4GB-1)*(데이터베이스 블록사이즈) |
NCLOB | 유니코드(다국어지원)를 포함한 문자형 대용량 객체. 최대크기(4GB-1)* (데이터베이스 블록사이즈) |
BLOB | 이진형 대용량 객체, 최대 크기 (4GB-1)* (데이터베이스 블록사이즈) |
BFILE | 대용량 이진파일에 대한 로케이터(위치,이름)저장, 최대 크기 4GB |
- 문자형 대용량 : CLOB,NCLOB을 사용
- 그래픽,이미지,동영상등 : BLOB
- 그외 : BFILE (데이터베이스 외부에 있는 파일에 대한 로케이터(해당 파일에 대한 포인터)를 저장하고 실제 파일을 수정할 수 없고 읽기만 가능)
'DB > ORACLE' 카테고리의 다른 글
6.[오라클]테이블 및 칼럼 관련 정리 (0) | 2024.01.17 |
---|---|
5.[오라클]제약조건 (0) | 2024.01.07 |
3.[오라클]기본개념 정리 (0) | 2024.01.07 |
2.[오라클]dump import (0) | 2024.01.07 |
1.[오라클]테이블스페이스,사용자,권한부여하기 (0) | 2024.01.05 |