sql >> Database >  >> RDS >> PostgreSQL

PostgreSQL-naamgevingsconventies

Met betrekking tot tabelnamen, hoofdletters, enz. is de gangbare conventie:

  • SQL-zoekwoorden:UPPER CASE
  • ID's (namen van databases, tabellen, kolommen, enz.):lower_case_with_underscores

Bijvoorbeeld:

UPDATE my_table SET name = 5;

Dit is niet in steen geschreven, maar het stukje over identifiers in kleine letters wordt sterk aanbevolen, IMO. Postgresql behandelt identifiers hoofdletterongevoelig wanneer ze niet worden aangehaald (het vouwt ze in feite intern naar kleine letters), en hoofdlettergevoelig wanneer ze worden aangehaald; veel mensen zijn zich niet bewust van deze eigenaardigheid. Als u altijd kleine letters gebruikt, bent u veilig. Hoe dan ook, het is acceptabel om camelCase te gebruiken of PascalCase (of UPPER_CASE ), zolang u maar consequent bent:citeer-ID's altijd of nooit (en dit geldt ook voor het maken van schema's!).

Ik ken niet veel meer conventies of stijlgidsen. Surrogaatsleutels worden normaal gesproken gemaakt van een reeks (meestal met de serial macro), zou het handig zijn om bij die naamgeving voor die reeksen te blijven als u ze met de hand maakt (tablename_colname_seq ).

Zie ook een discussie hier, hier en (voor algemene SQL) hier, allemaal met verschillende gerelateerde links.

Opmerking:Postgresql 10 introduceerde identity kolommen als een SQL-compatibele vervanging voor serieel .



  1. Wat is een kandidaatsleutel in databaseontwerp?

  2. Hoe importeer ik modules of installeer ik extensies in Postgres?

  3. StarJoinInfo in uitvoeringsplannen

  4. ORA-28040:Geen overeenkomende uitzondering voor authenticatieprotocol