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

kunci asing di atas meja dari database yang berbeda

Saya akan menghindari melakukan ini jika saya bisa - bisakah Anda menyimpan kedua tabel dalam satu basis data dan menggunakan FK?

Tabel Induk dan Anak Berada di Basis Data Yang Berbeda.

Meskipun Anda tidak dapat menggunakan kunci asing dalam situasi ini, ada solusi – Anda dapat menggunakan pemicu atau UDF yang dibungkus dengan batasan pemeriksaan. Either way, integritas data Anda tidak sepenuhnya kedap air:jika database dengan tabel induk Anda mogok dan Anda memulihkannya dari cadangan, Anda dapat dengan mudah berakhir dengan yatim piatu.

Hubungan Orang Tua-Anak Didorong oleh Pemicu.

Ada beberapa situasi saat pemicu tidak menyala, seperti:

· Sebuah meja dijatuhkan.

· Sebuah tabel terpotong.

· Pengaturan untuk pemicu bersarang dan/atau rekursif mencegah pemicu diaktifkan.

Pemicu juga mungkin salah. Either way, Anda mungkin berakhir dengan yatim piatu di database 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. SQL 2005 sp_GetAppLock --- Kapan memanggil sp_ReleaseAppLock?

  2. Pengembangan Mesin Virtual Azure untuk Penggunaan SQL Server

  3. Menghapus sejumlah besar data dari SQL Server 2008

  4. Entity Framework - Mendapatkan panjang data dalam kolom teks

  5. 5 tip cepat yang berguna untuk SQL Server Production DBAs