티스토리 뷰
개발셋팅 문서에서 데이터베이스 생성을 할때 collate 라는 예약어를 처음봤다.
CREATE DATABASE [데이터베이스명] CHARACTER SET [문자열셋] COLLATE [collation]
character set ?
A character set is a set of symbols and encodings.
A collation a set of rules for comparing characters in a character set
위의 정의를 직역하자면, character-set은 symbol(기호) 와 encoding(인코딩) 의 집합이고
collation 은 charcter-set 체계에서 문자를 구분할 수 있게 만드는 규칙을 의미이다.
A=0, B=1, a=2, b=3 이라 할때
A는 문자자체 기호(symbol) 이며, 0은 A를 인코딩한 값(encoding)이다.
인코딩한 값 0은 A 라는 문자를 나타내기 위한 구분자 이기도하다.
A=0 을 character-set 이다.
0이라는 값을 나타냄으로써 'A'라는 문자를 정의한거다.
collate?
[공식문서 정의]
- A collation is a set of rules that defines how to compare and sort character strings.
- Each collation in MySQL belongs to a single character set. Every character set has at least one collation, and most have two or more collations.
- 문자열을 비교하거나 정렬을 하거나 문자열을 비교에 관해 정의된 규칙
- 각 collation 은 단일문자셋
- 모든 문자셋은 최소한 1개의 규칙을 갖고 대부분은 여러개의 규칙을 갖는다.
참고 공식문서
Conclusions
CREATE DATABASE [데이터베이스명] CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
위의 sql 문을 분석해보자면
문자열을 인코딩하게 해주는 character-set은 utf8mb4 이다.
위의 예시를 참고하여 A=0 이라 정의할때 이
즉 A라는 값을 0으로 인코딩하게 하는 캐릭터 셋이다. 'A'라는 문자를 구분해주는 것이다.
collate의 utf8mb4_general_ci 는
utf8mb4 라는 character-set 이 갖는 규칙중 하나이다.
어떤식으로 문자들을 비교하고, 정렬하는지 를 나타내는 규칙이다. character-set 은 최소 한개의 규칙(collation)을 갖는다.
character-set 과 collate 정의에 대해서 탐색해봤다.
다큐먼트를 읽어보면서, 내가 이해한 걸 나만의 언어로 표현하는 시도를 많이 해볼 필요가 있다.
이 블로그의 글을 읽다가 잘못된 내용이 있다면 코멘트로 피드백을 해주시면 감사하겠습니다.
읽어주셔서 감사합니다.
'Backend > 꾸준히 TIL' 카테고리의 다른 글
[기본기] 네트워크 1 (0) | 2023.04.29 |
---|---|
[디자인패턴] 싱글톤 패턴 (0) | 2023.04.07 |
[IT 개념] HTTP 통신 (0) | 2023.03.16 |
[IT 개념] CI와 CD 의미 (1) | 2023.03.13 |
[Nestjs/AWS SES ] AWS SES 로 메일 전송하기 (0) | 2023.02.11 |
- Total
- Today
- Yesterday
- 클린아키텍쳐
- nestjs
- RDBMS
- 한달독서
- gem
- 갓생살자
- git
- Jekyll
- 바이트디그리
- MySQL
- 미완
- 개발용어
- MongoDB
- jest
- OS
- Mongoose
- 디지털디톡스
- node.js
- TDD
- 한달어스
- TypeScript
- nestjs jest
- 스마트폰중독
- 참고
- Nest.js
- typeORM
- 습관개선
- vscode
- IT용어
- 나도 할 수 있다
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |