Kamis, 02 Maret 2023

Foreign Key Constraint Database

 Foreign key constraint pada databases adalah sebuah aturan yang digunakan untuk menghubungkan dua tabel dalam sebuah database. Constraint ini memungkinkan kita untuk membuat relasi antara dua tabel dengan menggunakan kolom yang memiliki nilai yang sama di antara kedua tabel tersebut. Kolom yang digunakan sebagai foreign key pada satu tabel, biasanya memiliki nilai primary key pada tabel yang terkait.

Cara kerja foreign key constraint pada databases adalah sebagai berikut:

  1. Saat membuat tabel baru, kita dapat menambahkan kolom yang akan digunakan sebagai foreign key pada tabel tersebut.
  2. Setelah kolom yang akan digunakan sebagai foreign key ditentukan, kita dapat menambahkan foreign key constraint pada tabel tersebut. Foreign key constraint biasanya didefinisikan sebagai bagian dari pernyataan CREATE TABLE atau ALTER TABLE.
  3. Saat kita menambahkan foreign key constraint, kita harus menentukan tabel dan kolom mana yang menjadi primary key. Constraint ini memastikan bahwa nilai dalam kolom foreign key di tabel ini sesuai dengan nilai primary key di tabel lain yang terkait.
  4. Saat kita menambahkan data ke dalam tabel yang memiliki foreign key, kita harus memastikan bahwa nilai foreign key yang kita masukkan sudah ada dalam tabel yang terkait. Jika kita mencoba memasukkan nilai foreign key yang tidak ada dalam tabel terkait, database akan memberikan pesan kesalahan.
  5. Jika kita ingin menghapus data dari tabel yang memiliki foreign key, constraint ini akan memastikan bahwa data dalam tabel terkait juga dihapus atau diperbarui dengan benar. Jika kita mencoba menghapus data dari tabel yang memiliki nilai foreign key yang terkait dengan data di tabel lain, database akan memberikan pesan kesalahan.
  6. Foreign key constraint juga memastikan integritas data dalam sebuah database. Constraint ini mencegah penghapusan atau perubahan data yang dapat merusak integritas tabel dan hubungan antara tabel dalam database. 
Manfaat Foreign Key Constraint Database

Manfaat dari foreign key constraint pada databases adalah sebagai berikut:
  • Meningkatkan integritas data: Dengan menggunakan foreign key constraint, database dapat memastikan bahwa setiap nilai yang diinput ke dalam kolom foreign key sesuai dengan nilai primary key di tabel terkait. Hal ini dapat memastikan bahwa data dalam database lebih konsisten dan akurat.
  • Memperkuat hubungan antara tabel: Foreign key constraint memungkinkan kita untuk membuat hubungan yang kuat antara tabel dalam sebuah database. Hal ini memungkinkan kita untuk melakukan join atau mengambil data dari beberapa tabel sekaligus, sehingga mempercepat proses pengambilan data dari database.
  • Memastikan referential integrity: Constraint ini memastikan bahwa setiap perubahan yang dilakukan pada tabel yang memiliki foreign key, juga diterapkan pada tabel yang terkait. Dengan demikian, database dapat memastikan bahwa data dalam semua tabel tetap konsisten dan terintegrasi dengan baik.
  • Mencegah penghapusan data yang tidak disengaja: Foreign key constraint memastikan bahwa setiap data yang terhubung dengan data di tabel lain tidak dapat dihapus secara tidak sengaja. Hal ini dapat membantu mencegah kehilangan data yang penting dalam database.
  • Meningkatkan keamanan data: Constraint ini dapat membantu melindungi data dalam database dari pengguna yang tidak berwenang atau serangan dari luar. Dengan membatasi akses ke data dalam tabel yang terkait, constraint ini dapat membantu mencegah kebocoran data atau kerusakan pada database. 
Jenis-jenis Foreign Key

Ada dua jenis foreign key constraint pada databases, yaitu:

••ON DELETE
Foreign key constraint ON DELETE digunakan untuk menentukan apa yang terjadi pada data di tabel yang terkait ketika data di tabel asal dihapus. Beberapa pilihan yang tersedia termasuk:
••CASCADE: Data yang terkait dengan data yang dihapus juga dihapus.
SET NULL: Nilai foreign key di tabel terkait diubah menjadi NULL.
••SET DEFAULT: Nilai foreign key di tabel terkait diubah menjadi nilai default.
RESTRICT: Tidak mengizinkan penghapusan data dari tabel asal jika ada data yang terkait dengan data tersebut di tabel terkait.
••RESTRICT: Tidak mengizinkan perbaruan data di tabel asal jika ada data yang terkait dengan data tersebut di tabel terkait.
Dalam kedua jenis foreign key constraint di atas, ••RESTRICT digunakan untuk mencegah penghapusan atau perbaruan data jika ada data yang terkait dengan data tersebut di tabel terkait. Sedangkan CASCADE, SET NULL, dan SET DEFAULT digunakan untuk memperbarui data di tabel terkait atau mengubah nilai foreign key ketika data di tabel asal dihapus atau diperbarui. 

Tidak ada komentar:

Posting Komentar