Где я могу найти подробное руководство о соглашениях о присвоении имен PostgreSQL? (имена таблиц по сравнению с Camel-регистром, последовательностями, первичными ключами, ограничениями, индексами, и т.д....)
Что касается имен таблиц, регистра и т.д., то преобладает следующая конвенция:
UPPER CASE
lower_case_with_underscores
UPDATE my_table SET name = 5;
Это не написано в камне, но часть о идентификаторах в нижнем регистре очень рекомендуется, IMO. Postgresql нечувствительно относится к идентификаторам, когда они не заключены в кавычки (он фактически сворачивает их в нижний регистр), и чувствительно к регистру, когда они заключены в кавычки; многие люди не знают об этой идиосинкразии. Используя всегда строчный регистр, вы находитесь в безопасности. В любом случае, допустимо использовать camelCase
или PascalCase
(или UPPER_CASE
), если вы последовательны: либо всегда, либо никогда не кавырять идентификаторы (и это включает создание схемы!).
Я не знаю о большем количестве конвенций или руководств по стилю. Суррогатные ключи обычно создаются из последовательности (обычно с помощью serial
макроса), было бы удобно придерживаться такого именования для этих последовательностей, если вы создаете их вручную (tablename_colname_seq
).
См. также некоторые обсуждения здесь, здесь и (для общего SQL) здесь, все с несколькими связанными ссылками.