답변:
데이터 유형이 아니라 열의 목적을 설명해야합니다. 이름에 날짜 / 시간 / 타임 스탬프를 포함 할 수 있지만 그 의미도 포함해야합니다. 예를 들어
마지막에 날짜 / 시간 / 타임 스탬프 등을 추가하면 추가가 없으면 다른 열과 충돌 할 때 특히 유용합니다. 예를 들어, 테이블에는 Status 및 StatusTime이 모두 필요할 수 있습니다.
나는 사용한다:
updated_at
둘 중 하나 일 수 있습니다. 그러나 대답은 항상 이름 지정과 마찬가지로 모든 현실적인 모호성을 제거하는 가장 간결한 이름을 사용한다고 생각합니다. 즉, 특정 상황에서 특정 혼동이 발생할 가능성이있는 경우이를 제거하되 필요한 것보다 더 자세한 이름은 사용하지 마십시오.
프로필을 살펴본 결과 SQL Server에서 작업하고 SQL Server에서 TIMESTAMP 데이터 형식은 날짜 또는 시간과 관련이 없으며 행의 버전을 스탬프하는 데 사용됩니다. 이것은 주어진 시점에서 어떤 행이 수정되었는지 식별하는 데 매우 유용합니다.
TIMESTAMP를 사용하는 경우 열 이름을 지정할 필요가 없으며 SQL Server가 "TimeStamp"열을 만듭니다. 그러나 "ROWVERSION"데이터 형식을 사용하는 것이 좋으며이 경우 열 이름을 지정해야합니다.
이와 같은 열에 가장 적합한 이름은 무엇입니까? 그것은 달려 있고 VersionStamp, RV 등과 같은 것을 사용할 것입니다 ... 내가 중요하게 생각하는 것은 이름을 지정하는 방법이 아니라 보드 전체에서 일관되게 사용하고 있다는 것입니다.
HTH
참조 : http://msdn.microsoft.com/en-us/library/ms182776(v=sql.90).aspx
나는 같은 열 이름을 사용하는 것을 발견 create_time
, update_time
그리고 expire_time
그 방법 이름 지정 및 사양 (RSpec에) 올 때 가독성에 연결됩니다.
날짜 스탬프에 DT 접두사를 사용하는 것을 선호합니다. 예를 들면 다음과 같습니다. DTOpened, DTClosed, DTLastAccessed. 이를 통해 주어진 테이블의 모든 날짜 스탬프를 빠르게 참조 할 수 있도록 모든 DTxxxx를 나열 할 수 있습니다.
이미 존재하는 규칙을 사용하는 것을 선호합니다.
유닉스와 프로그래밍 언어의 널리 허용 규칙이 mtime
에 대한 수정 시간
창조 시간 동안
btime
crtime
otime
( "접수"를 추측하지 마십시오).그래서 나를 위해, 내가 선택 mtime
하고, crtime
메타 데이터.
사용자가 제공 한 데이터의 경우 필드가 나타내는 내용으로 이동합니다. 생일이라면 그냥 말합니다 user_birthday
.
정밀도에 관해서는, 어떤 사람들에게는 너무 많은 정밀도에 매달리는 것 같습니다. 당신은 birthdate
타임 스탬프로 저장할 수 있지만 (기술적으로 태어난 날마다) SQL 사양은 높은 정밀도에서 낮은 정밀도로 캐스트되었으므로 적절한 데이터베이스를 사용하는 경우 문제가되지 않습니다. . 앱 자체에서 필요할 때 언제든지자를 수 있습니다. 즉, 나는 결코 가지 않을 것 birthday_date
입니다.
@Evan Carroll이 제안한 것처럼 패턴을 깰 이유가 없으면 기존 표준을 따르십시오.
이것이 새로운 것이라면 가장 적합한 답변을 따를 수 있습니다.
* _on 및 * _by를 사용하면 언제 어디서 누가 행에 대해 일관성을 유지할 수 있습니다.
- created_on & created_by
- updated_on & updated_by
- deleted_on & deleted_by -- soft delete
- approved_on & approved_by