Соглашения об именах баз данных от Microsoft?

Я нашел Принципы именования из MSDN, но является ли это ориентиром для базы данных MSSQL от Microsoft?

Ответ 1

Соглашения об именах, используемые в базе данных SQL Server AdventureWorks, демонстрируют множество лучших практик с точки зрения стиля.

Подводя итог:

  • Имена объектов легко понятны
  • Названия таблиц не являются плюрализованными (Таблица "Пользователь" не "Пользователи" )
  • Сокращений мало, но разрешено (то есть Qty, Amt и т.д.).
  • PascalCase используется исключительно с исключение определенных имен столбцов (т.е. строка строк)
  • Нет подчеркиваний
  • Разрешены определенные ключевые слова (т. Имя)
  • Сохраненные процедуры предваряются "УСП"
  • Функции предваряются "ufn"

Здесь вы можете найти более подробную информацию:

Одно предостережение: соглашения об именах баз данных могут быть весьма противоречивыми, и большинство разработчиков баз данных, с которыми я встречался, имеют личную заинтересованность в их стиле. Я слышал горячие споры о том, следует ли называть таблицу "OrderHeader" или "OrderHeaders".

Ответ 2

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

Что касается именования хранимых процедур - do not префикс их с помощью "sp_" Вы можете узнать больше о том, почему в этой ссылке:

"Не префикс хранимых процедур с sp_, потому что этот префикс зарезервирован для идентификации системных процедуры".

Ответ 3

Я не знаю, что означает "лучшие практики с точки зрения стиля" в ответе @8kb (на момент написания). Конечно, некоторые из перечисленных элементов ( "Названия таблиц не являются плюрализованными", "Нет подчеркиваний" и т.д.) - это просто выбор стиля, который явно субъективен. Я бы подумал, что личными предпочтениями руководства по документации будет самый главный фактор здесь.

Что касается эвристики в SQL вообще (в отличие от проприетарного SQL, такого как T-SQL), есть только одна книга по теме: Joe Celko SQL стиль программирования. Многие из вариантов для базы данных SQL Server AdventureWorks противоречат рекомендациям Celko.

Соглашение об именовании Celko основано на международном стандарте ISO 11179, например. указывает, что для разделения элементов в имени следует использовать разделительный символ (например, подчеркивание). Другие варианты стиля аналогичным образом подкрепляются исследованиями, например. используя исключительно строчные буквы для имен столбцов, что помогает сканировать человеческим глазом. Несомненно, есть и субъективные личные предпочтения, но они основаны на многолетнем опыте в этой области.

С другой стороны, в документах SQL Server в последние годы все улучшилось, например. Ключевые слова SQL заглавные, полуколоны для разделения заявлений и т.д. Приключенческие работы - это значительное улучшение в отношении Northwind и пабов. Теперь почему не может функция сценариев в Management Studio выплюнуть код, который немного легче на глаза?!