게시판 본문 ASP, ASP.NET, IIS & Script - Read Only

re: 데이타 정렬 이름에 대해서요..
작성자: 송원석
작성일시: 2009-05-13 23:27,  조회수: 4,077
안녕하세요? 송원석입니다. ^_^

말씀하신 SQL 서버의 데이터 정렬은 신경을 안쓸 때는 전혀 문제가 되지 않지만, 일단 문제가 발생하기 시작하면 상당히 골치 아파지는 이슈죠. 저도 근본적인 부분까지 이해하고 있지는 못합니다만, 아는 범위내에서 간단하게 설명을 드리겠습니다. 그리고 일부 내용은 사용하고 계시는 SQL 서버의 버전에 따라 다른 경우가 존재하므로 제 얘기는 참고로만 생각하시고 보다 정확한 내용은 SQL 서버의 도움말을 참고하시기 바랍니다.

말씀하신 설정을 데이터 정렬이라고 하는데요, 말 그대로 데이터를 정렬하는 방법에 대한 설정입니다. 간단하게 생각하시면 ORDER BY 절의 기준이 된다고 보시면 됩니다. 그런데 한 번 생각해보십시요. SQL 서버와 같은 데이터베이스는 특정 언어, 즉 영어나 한글만 다룬다고 생각할 수는 없겠죠. 따라서 정렬이라는 주제를 다룰 때는 자연스럽게 언어 문제도 포함되어집니다. 이를테면 "ㄱ" 이 더 우선순위가 높을지, "A" 가 더 우선순위가 높을지도 감안해야 되므로 이 데이터 정렬에는 언어 코드라는 개념도 포함되게 됩니다. 그뿐만 아닙니다. 한글은 포함되지 않지만, 영어 등에는 대/소문자가 존재합니다. 따라서 정렬에는 대소문자에 대한 기준도 포함되어야 합니다. 일어에는 히라가나와 가타가나를 구분해야 되구요. 독일어의 움라우트를 생각해보면 악센트 기준도 필요합니다. 마지막으로 전자/반자, 즉 싱글 바이트 문자와 더블 바이트 문자에 대한 기준도 필요하죠. 이런 모든 요소들이 감안되어야만 올바른 데이터 정렬이 이루어질 수 있는 것입니다.

결과적으로 이 문제는 각각의 서버 또는 데이터베이스 또는 테이블 또는 컬럼에 저장된 문자열 데이터에도 영향을 주게 되고, 각기 다른 데이터 정렬을 사용하는 데이터를 동시에 사용하는 경우 문제 발생의 소지가 다분합니다. 아마도 이 문제가 가장 크게 두드러지는 경우가 한글만 고려해서 설계된 데이터베이스에서 갑자기 유니코드를 지원해야 하는 경우가 아닌가 생각됩니다.

제가 사용중인 SQL 서버 2008 의 경우는 이런 데이터 정렬 설정을 비교적 쉽게 변경할 수 있는 기능들을 지원해줍니다. 그러나 이미 말씀드린 것처럼 SQL 서버의 버전에 따라 해당 기능의 지원 정도가 다르고, 아마 6.5 나 7.0 같은 초창기 버전은 설치를 다시 해야만 데이터 정렬의 변경이 가능했던 것으로 기억합니다만, 정확하지는 않습니다. 역시 해당 기능이 어디까지 지원되는지 여부는 사용하고 계신 SQL 서버 버전의 도움말을 참고하시는 것이 가장 확실하실 듯 합니다. 도움말에서 "데이터 정렬" 로 검색해보시면 좋은 자료들이 많이 제공될 것입니다.

마지막으로 말씀하신 데이터 정렬 옵션의 의미는 대충 이렇습니다. 먼저 국가 및 언어 옵션이 나오고 그 뒤에 나오는 CS 는 대/소문자를 구분한다는 의미고 CI 는 구분하지 않는다는 의미입니다. AS 는 악센트를 구분한다는 의미고 AI 는 구분하지 않는다는 의미입니다. KS 는 일어 가나를 구분한다는 의미고 KI 는 구분하지 않는다는 의미입니다. WS 는 전자/반자를 구분한다는 의미고 WI 는 구분하지 않는다는 의미입니다. 따라서 Korean_Wansung_CI_AS 는 한국어 완성형에 대/소문자 구분 안 함, 악센트 구분, 가나 구분 안 함, 전자/반자 구분 안 함의 의미입니다. 그런데 Korean_wansung_unicode_CI_AS 이라는 데이터 정렬 옵션은 저도 잘 모르겠네요. 일단 온라인 도움말에서는 해당 옵션에 대한 얘기를 찾아볼 수 없고, 구글링을 해보면 몇 개의 문서가 검색됩니다만 마이크로소프트사의 사이트라던지 근거가 확실한 문서는 거의 없네요. 한 번 확인해보셔야 할 것 같습니다. ^_^

감사합니다.

IP 주소: 119.197.63.105
전체 2,095 건의 게시물, 84 페이지로 구성된 ASP, ASP.NET, IIS & Script 게시판의 10 페이지입니다.
게시물
1,971

re: 파일큐브 최상위폴더 설정

송원석

2009-06-17 6,825
1,970

iframe과 iframe 사이에서 focus [2]

김종식

2009-06-03 791
1,969

염치불구하고 질문하나 드리겠습니다. 쿠키관련입니다. [1]

최영민

2009-05-21 4,039
1,968

데이타 정렬 이름에 대해서요..

김종식

2009-05-13 3,957

re: 데이타 정렬 이름에 대해서요..

송원석

2009-05-13 4,077
1,966

프레임 에러 때문에 질문 올립니다.

이상원

2009-04-14 853
1,965

re: 프레임 에러 때문에 질문 올립니다.

송원석

2009-04-15 3,806
1,964

re: 프레임 에러 때문에 질문 올립니다.

이상원

2009-04-16 1,110
1,963

re: 프레임 에러 때문에 질문 올립니다. [4]

송원석

2009-04-16 3,791
1,962

세션ID 고정(session fixation) 공격 대응법

윤석언

2009-04-08 4,543
1,961

re: 세션ID 고정(session fixation) 공격 대응법

송원석

2009-04-08 6,589
1,960

친절한 답변 감사합니다.

윤석언

2009-04-08 3,697
1,957

부서 및 사용자 권한 설정(FileCube)

권오일

2009-04-02 977
1,956

re: 부서 및 사용자 권한 설정(FileCube)

송원석

2009-04-02 3,700
1,955

FileCube 사용자입니다.

김영호

2009-03-27 3,714
1,954

re: FileCube 사용자입니다.

송원석

2009-03-28 3,687
1,953

re: FileCube 사용자입니다.

김영호

2009-03-28 3,828
1,952

re: FileCube 사용자입니다.

송원석

2009-03-28 3,622
1,951

위함한 캐릭터들..

김종식

2009-03-17 1,197
1,950

re: 위함한 캐릭터들.. [3]

송원석

2009-03-18 4,099
1,949

최상위폴더 입력하는부분말인데요..

김도한

2009-03-10 3,868
1,948

re: 최상위폴더 입력하는부분말인데요.. [1]

송원석

2009-03-11 3,990
1,947

프로시져에서 text타입 처리

김종식

2009-03-09 4,629
1,946

re: 프로시져에서 text타입 처리

송원석

2009-03-09 4,532
1,945

text형태의 데이타 타입

이석환

2009-02-25 1,080