IT story

MySQL에 대한 명명 규칙이 있습니까?

hot-time 2020. 6. 16. 08:04
반응형

MySQL에 대한 명명 규칙이 있습니까?


내가하는 방법은 다음과 같습니다.

  1. 표 이름 (예를 들어, 단수의 소문자, 개별 단어 사용의 밑줄이고,이다 foo, foo_bar
  2. 나는 일반적으로 (항상 그런 것은 아니지만) 자동 증분 PK를 갖습니다. : 나는 다음과 같은 규칙을 사용 tablename_id(예를 들어 foo_id, foo_bar_id등).
  3. 테이블에 외래 키 인 열이 포함되어 있으면 테이블의 출처가 무엇이든 해당 키의 열 이름을 복사합니다. 예를 들어 테이블 foo_bar에 FK가 있습니다 foo_id(여기서 foo_idPK는 foo).
  4. 참조 무결성을 강화하기 위해 FK를 정의 할 때 다음을 사용합니다 tablename_fk_columnname(예 : 추가 예 3 foo_bar_foo_id). 이것은 테이블 이름 / 열 이름 조합이므로 데이터베이스 내에서 고유해야합니다.
  5. PK, FK, 나머지 열을 알파벳순으로 정렬합니다.

더 나은 표준 방법이 있습니까?


나는 가장 먼저 말하고 싶습니다 : 일관성이 있어야합니다.

나는 당신이 당신의 질문에 요약 한 규칙으로 거의 거기에 있다고 생각합니다. 그러나 몇 가지 의견 :

포인트 1과 2는 좋았습니다.

포인트 3-슬프게도 이것이 항상 가능한 것은 아닙니다. foo_bar열이 foo_id있고 테이블 another_foo_id을 참조 하는 단일 테이블에 어떻게 대처할 것인지 생각해보십시오 . 이것을 다루는 방법을 고려할 수도 있습니다. 이것은 약간의 코너 케이스입니다!foofoo_id

포인트 4-포인트 3과 유사합니다. 외래 키 이름 끝에 숫자를 도입하여 둘 이상의 참조 열을 가질 수 있습니다.

포인트 5-나는 이것을 피할 것입니다. 그것은 당신에게 거의 제공하지 않으며 나중에 테이블에서 열을 추가하거나 제거하려고 할 때 두통이 될 것입니다.

다른 요점은 다음과 같습니다.

인덱스 명명 규칙

인덱스 이름 지정 규칙을 도입 할 수도 있습니다. 이는 수행하려는 데이터베이스 메타 데이터 작업에 큰 도움이됩니다. 예를 들어 인덱스를 호출 foo_bar_idx1하거나 foo_idx1전적으로 자신에게 달려 있지만 고려할 가치가 있습니다.

단수 대 복수 열 이름

테이블 이름뿐만 아니라 열 이름에서 복수 대 단일의 가시적 인 문제를 해결하는 것이 좋습니다. 이 주제는 종종 DB 커뮤니티에서 큰 논쟁일으 킵니다 . 나는 테이블 이름과 열 모두에 대해 단수 형태를 고수 할 것입니다. 그곳에. 내가 말했어

여기서 가장 중요한 것은 물론 일관성입니다!


일관성은 모든 명명 표준의 핵심입니다. 논리적이고 일관성있는 한 99 %가 있습니다.

표준 자체는 개인 취향이 매우 뛰어나므로 표준이 마음에 들면 표준으로 실행하십시오.

귀하의 질문에 대답하기 위해-아니오, MySQL에는 선호하는 명명 규칙 / 표준이 없으므로 자신을 굴리는 것이 좋습니다 (그리고 논리적으로 보입니다).


MySQL에는 다소 엄격한 규칙에 대한 간단한 설명이 있습니다.

https://dev.mysql.com/doc/internals/en/coding-style.html

Simon Holywell의 MySQL에 대한 가장 일반적인 코딩 스타일 :

http://www.sqlstyle.guide/

이 질문을 참조하십시오 : SQL에 대해 게시 된 코딩 스타일 지침이 있습니까?


고맙게도 PHP 개발자는 내가 알고있는 일부 개발 커뮤니티와 같이 "낙타 사건의 큰 부분"이 아닙니다.

컨벤션은 괜찮습니다.

그들이 a) 단순하고 b) 일관성있는 한 문제가 없습니다. :)

추신 : 개인적으로, 나는 5) 과잉이라고 생각합니다 ...

참고 URL : https://stackoverflow.com/questions/7899200/is-there-a-naming-convention-for-mysql

반응형