sql >> Database >  >> RDS >> PostgreSQL

Externe sleutel van serieel type - zorg ervoor dat deze altijd handmatig wordt ingevuld

Ik stel voor:

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
);
  • Gebruik geen CaMeL-case-namen. Lees de handleiding over identifiers.
  • Gebruik eigennamen. Nooit id of name , die niet beschrijvend zijn.
  • Het onderliggende type van een serial is integer . Maak de verwijzende kolom integer .
    Vanwege de externe sleutelreferentie region.country_id kan alleen waarden bevatten die aanwezig zijn in country.country_id (of NULL ). Uw overwegingen over waarden> 2^31 zijn onterecht.
  • Demonstratie van kortere syntaxis voor PK- en FK-definitie (optioneel). Lees de handleiding op CREATE TABLE .

Codevoorbeeld met meer advies:



  1. ODBC gebruiken met Salesforce en OneLogin Single Sign On (SSO)

  2. Waarom werkt mijn BOB niet?

  3. MySQL en Splunk - Selecteren en meedoen

  4. Ingewikkelde mySQL-query op php-pagina