Sugeriría:
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
);
- No utilice nombres de casos CaMeL. Lea el manual sobre identificadores.
- Utilice nombres propios. Nunca
idoname, que no son descriptivos. - El tipo subyacente de un
serialesinteger. Haga que la columna de referencia seainteger.
Debido a la referencia de clave externaregion.country_idsolo puede contener valores que están presentes encountry.country_id(oNULL). Sus consideraciones sobre los valores> 2^31 son innecesarias. - Demostración de una sintaxis más corta para la definición de PK y FK (opcional). Lea el manual en
CREATE TABLE.
Ejemplo de código con más consejos: