DBMS 데이터 유형

Y3SUNG·2022년 11월 27일
0

DB

목록 보기
1/1

물리적 모델링

  • 한글 → 영문
  • 데이터 유형, 필수 여부
  • 문자열의 경우 데이터의 길이

데이터 유형

해당 속성에 저장할 수 있는 값의 형태

각 DBMS별로 데이터 유형의 표현방식이 조금씩 다름

(이 글에선 Oracle 기준이다.)

자주 쓰는 데이터 유형은 VARCHAR2, NUMBER, DATE 정도가 있고

나머지도 사용하긴 하지만 드물다.

varchar과 char의 차이점

varchar는 가변 길이 문자열이고

char은 고정 길이 문자열이다.

varchar(3)과 char(3)에 값을 저장 했을 때

varchar는 값이 두 글자가 들어오면 두 글자만 저장하지만

char은 남은 한자리까지 저장한다.

즉 값의 길이가 고정되어 있고 빠른 속도를 원한다면 char을 사용,

값이 고정적이지 않고 속도가 비교적 느리더라도 유동적으로 값을 받고 싶다면 varchar을 사용하면 된다.

NUMBER

오라클에서는 NUMBER이라는 데이터 유형이 있다.

INTEGER과 DOUBLE도 있지만

정수인지 실수 인지 정해지지 않았다면 NUMBER을 사용하면 된다.

자릿수를 지정해주지 않으면 ( 예 : NUMBER(4) )NUMBER는 값을 정수로 받든 실수로 받든 일단 실수형으로 값을 저장해놓는다.(모델링을 할 땐 자릿수를 지정해놓지 않는다.)

자릿수를 지정해준다면 그 자릿수 만큼의 정수를 저장할 수 있게 된다.

예 : NUMBER(4) 는 0 ~ 9999 사이의 값을 저장할 수 있다.

실수를 저장하고 싶을 땐 자릿수를 두개 지정해주면 된다.

NUMBER(4, 2) 은 전체 자릿수가 4자리 이고, 소수점 이하 자릿수가 2라는 뜻이다.

위와 같은 형식으로 지정해주면 정수를 넣어도 .0을 붙혀서 실수로 저장된다.

소수점이 2자릿수를 넘으면 반올림이 되고 ( 예 : 3.145 ⇒ 3.15 )

소수점 자릿수를 2로 지정해주었기 때문에 소수점의 자릿수가 아무리 길어도 3번째 자리에서 반올림을 하게 된다.

( 예 : 3.141592 라는 값을 받으면 2부터 반올림을 진행하는게 아니라 소수점 3번째 자리인 1에서 반올림을 하게된다. )

DATE

날짜 및 시간을 저장하는 데이터 유형이다.

시간만 저장하려면 TIME이라는 데이터 유형을 사용할 수도 있다.

( 단 오라클에선 시간만 저장하려고 해도 DATE를 사용한다. DBMS마다 다르다. )

profile
자바칩 프라푸치노

0개의 댓글