varchar
DataBase에서 가변 문자열을 저장 할 수 있는 자료형
char형과 다르게 가변성(*데이터 입력가능 사이즈를 지정해도 삽입 데이터 값에 따라 사이즈가 줄어듬)이 있다.
🔻 varchar와 char 형에 대해 정리를 잘 해주신 글
https://goodgid.github.io/DB-char-vs-varchar/
DB 컬럼(Column) 타입 차이 알아보기 : CHAR vs VARCHAR 비교 및 특징
Index
goodgid.github.io
세상에는 다양한 언어가 있고, 그 언어의 문자를 컴퓨터에 출력하려면 어떻게 해야 할까?
컴퓨터에서 정보를 나타내는 가장 작은 단위는 bit이다. 이 bit로 정보를 출력력해야 한다.
그래서 나온게 인코딩 규칙이다. 이 인코딩 규칙이 정의가 되어 있어야 문자를 컴퓨터로 출력 할 수 있다.
그 중 가장 먼저 나온 인코딩 규칙이 ASCII(아스키) 국제적인 표준이다.
American Standard Code for Information Interchange
(**영어, 영문 데이터가 빠르게 정의가 되었다. 풀네임만 봐도 영어 문자를 정의한걸 알 수 있다)
아스키 코드는 문자와 숫자를 1:1 매핑하였고, 문자표에 정의된 문자는 1byte로 표현된다.
문제는 알파벳, 숫자, 특수기호 등만 정의가 되어 있었다.
❓그러면 다른 언어는 어떻게 인코딩을 할까?
그렇게 나온게 유니코드(Unicode)이다. 유니코드의 경우 모든 언어의 문자를 정의하기 위해 2byte를 사용한다.
이 유니코드에는 다양한 인코딩 방식이 존재 한다.
❓한글은 어떻게 인코딩을 할까?
보통 EUC-KR 인코딩 방식, 유니코드 UTF-8 인코딩 방식이 있다.
UTF-8 문자 집합은 1~4 바이트까지 저장이 가능하게 설계되었다.
varchar은 가변크기 문자열 데이터 형식이며, UTF-8 문자 인코딩을 사용한다.
영어를 저장하기 위해 문자당 1byte로, 한글은 2byte로 저장한다.
nvarchar는 가변크기 유니코드 문자열 데이터 형식이다.
유니코드 지원을 위한 데이터형으로 글자수를 기준으로 하기 때문에 다국어 지원시 사용 한다.
한글 영문 한자 등등 상관없이 1개 문자당 모두 2byte를 사용한다.
이 설명만 보면, 저장 할 때 데이터 크기 차이가 있다는걸 알 수있다.
(설명 계속 추가 중)
🔻EUC-KR과 UTF-8 인코딩 방식의 차이
https://programmerpsy.tistory.com/110
https://zepettoworld.tistory.com/24
🔻 인코딩의 역사에 잘 정의해주신
https://velog.io/@viiviii/1-ASCII-ISO-8859-Unicode%EC%9D%98-%ED%83%84%EC%83%9D
🔻 한글 인코딩의 역사에 대해 잘 설명해주신 글
https://okky.kr/articles/283470
https://d2.naver.com/helloworld/19187