1. 문자열 형의 종류 [mssql] char(n) 최대 8000자, 유니코드 아님, 고정길이 varchar(n) 최대 8000자, 유니코드 아님, 가변길이 text 최대 2^31-1 자, 유니코드 아님, 가변길이 (32비트) nchar(n) 최대 4000자, 유니코드 아님, 고정길이 nvarchar(n) 최대 4000자, 유니코드 아님, 가변길이 ntext 최대 2^30-1 자, 유니코드 아님, 가변길이 (32비트) binary 최대 8000바이트, 고정길이, 이진문자열(비트 스트링) varbinary 최대 8000바이트, 고정길이, 이진문자열(비트 스트링) image 최대 2^31-1 바이트, 고정길이, 이진문자열(비트 스트링) [oracle] char(n) 최대 2000 바이트 varchar2(n) 최대 4000 바이트 nchar(n) 최대 2000 바이트 nvarchar2(n) 최대 4000 바이트 CLOB 1바이트 문자열, 최대 4GB BLOB 이진 문자열, 최대 4GB BFILE 바이너리 데이타 외부화일로 저장, 최대 4GB LONG 가변길이 문자열, 최대 2GB LONG RAW 가변길이 이진 데이타, 최대 2GB RAW 가변길이 이진 데이타, 최대 2000 바이트 [mysql] char(n) 최대 255 바이트 까지 varchar(n) 최대 255 바이트 까지 binary(n) 이진데이타, 바이트 지정한만큼, 고정길이 varbinary(n) 이진데이타, 바이트 지정한만큼, 가변길이 tinyblob 이진데이타, 최대 255 바이트 (2^8) blob 이진데이타, 최대 65535 바이트 (2^16) mediumblob 이진데이타, 최대 2^24 바이트 longblob 이진데이타, 최대 2^32 바이트, tinytext 1바이트 문자열, 최대 255 자 (2^8) text 1바이트 문자열, 최대 65535 자(2^16) mediumtext 1바이트 문자열, 최대 2^24 자 longtext 1바이트 문자열, 최대 2^32 자 손수 다 적을려니 너무 빡시네. .ㅋㅋ 암튼 대충 이런 문자열 타입들이 있네요... 전체적으로 크게 보면 일반 문자열 데이타, 유니코드 문자열 데이타, 대용량 이진 데이타, 대용량 문자열 데이타 등 으로 나눌 수 있는데요. 실제로 코딩 할 때 쓰는건 몇 개 없네요..ㅋㅋ 암튼 이것으로 다들 잘 해봅시다. 2. 자료형의 선언 [mssql] create table test ( aaaa varchar(200) ) [oracle] create table test ( aaaa varchar2(300) ) [mysql] create table test ( aaaa varchar(400) ) 기본적으로 바이트 선언하는 형태는 너무나도 간단합니다. 특정 자료형과 길이만 적어 주기 때문에.. ^^ 3. 이기종간의 디비 호환성 일반적으로 문자열은 varchar 를 많이 씁니다. 물론 속도 줄인다고 char 쓰시는 분들도 계시는데 이건 디비에 따라서 일정길이 이상이 되면 내부적으로 varchar로 돌아가기 때문에 그냥 varchar 쓰시는게 더 좋을 듯 합니다.. 그리고 속도 차이도 거의 없구여.. 대부분의 디비에 들어가는 형태는 가변길이 문자열입니다. 그래서 varchar, nvarchar, 오라클은 varchar2 등을 쓰게 됩니다. 다만 조금씩 차이 나는 부분이 대용량의 글을 적을 때가 문제인데요... mssql : text oracle : clob mysql : text 관련 타입 등으로 보편화 될 수가 있겠습니다.. 그래서 varchar(varchar2) 나 text(clob) 등으로 문자열에 대한 데이타를 정의해주시면 되겠구여.. 가끔씩 이미지를 통째로 필드에 넣는 경우가 있습니다. 그럴경우는 이진데이타 자료형으로 해서 넣어줄 수 있는데요.. mssql : varbinary oracle : blob, bfile mysql : blob 관련 타입 등을 많이 사용하게 됩니다. 하지만 아직까지는 그런 대용량 이미지 데이타 들은 디비에 넣지 않고 그냥 파일로 복사하고 링크만 저장하는 방식이 선호가 되고 있습니다. 나중에 디비 성능이 좀더 좋아지고 하드웨어, 네트워크 성능이 더 좋아지면 그때는 데이타베이스에서 모든 것을 처리하는 때가 오겠죠? ^^ 그 때를 기대해봅니다. |
최근 덧글