더북(TheBook)

문자형 데이터형의 괄호 안 n은 숫자를 의미합니다. 가령 VARCHAR2(10)이라고 하면 VARCHAR2형 문자를 10byte 사용하겠다는 것이죠. 즉, 데이터를 10byte까지 해당 컬럼에 입력할 수 있다는 의미입니다. 만약 10byte를 넘어가면 데이터 입력 시 오류가 발생합니다.

그렇다면 CHARVARCHAR2의 차이점은 무엇일까요? CHAR는 고정 길이, VARCHAR2는 가변 길이입니다. 만약 CHAR(10)형으로 컬럼을 만들고 ‘A’란 문자를 넣었을 경우 이 데이터의 크기는 1byte가 아닌 10byte가 됩니다. 고정으로 10byte를 차지하는 거죠. 반면 VARCHAR2(10)형으로 컬럼을 만들어 ‘A’란 문자를 넣었을 경우 이 데이터의 크기는 1byte입니다. ‘AB’란 문자의 경우 2byte를 차지합니다. 한마디로 VARCHAR2형으로 컬럼을 만들면 실제 들어가는 데이터에 따라 크기가 정해지지만, CHAR형의 경우는 무조건 테이블 생성 시 설정한 크기로 고정됩니다. 따라서 특별한 경우가 아닌 한 문자 컬럼은 무조건 VARCHAR2로 만드는 것이 좋습니다. 기억하기도 쉽고요. 문자형 컬럼은 VARCHAR2형으로 만든다는 것이 첫 번째 공식입니다.

이번에는 숫자형인 NUMBER에 대해 알아보죠. 숫자에는 크게 정수와 실수가 있고, 실수는 소수점이 있죠. 컴퓨터가 숫자를 저장하고 표현하는 방식은 꽤 복잡하지만, 이런 세부적이고 복잡한 내용까지 굳이 알 필요는 없습니다. 앞에서 ‘문자 데이터를 위한 컬럼은 VARCHAR2로 만든다’라는 공식을 소개했습니다. 여기서 또 하나의 공식을 소개합니다. 숫자를 저장하고 표현하는 여러 가지 방식이 있지만, ‘숫자 데이터를 위한 컬럼은 NUMBER형으로 만든다’라는 공식입니다. 즉, NUMBER형으로 만들면 웬만한 숫자는 모두 저장하고 표현할 수 있습니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.