Подтвердить что ты не робот

Соглашение о названии базы данных: столбец DATETIME

Каково ваше соглашение об именах для столбцов DATETIME (в моем случае, используя MS SQL Server)

Для столбца, который хранится при создании строки CreatedDatetime, имеет смысл или LastModifiedDatetime.

Но для простой таблицы, скажем, называется Event, вы бы создали столбцы:

EventID,                 // Primary key
EventDatetime,           // When the event is happening
EventEnabled             // Is the event is on

или

ID,                      // Primary key
Datetime,                // When the event is happening
Enabled                  // Is the event is on

Если вы не использовали ни одно соглашение: укажите имя столбца, которое вы использовали.

4b9b3361

Ответ 1

Обычно я называю столбцы DATETIME как ACTION_WORD_on: created_on, completed_on, etc.

ACTION_WORD определяет, что представляет столбец, а суффикс (_on) указывает, что столбец представляет время.

Другие суффиксы (или даже префиксы) могут использоваться для указания типа данных (_at, _UTC, when_ и т.д.).

Будь описательным. Будьте последовательны.

Ответ 2

Зачем называть это EventDateTime, когда вы также не используете EventIDInt или EventEnbaledVarchar? Зачем использовать тип данных в имени столбца? (Мое правило состоит в том, что если они обращаются к данным в таблице, они лучше знают, что представляют собой типы данных столбцов, потому что иначе они не знают, с чем они работают.)

В эти дни я предпочитаю то, что я называю дескриптивными именами столбцов, например:
CreateDate
DateCreated
CreatedAt
CreatedOn (если нет временной части)
AddedOn (может быть, семантически более подходящим, в зависимости от данных)

Выбор "метки" и постоянное использование его в каждой таблице, требующей наличия таких данных, также является хорошей вещью. Например, наличие столбца "CreateDate" в (почти) каждой таблице в порядке, потому что тогда вы всегда будете знать, какой столбец в каждой таблице скажет вам, когда была создана строка. Не подвешивайте аргумент "но все они должны иметь уникальные имена"; если вы пишете запрос, вам лучше знать, с каких таблиц вы вытаскиваете каждый столбец.

- Edit -

Я только что вспомнил исключение, которое я сделал в прошлом. Если столбец DateTime (или SmallDateTime) не будет содержать временную часть, просто дату, как "напоминание", я бы поставил "Дата" в имени столбца, например "BilledDate" вместо "Billed" или "BilledOn". Это не должно применяться при отслеживании при добавлении строк, так как вам также потребуется время.

Ответ 3

Имя должно сообщить, что бизнес-смысл данных находится в столбце... "DateTime" - это просто тип данных. Это когда произошло событие? когда он был записан? когда он был сохранен в БД? Когда данные были в последний раз модифицированы?

Если он эффективно передает смысл того, что содержит столбец, имя прекрасное. "DateTime" не подходит. "EventDateTime" только немного лучше. Если таблица содержит события, то любое поле datetime в таблице является событием EventDateTime (оно записывает некоторое время datetime, связанное с событием). Хотя если в таблице "События" есть только один столбец datetime, тогда EventDateTime подразумевает, что это произошло, так что, возможно, это нормально.

Выберите или выберите имя, чтобы он передавал значение значения...

Данный отредактированный вопрос, некоторые предлагаемые имена могут быть:

Возникло, или OccurredDateTime, или OccurredUTC, (или OccurredLocal), или, если события в вашей бизнес-модели имеют продолжительность, то, возможно, StartedUtc, или BeganUtc, или InitiatedUtc и т.д.

Ответ 4

Я предпочитаю создавать столбцы во второй форме - хотя мне, вероятно, понадобится более описательное имя, чем Datetime, в зависимости от того, каким будет его использование.

Изменить: в такой ситуации я мог бы пойти с гибридом для этого единственного поля и сделать его "EventDate", "StartDate" или что-то подобное.

Ответ 5

Я бы не использовал типы данных для имен столбцов (столбец DATETIME, называемый Datetime), поэтому я проголосую за первый вариант.

Ответ 6

Я бы назвал столбец HappensAt, потому что строка описывает событие и атрибут (столбец) в деталях вопроса, когда это происходит. Как правило, я пытаюсь назвать мои таблицы уникальными существительными и моими атрибутами фразами, которые можно использовать для чтения, например

tablename (ключ) columname columnvalue

Поэтому я мог бы сказать

событие (131) HappensAt 21 декабря 2009 г., 21:30

Однако это не является неприкосновенным правилом. Я все равно записываю дату, когда кто-то родился в столбце BirthDate, а не в столбце WasBornOn. Вы должны учитывать общие обычаи естественного языка, когда вы называете вещи. Стремитесь к естественному использованию, а остальное будет следовать. Следите за правилами слепо, и ваши читатели будут бороться за понимание.

Ответ 7

здесь есть много хороших ответов, поэтому я не буду дублировать. Но помните, что никогда не называют столбец зарезервированным словом!!!

также мне очень нравятся имена столбцов в опции 1.

Ответ 8

Возможно, это только я, но я не верю, что вы должны называть свои столбцы типами данных, ни реплицировать имя таблицы по всем полям.

Ответ 9

Я бы скорее использовал что-то вроде "WhenRaisedUtc".