2017-01-11 9 views
1

오늘은 혼란스러워서 일관된 필드 이름을 갖는 데이터베이스를 수정했습니다.Mysql 명명 규칙 : 필드 이름에 과거 시제를 사용해야합니까?

설명 할 필드의 이름을 지정하려는 경우 : 잠긴 사람의 이름 또는 해당 사람의 이름을 숨 깁니다. 내가 사용해야 할 분야는 무엇입니까?

locked_by_username, lock_by_username 또는 lock_username hidden_by_username, hide_by_username 또는 hidden_username?

현재 시제 또는 과거 시제? 필드 이름 안에 by을 사용해야합니까, 나쁜 행동입니까?

게시물을 게시 한 사용자의 사용자 이름을 설명하기 위해 많은 데이터베이스 사용 post_username 또는 poster_username이 표시됩니다.

그러나 잠금 및 숨기기 동사와 함께, 나는 그것을 설명하기위한 좋은 방법을 볼 수 없습니다.

미안하지만, 이건 정말 바보 같은 질문인데, 영어는 제 모국어가 아닙니다.

+0

볼 수 있습니다,하지만 난 문제를 본 적이 과거 시제 중 한 필드 이름이 모호 아니므로 (트랜스 테이블의 'void_trans'처럼 현재 레코드 공백을 가리킬 수도 있고, 현재 레코드를 무효화 할 수도 있습니다. ... id 값보다는 username을 사용하여 더 많은 문제를 참조 할 수 있습니다. – Uueerdo

+0

@Uueerdo'locking' 또는'hiding'은 의미를 명확하게하지 않으며, 레코드의 상태를 보여주는 것과 같습니다. 필자는 필드 이름을 읽는 것이'poster_id' ~> 숫자 필드,'poster_name' ~> 텍스트 필드와 같은 좋은 습관이라고 말할 수 있다고 생각합니다. 또는'사용자 이름 잠금 '을 의미하는 경우 다음과 같은 다른 의미가 있다고 생각합니다 :'posted_date'와'posting_date' https://community.dynamics.com/gp/f/32/t/106939 – TomSawyer

+0

나는'locked_by'를 선택했습니다. , 짧지 만 여전히 동사와 수동적 의미가 있습니다 –

답변

0

모국어가 Kiswahili 또는 Klingon 또는 영어 (Klingwahili 또는 Klingon)이든 여기에서 원하는 것은 현재 상태를 설명하는 열 이름입니다. 예를 들어 username_holding_lock은 행에 잠금을 보유한 사용자의 이름이 열에 있음을 의미합니다.

누군가 SELECT *을 수행하여 문제를 해결할 수있는 도구를 사용하면 어떤 행에 TomSawyer 값이 표시되면 어떻게 될지 추측 할 수 있습니다.

+0

그래서'lock_by_username','post_by_username'과 같이 현재 시제를 사용해야한다는 뜻입니까? db 필드의 이름을 지정하는 것은 한쪽을 선택하는 것과 같지만 일관성이나 의미를 모두 선택하는 것과 같습니다. 나는'post_username'을 선호하지만'lock_username'이나'hide_username'을 사용하면 말도 안되는 소리가 난다. – TomSawyer

+0

나는 열 이름에 * 동사 *를 피하는 것이 좋다. "locked"는 동사와 비슷하지만, 형용사 인 –

0

나는 이것이 더 많은 의견을 기반으로 생각하지만 나는 일반적으로 낙타의 경우를 사용합니다. 나는 개인적으로 사용합니다 : HiddenByUsername LockedByUsername

좋은 아이디어는 마이크로 소프트 샘플 DB의 일부에서 볼 수 있습니다. 예는 AdventureWorksDB 것 또는 당신은 당신은`locking` 또는`hiding`를 사용할 수 있습니다 여기 http://codeplex.com/SqlServerSamples

+0

처럼, MySQL은 일반적으로 열 이름과 관련하여 대소 문자를 구분하지 않습니다. –