Kiedy chcę utworzyć pola znaczników czasu (lub inne pola stylu daty / godziny), jaki jest najlepszy sposób na ich nazwanie? Czy powinienem po prostu wstawić record_timestamp?
naming-convention
garik
źródło
źródło
Co powiesz
xyz_at
na atimestamp
ixyz_on
nadate
pole - np.start_at
Lubstart_on
?Zwykle unikałbym umieszczania typu danych w nazwie pola - znacznie lepiej, jeśli możesz wywnioskować, co musisz wiedzieć o typie z nazwy dowolnego pola (pole o nazwie
description
prawdopodobnie nie będzieinteger
) - ale będąc w stanie powiedzieć różnica międzytimestamp
a adate
jest często pomocna.źródło
Używam:
źródło
updated_at
moógłby być również. Myślę jednak, że odpowiedzią jest, jak zawsze w przypadku nazewnictwa, użycie najbardziej zwięzłej nazwy, która usuwa wszelką realistyczną dwuznaczność. Tj. Jeśli w określonym kontekście istnieje możliwość pewnego zamieszania, wyeliminuj go, ale nie używaj nazw, które są bardziej szczegółowe, niż jest to wymaganeSpojrzałem na twój profil i mówi, że pracujesz z SQL Server, a typ danych TIMESTAMP w SQL Server nie ma nic wspólnego z datą ani godziną, a jego wersja służy do stemplowania wierszy. Jest to bardzo przydatne do identyfikacji, które wiersze zostały zmodyfikowane od określonego momentu.
Jeśli używasz TIMESTAMP, nie musisz określać nazwy kolumny, a SQL Server utworzy dla Ciebie kolumnę „TimeStamp”. Zalecane jest jednak użycie typu danych „ROWVERSION” iw tym przypadku należy podać nazwę kolumny.
Jaka jest najlepsza nazwa takiej kolumny? To zależy, i użyłbym czegoś takiego jak VersionStamp, RV itp. Uważam, że ważne jest NIE to, jak je nazywasz, ale czy używasz tego konsekwentnie na całym forum.
HTH
Ref: http://msdn.microsoft.com/en-us/library/ms182776(v=sql.90).aspx
http://msdn.microsoft.com/en-us/library/ms182776.aspx
źródło
Okazało się, że stosując takie jak nazwy kolumn
create_time
,update_time
iexpire_time
prowadzi do lepszej czytelności, jeśli chodzi o metody nazewnictwa i specyfikacje (RSpec).źródło
Wolę używać prefiksu DT dla znaczników daty. Na przykład: DTOpened, DTClosed, DTLastAccessed. To pozwala mi wymienić wszystkie DTxxxx w celu szybkiego odniesienia do wszystkich znaczników daty w danej tabeli.
źródło
Pracuję dla Texas Instruments i na swoich systemach używają xxxx_ dttm
źródło
Wolę stosować konwencje, które już istnieją.
Unix i języki programowania mają powszechnie przyjętą konwencję
mtime
dotyczącą czasu modyfikacjiNa czas tworzenia
btime
crtime
otime
(nie pytaj, zgadując „tworzenie”).Więc dla mnie wybieram
mtime
icrtime
dla metadanych.W przypadku danych dostarczonych przez użytkownika używam tego, co reprezentuje to pole. Jeśli to urodziny, po prostu mówię
user_birthday
.Jeśli chodzi o precyzję, dla niektórych wydaje się, że zawieszają się one na zbyt dużej precyzji. Możesz zapisać go
birthdate
jako znacznik czasu (po tym, jak technicznie narodziłeś się o danej porze dnia), ale specyfikacja SQL ma rzutowania z wyższej precyzji na niższą, więc jeśli używasz porządnej bazy danych, nie powinno to stanowić problemu . W samej aplikacji możesz zawsze obciąć w razie potrzeby. To znaczy, nigdy bym nie poszedłbirthday_date
.źródło
Użyłbym znaczącego prefiksu i _TSMP jako sufiksu, np. CREATION_TSMP lub LAST_UPDATE_TSMP
źródło
Aby zachować spójność między nazwami kolumn, sugerowałbym zastosowanie następującej składni:
źródło
Jak sugeruje @Evan Carroll, postępuj zgodnie z istniejącymi standardami, chyba że masz silny powód, by złamać ten schemat.
Jeśli jest to coś nowego, możesz zastosować się do odpowiedzi, która najbardziej Ci odpowiada.
Używam * _on i * _by, ponieważ pomaga mi zachować spójność w przypadku, gdy i kto z wiersza:
źródło