Соглашения о присвоении имен PostgreSQL

Где я могу найти подробное руководство о соглашениях о присвоении имен PostgreSQL? (имена таблиц по сравнению с Camel-регистром, последовательностями, первичными ключами, ограничениями, индексами, и т.д....)

172
задан Tod Birdsall 15 June 2015 в 19:48
поделиться

1 ответ

Что касается имен таблиц, регистра и т.д., то преобладает следующая конвенция:

  • Ключевые слова SQL: UPPER CASE
  • имена (идентификаторы): lower_case_with_underscores

Например:

UPDATE my_table SET name = 5;

Это не написано в камне, но часть о идентификаторах в нижнем регистре очень рекомендуется, IMO. Postgresql нечувствительно относится к идентификаторам, когда они не заключены в кавычки (он фактически сворачивает их в нижний регистр), и чувствительно к регистру, когда они заключены в кавычки; многие люди не знают об этой идиосинкразии. Используя всегда строчный регистр, вы находитесь в безопасности. В любом случае, допустимо использовать camelCase или PascalCase (или UPPER_CASE), если вы последовательны: либо всегда, либо никогда не кавырять идентификаторы (и это включает создание схемы!).

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

См. также некоторые обсуждения здесь, здесь и (для общего SQL) здесь, все с несколькими связанными ссылками.

222
ответ дан 23 November 2019 в 20:40
поделиться
Другие вопросы по тегам:

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