Jeg vil foreslå:
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
);
- Brug ikke CaMeL-sagnavne. Læs manualen om identifikatorer.
- Brug egennavne. Aldrig
id
ellername
, som ikke er beskrivende. - Den underliggende type af en
serial
erinteger
. Lav referencekolonnen tilinteger
.
På grund af den fremmede nøglereferenceregion.country_id
kan kun indeholde værdier, der er til stede icountry.country_id
(ellerNULL
). Dine overvejelser om værdier> 2^31 er ikke nødvendige. - Demonstrerer kortere syntaks for PK- og FK-definition (valgfrit). Læs manualen på
CREATE TABLE
.
Kodeeksempel med flere råd: