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
idneboname, které nejsou popisné. - Základní typ
serialjeinteger. Vytvořte odkazující sloupecinteger.
Vzhledem k odkazu na cizí klíčregion.country_idmůž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: