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
idellername, som ikke er beskrivende. - Den underliggende type af en
serialerinteger. Lav referencekolonnen tilinteger.
På grund af den fremmede nøglereferenceregion.country_idkan 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: