sql >> Databasteknik >  >> RDS >> PostgreSQL

PostgreSQL namnkonventioner

När det gäller tabellnamn, skiftläge, etc, är den rådande konventionen:

  • SQL-nyckelord:UPPER CASE
  • identifierare (namn på databaser, tabeller, kolumner, etc):lower_case_with_underscores

Till exempel:

UPDATE my_table SET name = 5;

Detta är inte skrivet i sten, utan om identifierare med gemener rekommenderas starkt, IMO. Postgresql behandlar identifierare skiftlägesokänsligt när de inte citeras (det viker dem faktiskt till gemener internt) och skiftlägeskänsligt när de citeras; många människor är inte medvetna om denna egenhet. Genom att alltid använda små bokstäver är du säker. Hur som helst, det är acceptabelt att använda camelCase eller PascalCase (eller UPPER_CASE ), så länge du är konsekvent:antingen citera identifierare alltid eller aldrig (och detta inkluderar skapande av schemat!).

Jag känner inte till många fler konventioner eller stilguider. Surrogatnycklar är normalt gjorda av en sekvens (vanligtvis med serial). makro), skulle det vara bekvämt att hålla sig till det namnet för dessa sekvenser om du skapar dem för hand (tablename_colname_seq ).

Se även en del diskussion här, här och (för allmän SQL) här, alla med flera relaterade länkar.

Obs:Postgresql 10 introducerade identity kolumner som en SQL-kompatibel ersättning för seriell .



  1. Lägg till WHERE-satser till SQL dynamiskt / programmatiskt

  2. Bästa sättet att förkorta UTF8-strängen baserat på bytelängd

  3. Oracle-proceduren returnerar inte resultat när den körs från skriptuppgiften på SSIS

  4. Använda fönsterfunktioner i en uppdateringssats