Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

buat kunci asing tanpa kunci utama

Pertanyaan yang sangat bagus. Tidak ada alasan mendasar mengapa batasan referensial tidak boleh merujuk sesuatu selain kunci kandidat. Bahkan ada nama untuk kendala tersebut:Ketergantungan Inklusi. Kunci asing hanyalah jenis dependensi inklusi di mana target kendala kebetulan menjadi kunci kandidat.

Sayangnya SQL tidak memberikan dukungan yang baik untuk dependensi inklusi atau bahkan untuk batasan referensial secara umum. SQL membatasi apa yang disebut batasan KUNCI ASING untuk mereferensikan kolom batasan KUNCI UNIK atau KUNCI UTAMA (meskipun tidak harus kunci kandidat).

Jadi apa yang Anda hadapi adalah batasan SQL yang meragukan. Itu tidak berarti Anda melakukan sesuatu yang sangat salah.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Berikan izin untuk hanya melihat

  2. Bagaimana saya bisa mengonversi bigint (stempel waktu UNIX) ke datetime di SQL Server?

  3. Masalah kinerja intermiten fungsi SQL Server

  4. Tidak dapat terhubung ke SQL Server 2008 menggunakan koneksi ODBC melalui sistem dsn di windows 2012

  5. Pembaruan SQL dengan row_number()