Соглашения об именах PostgreSQL



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

205   2  

2 ответов:

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

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

:

UPDATE my_table SET name = 5;

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

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

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

на самом деле нет официального руководства, потому что нет единого стиля или стандарта.

так долго, как вы понимаете,правила именования идентификаторов вы можете использовать как угодно.

на практике, я считаю, что это проще в использовании lower_case_underscore_separated_identifiers потому что не надо "Double Quote" их везде, чтобы сохранить случай, пробелы и т. д.

если вы хотите назвать свои таблицы и функции "@MyAṕṕ! ""betty"" Shard" Вы были бы свободны сделать это, хотя было бы больно печатать повсюду.

главное, чтобы понять:

  • если двойные кавычки, идентификаторы складываются в нижний регистр, поэтому MyTable,MYTABLE и mytable это все одно и то же, но "MYTABLE" и "MyTable" разные;

  • если не в двойных кавычках:

    идентификаторы SQL и ключевые слова должны начинаться с буквы (a-z, но также буквы с диакритическими знаками и нелатинскими буквами) или подчеркивания (_). Последующие символы в идентификаторе или ключевом слове могут быть буквами, символами подчеркивания, цифрами (0-9) или знаками доллара ($).

  • вы должны дважды цитировать ключевые слова, Если вы хотите использовать их в качестве идентификаторов.

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

    Ничего не найдено.

Добавить ответ:
Отменить.