Конвенция имени базы данных: столбец DATETIME

Существует решение, работающее на все числа, дайте ему попытку. выражение дано ниже.

Math.round((num + 0.00001) * 100) / 100. Try Math.round((1.005 + 0.00001) * 100) / 100 and Math.round((1.0049 + 0.00001) * 100) / 100

я недавно протестировал каждое возможное решение и наконец достиг вывода после попытки почти 10 раз. Вот снимок экрана вопроса, поднятого во время caculations, Screen Capture.

голова к amount поле, Это возвращается почти бесконечный. Я дал попытку toFixed() метод, но он не работает на некоторые случаи (т.е. попытка с PI) и наконец полученное s решение, данное выше.

42
задан Peter Bridger 4 September 2009 в 14:36
поделиться

9 ответов

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

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

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

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

81
ответ дан 26 November 2019 в 23:22
поделиться

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

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

13
ответ дан 26 November 2019 в 23:22
поделиться

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

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

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

- Изменить -

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

14
ответ дан 26 November 2019 в 23:22
поделиться

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

3
ответ дан 26 November 2019 в 23:22
поделиться

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

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

2
ответ дан 26 November 2019 в 23:22
поделиться

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

Изменить: в таком виде. В некоторых ситуациях я мог бы пойти с гибридом для этого единственного поля и сделать его «Дата события», «Дата начала» или что-то подобное.

4
ответ дан 26 November 2019 в 23:22
поделиться

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

2
ответ дан 26 November 2019 в 23:22
поделиться

Я бы, вероятно, использовал что-то вроде « WhenRaisedUtc ».

1
ответ дан 26 November 2019 в 23:22
поделиться

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

имя таблицы (ключ) имя столбца значение столбца

Таким образом, я мог бы тогда сказать

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

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

2
ответ дан 26 November 2019 в 23:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: