SQL Server - Какие правила кодирования / разработки используются вашей командой? - PullRequest
0 голосов
/ 26 апреля 2010

Я задал похожий вопрос на прошлой неделе и не получил очень хорошего ответа, поэтому, возможно, я не правильно сформулировал вопрос.

Я хотел бы знать, какие процессы / политики / правила имеет ваша команда для написания кода T-SQL и схемы базы данных. Вот пара примеров:

1) All foreign key columns should be indexed
2) All primary key columns should be integer Identity
3) All stored procedures/user defined functions need comments
4) No underscores in T-SQL variable names

Это те вещи, которые мне интересны.

Спасибо!

Ответы [ 3 ]

0 голосов
/ 26 апреля 2010

Кажется, что № 1, № 2 и № 3 - довольно плохие правила. Не всегда необходимо индексировать внешний ключ. Не имеет смысла создавать суррогатный ключ, когда существует хороший естественный ключ. Комментарии не компилируются, поэтому они довольно быстро не синхронизируются с кодом и могут обмануть читателя. Они должны использоваться только тогда, когда это абсолютно необходимо. Комментирование для выполнения жесткого и быстрого правила хуже, чем трата времени.

Пункт № 4 довольно хорош. Команды, над которыми я работал, больше интересовались тем, что влияет на качество реализации (например, хорошая обработка ошибок во всех хранимых процедурах, а хранимые процедуры делают только одно)

0 голосов
/ 22 января 2011
  1. Не совсем. У нас нет индексов на некоторых больших таблицах FK, потому что мы никогда не удаляем и не обновляем родительское значение, или плохая избирательность

  2. В основном, но понимаю почему. Тем не менее, я бы использовал сам 3-значный код для таблицы, в которой хранятся коды валют ISO, такие как CHF или GBP. И вам все равно понадобится уникальное ограничение на натуральный ключ

0 голосов
/ 26 апреля 2010

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

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