sql >> Databasteknik >  >> RDS >> PostgreSQL

Främmande nyckel av seriell typ - se till att alltid fyllas i manuellt

Jag skulle föreslå:

CREATE TABLE country(
    country_id serial PRIMARY KEY
  , country    text NOT NULL
);

CREATE TABLE region(
    region_id  serial PRIMARY KEY
  , country_id int NOT NULL REFERENCES country
  , region     text NOT NULL
);
  • Använd inte CaMeL-casenamn. Läs manualen om identifierare.
  • Använd egennamn. Aldrig id eller name , som inte är beskrivande.
  • Den underliggande typen av en serial är integer . Gör referenskolumnen integer .
    På grund av den främmande nyckelreferensen region.country_id kan bara innehålla värden som finns i country.country_id (eller NULL ). Dina överväganden om värden> 2^31 är inte påkallade.
  • Demonstrerar kortare syntax för PK- och FK-definition (valfritt). Läs manualen på CREATE TABLE .

Kodexempel med fler råd:



  1. Oracle:hur UPSERT (uppdatera eller infoga i en tabell?)

  2. PostgreSQL återkallar behörigheter från pg_catalog-tabeller

  3. DAYNAME() Exempel – MySQL

  4. COPY kommando och nyradsfel