PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

Kunci asing tipe serial - pastikan selalu diisi secara manual

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 atau name , yang tidak deskriptif.
  • Jenis yang mendasari serial adalah integer . Buat kolom referensi integer .
    Karena referensi kunci asing region.country_id hanya dapat menyimpan nilai yang ada di country.country_id (atau NULL ). 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:



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Fungsi Postgres membuat tetapi tidak mengeksekusi

  2. ST_HexagonGrid vektor geom untuk menemukan semua titik

  3. Mengapa PostgreSQL melakukan pemindaian berurutan pada kolom yang diindeks?

  4. psql:FATAL:peran postgres tidak ada

  5. Postgresql 10 - Konfigurasi paralel