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
oname
, che non sono descrittivi. - Il tipo sottostante di un
serial
èinteger
. Rendi la colonna di riferimentointeger
.
A causa del riferimento alla chiave esternaregion.country_id
può contenere solo valori presenti incountry.country_id
(oNULL
). 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: