[MSSQL 강좌 3강] 데이터 타입

공부/MSSQL  2012.09.30 22:20



안녕하세요 개발자 명월입니다.

먼저 MSSQL의 명령어를 익히기에 앞서 데이터타입에 대해 알아보겠습니다.

데이터타입이란 프로그램에서는 즉 자료형과 같은 개념으로서 프로그램에서는 데이터 자료의 흐름 즉, 처리를 중요하게 다룬다면 데이터베이스에서는 주로 데이터 상태를 더 중요하다고 생각됩니다.

프로그램에서도 자료형은 중요한 부분이나 데이터베이스에서의 데이터타입은 어찌보면 변수보다도 훨씬 중요한 비중을 차지할 지도 모르겠습니다. 데이터베이스의 데이터 타입의 종류는 엄청나게 많으나 우리는 일단 중요하고 또 자주 사용하는 데이터타입만 익히고 지나가도록 하겠습니다.

 

숫자형 데이터 타입

데이터 형식

바이트 수

숫자 범위

설명

BIT

1

0 또는 1

Boolean형인 참, 거짓으로 사용

INT

4

-21억~+21억

정수

SMALLINT

2

-32,768~32,767

정수

TINYINT

1

0~255

양의정수

BIGINT

8

-263~263

정수

DECIMAL(p,s)

5~17

N/A

p는 자릿수, s는 소수점 자릿수

NUMERIC

5~17

N/A

DECIMAL과 같은 형식

REAL

4

FLOAT[24]와 동일

FLOAT[p]

4~8

p가 24 이하면 4바이트 25이상이면 8바이트

MONEY

8

-263~263

화폐단위로 사용

SMALLMONEY

4

-21억~+21억

화폐단위로 사용

 

문자형 데이터 형식

데이터형식

바이트수

설명

CHAR[n]

0~8000

고정길이 문자형

NCHAR[n]

0~8000

유니코드 고정길이 문자형

VARCHAR[n]

0~231-1

가변길이 문자형

NVARCHAR[n]

0~231-1

유니코드 가변길이 문자형

TEXT[n]

0~231-1

VARCHAR[MAX]

NTEXT[n]

유니코드 TEXT

BINARY[n]

0~8000

고정길이 이진 데이터 값

VARBINARY[n]

0~231-1

가변길이 이진 데이터값

IMAGE

0~231-1

VARBINARY[MAX]

 

시간과 날짜 데이터 형식

데이터형식

바이트수

설명

DATETIME

8

1753/1/1 ~ 9999/12/31까지, 최소단위는 0.001초

SMALLDATETIME

4

1900/1/1 ~ 20791/6까지, 최소단위는 분까지

 

기타 데이터 형식

데이터형식

바이트수

설명

TIMESTAMP

8

SQL 내부 데이터 타입

ROWVERSION

8

SQL 내부 데이터 타입

SYSTEM

128

SQL 내부 데이터 타입

CURSOR

1

T-SQL 커서

TABLE

TABLE

UNIQUEIDENTIFIER

16

GUID 값

SQL_VARIANT

C#에서의 ARRAYLIST

XML

XML

 

데이터베이스는 프로그램과 다르게 데이터타입을 정확하게 지정하는 편이 좋습니다. 프로그램이야 프로그램이 종료되고 나면 메모리를 반환하는 형식이여서 큰 프로그램이 아닌 이상이야 상관없지만 데이터베이스는 파일시스템타입이라서 데이터타입를 낭비하면 나중에는 속도가 느려질 뿐만 아니라 데이터베이스가 어마어마하게 커지기 때문입니다. 그때 가서 튜닝을한다고 하면 이미 데이터베이스가 구축된 후라서 수정하기도 힘들기 때문에 초반에 설계할 때 데이터타입도 충분히 고려하고 신중하게 설계해야 하겠습니다.

 

 

 


댓글 0개가 달렸습니다.
댓글쓰기