Navrhoval bych:
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
);
- Nepoužívejte názvy případů CaMeL. Přečtěte si příručku o identifikátorech.
- Používejte vlastní jména. Nikdy
id
neboname
, které nejsou popisné. - Základní typ
serial
jeinteger
. Vytvořte odkazující sloupecinteger
.
Vzhledem k odkazu na cizí klíčregion.country_id
může obsahovat pouze hodnoty, které jsou přítomny vcountry.country_id
(neboNULL
). Vaše úvahy o hodnotách> 2^31 jsou zbytečné. - Ukázka kratší syntaxe pro definici PK a FK (volitelné). Přečtěte si příručku na
CREATE TABLE
.
Příklad kódu s dalšími radami: