것 같다. "나는이 뒤에 이유에 대해 궁금합니다.의 장점은 무엇장점"는이 같은 외래 키의 이름에 접미사가
이것은 대단히 의견을 기반으로하지만, 나는 그것을 더 정확하게 컬럼의 내용을 설명 말할 것
것 같다. "나는이 뒤에 이유에 대해 궁금합니다.의 장점은 무엇장점"는이 같은 외래 키의 이름에 접미사가
이것은 대단히 의견을 기반으로하지만, 나는 그것을 더 정확하게 컬럼의 내용을 설명 말할 것
posts(id, user, title, text)
간단한 이상 posts(id, user_id, title, text)
?. 1902010
은 사용자가 아닌, 그것은 사용자 ID입니다. user
이 같은 잘못된 것입니다 그것을 호출 전화로 title
란 title_id
.
"1902010은 사용자가 아닙니다."- 그러나 MySQL 데이터베이스와 관련하여 명확하지는 않습니까? –
@EmanuilRusev 반드시 그렇지는 않습니다. '{ "id": 1902010, "name": "ceejayoz"}'행에있는 내용이 'user'와 같은 컬럼에 들어있는 데이터베이스를 보았습니다. – ceejayoz
다음과 같은 명명 규칙을 따르면 큰 이점이 있습니다. 이는 잘못된 SQL 문을 "틀리게 보입니다".
이("잘못된 코드가 잘못 봐 만들기"Spolsky 조엘의이 블로그 게시물은 SQL을 언급하지 않습니다,하지만 난 당신이 물었다 SQL 명명 규칙에 대한 조엘이 신봉 같은 원칙에 따라 다음 생각합니다.)
http://www.joelonsoftware.com/articles/Wrong.html 규범 가입
는 외래 키 키 차 -입니다.
FROM user
JOIN post
ON post.user_id = user.id
:
우리가 기본 키로 id
을 사용하는 이름 지정 규칙을 따르고, (외래 키 열 이름의 끝에 _id
와) tablename_id
를 사용
id
이고 외래 키 열은
<referencedtable>_id
또는 때로는
<referencedtable>_<role>_id
의 이름을 갖습니다. 이 SQL을 보면
는
, 우리는 post
테이블에 user_id
열이 user
테이블의 id
컬럼에 대한 외래 키 참조가 기대합니다. 우리가 종교적으로이 스타일 명명 규칙을 따를 때, 그 패턴을 따르지 않는 SQL은 단지 "틀린 것"으로 보입니다. 예를 들어
는 비교 :
FROM somedoohickey
JOIN gibberish
ON troubador = minstrel
에 :
FROM somedoohickey s
JOIN gibberish g
ON g.id = s.gibberish_id
두
동등하게 유효한 SQL 될 수있다. 그러나 두 번째 패턴은 훨씬 더 많은 정보를 독자에게 전달합니다. 우리가 명명 규칙에 익숙해지면, 우리는 "잘못된"것으로 보입니다. 즉, 뭔가 잘못 될 수도 있습니다.FROM somedoohickey s
JOIN gibberish g
ON g.id = s.undecipherable_id
뭔가 제대로 보이지 않습니다 :
는 것을 비교. 또는 심지어
FROM somedoohickey s
JOIN gibberish g
ON g.id = s.gibberish
다시 말해서, 뭔가 이상하게 보입니다.
모든 명명 규칙의 가장 큰 장점은 손쉬운 학습입니다.나중에 따라 오는 관리자는 데이터가 무엇을 의미 하는지를 알아야 할 것이며, 그 중 일부는 잠시 깨닫지 않고 잠정적으로 진행될 것입니다. "Id"접미사가 붙은 외래 키를 갖는 것은 미래의 조사자가 어떤 칼럼이 외래 키인지 아닌지를 한 눈에 알 수있게 도와줍니다.
일부 상점에서는 밑줄 대신 접미사를 사용하여 접미사를 줄기에서 돋보이게 만듭니다.
일부 상점에는 기본 키 열 이름에 ID 접미사가 포함됩니다. 메타 데이터 쿼리를 통해 외래 키가 참조하는 모든 기본 키를 찾을 수 있다는 이점이 있습니다. 명명 된 도메인을 현명하게 사용하면 동일한 작업을 수행 할 수 있습니다.
일부 상점에서는 고아 외래 키를 방지하기위한 참조 제약 조건을 포함하여 모든 또는 거의 모든 외래 키가 데이터 정의에서 이와 같이 선언됩니다. 이것은 조사자를 도울뿐만 아니라 실질적인 결과를 낳습니다.
그러나 시스템을 더 배우고 더 쉽게 액세스 할 수있게 만드는 가장 중요한 점은 일관성입니다. 컨벤션이 일관되게 준수되지 않는다면 컨벤션이 전혀 없다는 것이 더 혼란 스러울 수 있습니다.
0120-13-0375 외부 이름에 대한 명명 규칙 – sergio
컴퓨터 과학에는 하드 무언가가 두 가지 있습니다. 캐시 무효화, 이름 지정 및 개별 단위 울타리 오류 게시. – spencer7593
세계에는 세 종류의 사람들이 있습니다. 셀 수있는 방법을 알고있는 사람과 그렇지 않은 사람 –