Бих предложил:
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
);
- Не използвайте CaMeL имена на големи букви. Прочетете ръководството за идентификаторите.
- Използвайте правилни имена. Никога
id
илиname
, които не са описателни. - Основният тип на
serial
еinteger
. Направете препращащата колонаinteger
.
Поради референтния външен ключregion.country_id
може да съдържа само стойности, които присъстват вcountry.country_id
(илиNULL
). Вашите съображения относно стойности> 2^31 са ненужни. - Демонстриране на по-кратък синтаксис за PK и FK дефиниция (по избор). Прочетете ръководството за
CREATE TABLE
.
Примерен код с още съвети: