Saya akan menyarankan:
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
);
- Jangan gunakan nama kasus CaMeL. Baca manual tentang pengenal.
- Gunakan nama yang tepat. Jangan pernah
id
atauname
, yang tidak deskriptif. - Jenis yang mendasari
serial
adalahinteger
. Buat kolom referensiinteger
.
Karena referensi kunci asingregion.country_id
hanya dapat menyimpan nilai yang ada dicountry.country_id
(atauNULL
). Pertimbangan Anda tentang nilai> 2^31 tidak beralasan. - Menunjukkan sintaks yang lebih pendek untuk definisi PK dan FK (opsional). Baca manual di
CREATE TABLE
.
Contoh kode dengan lebih banyak saran: