Ik stel voor:
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
);
- Gebruik geen CaMeL-case-namen. Lees de handleiding over identifiers.
- Gebruik eigennamen. Nooit
id
ofname
, die niet beschrijvend zijn. - Het onderliggende type van een
serial
isinteger
. Maak de verwijzende kolominteger
.
Vanwege de externe sleutelreferentieregion.country_id
kan alleen waarden bevatten die aanwezig zijn incountry.country_id
(ofNULL
). Uw overwegingen over waarden> 2^31 zijn onterecht. - Demonstratie van kortere syntaxis voor PK- en FK-definitie (optioneel). Lees de handleiding op
CREATE TABLE
.
Codevoorbeeld met meer advies: