PostgreSQL
 sql >> Database >  >> RDS >> PostgreSQL

Chiave esterna di tipo seriale:assicurati che sia sempre compilata manualmente

Suggerirei:

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
);
  • Non utilizzare nomi di casi CaMeL. Leggi il manuale sugli identificatori.
  • Usa nomi propri. Mai id o name , che non sono descrittivi.
  • Il tipo sottostante di un serial è integer . Rendi la colonna di riferimento integer .
    A causa del riferimento alla chiave esterna region.country_id può contenere solo valori presenti in country.country_id (o NULL ). Le tue considerazioni sui valori> 2^31 non sono necessarie.
  • Dimostrazione di una sintassi più breve per la definizione PK e FK (opzionale). Leggi il manuale su CREATE TABLE .

Esempio di codice con più consigli: