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

Menyiapkan kunci asing dengan tipe data yang berbeda

Sebenarnya masuk akal nih alasannya:

Dalam sebuah tabel, Anda sebenarnya dapat mengatur kolom apa pun sebagai kunci utamanya. Jadi bisa berupa integer, double, string, dll. Meskipun saat ini, kebanyakan kita menggunakan integer atau, belakangan ini, string sebagai kunci utama dalam sebuah tabel.

Karena kunci asing menunjuk ke kunci utama tabel lain, inilah mengapa Anda perlu menentukan tipe data kunci asing. Dan itu jelas membutuhkan tipe data yang sama.

EDIT:

Implementasi SQL lemah dalam kasus ini seperti yang dapat kita lihat:mereka mengizinkan tipe yang kompatibel (INT dan BIG INT, Float atau DECIMAL dan GANDA) tetapi dengan risiko Anda sendiri . Seperti yang dapat kita lihat dalam contoh Anda, di bawah ini.

Namun, norma SQL menentukan bahwa kedua tipe data harus sama. Jika tipe data adalah karakter, mereka harus memiliki panjang yang sama, jika tidak, jika bilangan bulat, mereka harus memiliki ukuran yang sama dan harus keduanya ditandatangani atau keduanya tidak ditandatangani .

Anda dapat melihat sendiri di sini, sebuah bab dari buku MySQL yang diterbitkan pada tahun 2003.

Semoga ini menjawab pertanyaan Anda.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Pemesanan kueri lambat menurut kolom dalam tabel yang digabungkan

  2. Simulasikan CREATE DATABASE JIKA TIDAK ADA untuk PostgreSQL?

  3. 2 Cara Mengembalikan Baris yang Hanya Mengandung Karakter Alfanumerik di PostgreSQL

  4. Apakah Postgres mendukung transaksi bersarang atau otonom?

  5. Optimalkan PostgreSQL untuk pengujian cepat