PostgreSQL conventions de nommage
Où puis-je trouver un manuel détaillé sur PostgreSQL conventions de nommage? (les noms de table vs chameau cas, les séquences, les clés primaires, les contraintes, index, etc...)
- Eh bien, si nous allons aller un peu plus loin et chercher dans le générique de nommage convension je vous recommande vivement de vérifier cette réponse: stackoverflow.com/questions/4702728/...
Vous devez vous connecter pour publier un commentaire.
Concernant les tables noms de, cas, etc, la forte prévalence de la convention est:
UPPER CASE
lower_case_with_underscores
Par exemple:
Ce n'est pas écrit dans la pierre, mais le peu sur identificateurs en minuscules est fortement recommandé, de l'OMI. Postgresql traite des identificateurs cas insensiblement lorsqu'il n'est pas cité (en fait, il les plie en minuscules, à l'interne), et en cas de tact quand cité; beaucoup de gens ne sont pas conscients de cette idiosyncrasie. En utilisant toujours en minuscules, vous êtes en sécurité. De toute façon, il est acceptable d'utiliser
camelCase
ouPascalCase
(ouUPPER_CASE
), aussi longtemps que vous êtes cohérent: soit des identificateurs de devis toujours ou jamais (et cela inclut la création du schéma!).Je ne suis pas au courant de beaucoup plus de conventions ou de guides de style. Les clés de substitution sont normalement fabriqués à partir d'une séquence (généralement avec la
série
macro), il serait commode de s'en tenir à cette appellation pour ces séquences, si vous créez à la main (tablename_colname_seq
).Voir aussi la discussion ici, ici et (pour SQL) ici, le tout avec plusieurs liens connexes.
regclass
ouREGCLASS
etto_timestamp(0)
ouTO_TIMESTAMP(0)
)? Je suppose que nous considérons les types et les fonctions comme des identificateurs, et donc en minuscules?Il n'est pas vraiment officielle manuel, car il n'y a pas un seul style ou d'une norme.
Aussi longtemps que vous comprenez les règles de l'identificateur de nommage vous pouvez utiliser ce que vous voulez.
Dans la pratique, je le trouve plus facile à utiliser
lower_case_underscore_separated_identifiers
parce qu'il n'est pas nécessaire de"Double Quote"
partout pour préserver cas, espaces, etc.Si vous vouliez le nom de vos tables et fonctions
"@MyAṕṕ! ""betty"" Shard$42"
vous seriez libre de le faire, mais il serait douleur à type partout.Les principales choses à comprendre sont:
Sauf entre guillemets, les identificateurs sont des cas plié à bas-de-casse, donc
MyTable
,MYTABLE
etmytable
sont tous de la même chose, mais"MYTABLE"
et"MyTable"
sont différents;Sauf entre guillemets:
Vous devez double-cite les mots-clés si vous souhaitez les utiliser comme des identificateurs.
Dans la pratique, je recommande fortement que vous ne pas utilisation mots-clés comme identificateurs. Au moins éviter de mots réservés. Juste parce que vous pouvez nommer une table
"with"
ne signifie pas que vous devriez.