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

Memahami Aturan Perbarui dan Hapus untuk Hubungan di SSMS 2008

Kunci asing mendefinisikan hubungan induk - anak antara dua tabel. Kunci utama di tabel induk adalah kunci asing di hingga n baris tabel anak.

Sekarang jika kunci utama di tabel induk mendapat UPDATE, ATURAN UPDATE akan dimulai. Semua baris anak juga diperbarui, disetel ke NULL atau apa pun. Namun praktik terbaik adalah memiliki kunci utama yang TIDAK PERNAH berubah (ID tetap atau semacamnya), jadi itu aturan yang kurang penting.

Yang lebih penting adalah aturan DELETE - bagaimana jika baris induk dihapus (misalnya Order dihapus)? Anda juga dapat menghapus semua baris anak (semua item baris Pesanan) dengan CASCADE DELETE, atau Anda dapat menyetel kunci asingnya ke NULL (mereka tidak memiliki induk lagi) - itu sepenuhnya terserah skenario konkret Anda.

Dalam skenario Pesanan/baris pesanan, mungkin sangat berguna untuk menghapus baris pesanan ketika pesanan lengkap dihapus, tetapi Anda mungkin tidak ingin menghapus produk, hanya karena pesanan yang merujuknya telah dihapus - tidak ada satu jawaban BENAR - itu tergantung pada skenario dan aplikasi Anda.

Marc



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Manajer Koneksi SSIS Tidak Menyimpan Kata Sandi SQL

  2. Serial tanggal dalam SQL?

  3. Potong tanggal menjadi hanya jam / menit

  4. Cara Menemukan Nama Batasan di SQL Server

  5. Di SQL Server, bagaimana cara menghasilkan ID kunci utama peningkatan otomatis yang terdiri dari year , karakter khusus, dan nomor seri berurutan?