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
idatauname, yang tidak deskriptif. - Jenis yang mendasari
serialadalahinteger. Buat kolom referensiinteger.
Karena referensi kunci asingregion.country_idhanya 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: