Автоматически сгенерированные значения для столбцов в базе данных - PullRequest
1 голос
/ 09 марта 2010

Рекомендуется ли инициализировать столбцы, для которых мы можем знать их значения в базе данных, например столбцы идентификаторов типа уникальный идентификатор могут иметь значение по умолчанию (NEWID ()) или столбцы, в которых показана дата создания записи, могут иметь значение по умолчанию (GETDATE ()).

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

Я также думаю об использовании классов linq-to-sql и установке для свойства "Auto Generated Value" этих столбцов значения true.

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

Ответы [ 3 ]

3 голосов
/ 09 марта 2010

Да, я бы определенно рекомендовал назначать разумные значения по умолчанию для столбцов вашей таблицы.

Если у вас есть, например, некоторые поля BIT, которые в большинстве случаев равны «0» или «1», если указать значение по умолчанию, убедитесь, что они инициализированы в наиболее вероятном состоянии, и только если вам действительно нужно их изменить, вы должны что-то сделать сами. 1003 *

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

Значение по умолчанию также вступает в силу только тогда, когда вы ВСТАВЛЯЕТЕ что-то, так что, как только у вас уже есть строка, вы можете изменить ее как угодно, без проблем.

Кроме того, значения по умолчанию помогают вам определять ограничения NOT NULL - в конце концов, если вы установите столбец в значение NOT NULL, вы должны убедиться, что в нем всегда хранится действительное значение. Если вы определили значение по умолчанию и случайно забыли установить значение в INSERT, значение по умолчанию будет применяться и удовлетворять ограничению NOT NULL.

В целом: да, значения по умолчанию - это «хорошо»! Используйте их там, где это уместно и где они имеют смысл !!

1 голос
/ 09 марта 2010

Лично для поля, которое вам редко требуется, и NULL является опцией, вы должны всегда устанавливать в столбце разрешение NULL и не устанавливать для него значения по умолчанию в вашей БД или коде. Причина, по которой я это говорю, заключается в том, что NULL иногда имеет семантическое значение, когда он говорит, что ничего не было установлено ранее. Например, я работал в медицинской области и взял в качестве примера BloodType, оставив его как NULL, что означает, что я не собрал эту информацию и не использую ее в каком-либо уравнении или диагнозе, в отличие от того, что вы дали ей случайное значение и накормили расчеты, и вы можете получить неожиданные результаты. То же самое может быть со строкой, как для наблюдения за Условием, NULL может означать, что решение о наблюдении никогда не принималось, в отличие от значения по умолчанию, которое может быть неверно интерпретировано в более поздний день.

0 голосов
/ 09 марта 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...