Kegunaan dari foreign key di aplikasi

halo semua, saya mau bertanya. kira-kira kita bisa melihat kegunaan dari foreign key pada suatu table itu dibagian mana ya atau ketika kita melakukan apa? soalnya saya mencoba membuat table didatabase tanpa menghubungkan table 1 dengan yang lain (menggunakan foreign key), saya tetap bisa menggabungkan 2 table dengan query join tanpa ada foreign key tersebut. maaf sebelumnya kalo pertanyaanya sedikit aneh, mungkin pengertian saya salah tentang kegunaan dari foreign key. mungkin bisa dibantu pencerahanya. terimakasih hehehehe..

avatar charlyhsitumorang
@charlyhsitumorang

61 Kontribusi 23 Poin

Diperbarui 5 tahun yang lalu

2 Jawaban:

tidak aneh gan pertanyannya, normal. Sebagai contoh ada user yang melanggar peraturan di aplikasi yang kamu bikin, karena itu kamu mau menghapus/memblock usernya. Sementara user ini misalnya dia punya tulisan / toko / apapun yang berhubungan dengan dia. Kalau usernya dihapus begitu saja, tulisannya tadi atau kalau toko online, toko user ini akan "tidak bertuan", bisa jadi aplikasinya -> error (tergantung pengaturan kodenya). Karena itu kalau kita menentukan foregin key, kita juga biasanya mengatur apa yang terjadi dengan datanya, kalau ada UPDATE dan DELETE, misalnya semua data yang berhubungan dengan user ini jadi terhapus.

Di beberapa framework juga, biasanya memberikan kemudahan dalam melakukan relasi (mengambil data, mengupdate, dll) kalau kamu mengatur foreign keynya dengan baik.

avatar hilmanski
@hilmanski

2686 Kontribusi 2135 Poin

Dipost 5 tahun yang lalu

Tanggapan

terimakasih atas penjelasanya mas, sangat membantu sekali penjelasnya hehehe

Intinya foreign key itu supaya integritas data lebih terkontrol.

Misal kita punya tabel user dengan kolom 'id'. Lalu setiap user bisa input data di tabel order dengan kolom 'user_id' yg punya foreign key ke 'user.id'.

Di kasus seperti itu, insert data ke order akan failed kalau value 'order.user_id' ga ada di 'user.id'. Berlaku juga untuk update. Sebaliknya kalau delete, sebelum data di tabel order dengan 'user_id' tertentu dihapus, user dengan 'id' yg bersangkutan ga bisa di delete.

avatar rachmatsasongko
@rachmatsasongko

410 Kontribusi 426 Poin

Dipost 5 tahun yang lalu

Login untuk ikut Jawaban