Rumah Database Apa itu kunci asing? - definisi dari techopedia

Apa itu kunci asing? - definisi dari techopedia

Daftar Isi:

Anonim

Definisi - Apa yang dimaksud dengan Kunci Asing?

Kunci asing adalah kolom atau grup kolom dalam tabel basis data relasional yang menyediakan tautan antara data dalam dua tabel. Ini bertindak sebagai referensi silang antara tabel karena referensi kunci utama dari tabel lain, sehingga membuat tautan di antara mereka.

Mayoritas tabel dalam sistem basis data relasional mematuhi konsep kunci asing. Dalam database dan gudang data yang kompleks, data dalam domain harus ditambahkan di beberapa tabel, sehingga menjaga hubungan di antara mereka. Konsep integritas referensial berasal dari teori kunci asing.

Kunci asing dan implementasinya lebih kompleks daripada kunci primer.

Techopedia menjelaskan Kunci Asing

Untuk kolom apa pun yang bertindak sebagai kunci asing, nilai terkait harus ada di tabel tautan. Perhatian khusus harus diambil saat memasukkan data dan menghapus data dari kolom kunci asing, karena penghapusan atau penyisipan yang ceroboh dapat menghancurkan hubungan antara dua tabel.

Misalnya, jika ada dua tabel, pelanggan dan pesanan, hubungan dapat dibuat di antara mereka dengan memasukkan kunci asing ke dalam tabel pesanan yang merujuk ke ID pelanggan di tabel pelanggan. Kolom ID pelanggan ada di tabel pesanan dan pelanggan. ID pelanggan di tabel pesanan menjadi kunci asing, mengacu pada kunci utama di tabel pelanggan. Untuk memasukkan entri ke dalam tabel pesanan, batasan kunci asing harus dipenuhi. Upaya memasukkan ID pelanggan yang tidak ada dalam tabel pelanggan gagal, sehingga mempertahankan integritas referensial tabel.

Beberapa tindakan referensial yang terkait dengan tindakan kunci asing termasuk yang berikut:

  • Cascade: Ketika baris dalam tabel induk dihapus, kolom kunci asing yang cocok di tabel anak juga dihapus, membuat penghapusan cascading.
  • Atur Null: Ketika baris yang direferensikan dalam tabel induk dihapus atau diperbarui, nilai kunci asing di baris referensi diatur ke nol untuk mempertahankan integritas referensial.
  • Pemicu: Tindakan referensial biasanya diterapkan sebagai pemicu. Dalam banyak hal tindakan kunci asing mirip dengan pemicu yang ditentukan pengguna. Untuk memastikan eksekusi yang tepat, tindakan referensial yang dipesan terkadang diganti dengan pemicu yang ditentukan pengguna yang setara.
  • Tetapkan Default: Tindakan referensial ini mirip dengan "set null." Nilai kunci asing di tabel anak diatur ke nilai kolom default ketika baris yang direferensikan di tabel induk dihapus atau diperbarui.
  • Batasi: Ini adalah tindakan referensial normal yang terkait dengan kunci asing. Nilai dalam tabel induk tidak dapat dihapus atau diperbarui selama itu disebut oleh kunci asing di tabel lain.
  • Tidak Ada Tindakan: Tindakan referensial ini serupa fungsinya dengan tindakan "membatasi" kecuali bahwa pemeriksaan tidak ada tindakan dilakukan hanya setelah mencoba mengubah tabel.
Apa itu kunci asing? - definisi dari techopedia