sql >> Base de Datos >  >> RDS >> PostgreSQL

Clave externa de tipo serial:asegúrese de que siempre se complete manualmente

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 id o name , que no son descriptivos.
  • El tipo subyacente de un serial es integer . Haga que la columna de referencia sea integer .
    Debido a la referencia de clave externa region.country_id solo puede contener valores que están presentes en country.country_id (o NULL ). 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: