테이블 생성 프로토콜
1. [필수] yes 또는 no 개념을 표현하는 필드는 is_xxx 방식으로 이름을 지정해야 하며, 데이터 유형은 unsignedtinyint입니다(1은 yes, 0은 no). 이 규칙은 odps 테이블 생성에도 적용됩니다. .
참고: 음수가 아닌 모든 필드는 부호가 없어야 합니다.
2. [필수] 테이블 이름과 필드 이름은 소문자 또는 숫자를 사용해야 하며, 숫자로 시작할 수 없으며 두 개의 밑줄 사이에 숫자만 포함될 수 없습니다. 데이터베이스 필드 이름을 수정하는 것은 시험판이 불가능하므로 비용이 매우 많이 들기 때문에 필드 이름을 신중하게 고려해야 합니다.
긍정적인 예: getter _ admin , task _ config , level 3_ name
카운터 예: GetterAdmin , taskConfig , level _3_ name
참고: 테이블 이름은 테이블의 항목 내용만 나타내야 하며, 해당 DO 클래스 이름도 표현 습관과 일치하는 단수 형식이어야 합니다.
설명: uk _는 고유 키입니다. idx _는 index의 약어입니다.
참고: float 및 double을 저장하면 값을 비교할 때 잘못된 결과가 나올 가능성이 매우 높습니다. 저장된 데이터 범위가 소수점 범위를 초과하는 경우 데이터를 정수와 소수로 나누어 별도로 저장하는 것이 좋습니다.
7. [필수] 저장된 문자열의 길이가 거의 같을 경우 char 고정 길이 문자열 형식을 사용합니다.
8. [필수] varchar는 가변 길이 문자열이며 미리 할당된 저장 공간이 없습니다. 길이는 5000을 초과할 수 없습니다. 저장 길이가 이 값보다 큰 경우 필드 유형을 텍스트로 정의하고 다른 필드의 인덱싱 효율성에 영향을 주지 않도록 기본 키를 사용하여 대응하세요.
9. [필수] 테이블에는 id, gmt_create, gmt_modified의 세 가지 필드가 있어야 합니다.
참고:
gmt_modified 유형은 모두 date_time 유형입니다.
10. [추천] 테이블 이름은 "업체명_테이블의 기능"으로 지정하는 것이 가장 좋습니다.
긍정적인 예: Tiger _ task / Tiger _ reader / mpp _ config
11. [권장] 라이브러리 이름과 애플리케이션 이름은 최대한 일관되어야 합니다.
12. [권장사항] 필드의 의미를 수정하거나 필드가 나타내는 상태를 추가하는 경우 필드 댓글을 제때 업데이트해야 합니다.
13. [권장] 필드는 성능 향상을 위해 적절한 중복성을 허용하지만 데이터 동기화를 고려해야 합니다. 중복 필드는 다음을 따라야 합니다.
1) 자주 수정되지 않는 필드.
2) 텍스트 필드는 물론 varchar 초장형 필드도 아닙니다.
긍정적인 예: 제품 카테고리 이름은 자주 사용되며 필드 길이는 짧고 이름은 기본적으로 변경되지 않습니다. 카테고리 이름은 관련 쿼리를 피하기 위해 관련 테이블에 중복 저장될 수 있습니다.
참고: 3년 내에 데이터 양이 이 수준에 도달하지 않을 것으로 예상되는 경우 테이블을 생성할 때 데이터베이스를 테이블로 나누지 마십시오.
긍정적 예:
사람의 나이는 unsignedtinyint입니다(범위 0-255를 나타내며 사람의 수명은 255세를 초과하지 않습니다). Turtle은 smallint여야 하지만, 태양의 경우 int여야 하며 모든 별의 나이를 더한 경우 bigint를 사용해야 합니다.