Menambahkan Foreign Key pada Tabel di MySQL

Muhammad Arslan 23 Januari 2017

Menambahkan Foreign Key pada Tabel di MySQL

Foreign Key digunakan untuk menandai suatu tabel terhubung dengan tabel lain dalam konteks tabel parent dan child. Sebuah tabel dikatakan child bila memiliki suatu field yang merupakan reference terhadap key di tabel parent. Hal ini digunakan untuk menjaga konsistensi dan keterkaitan antar tabel.

Salah satu karakteristik yang dapat kita perhatikan antara lain bila kita hapus salah satu row di tabel parent maka row yang terkait akan ikut terhapus juga, atau field yang tertanam di row child dapat dibuat NULL.

Untuk menambahkan suatu foreign key pada suatu tabel. Kita dapat menggunakan query berikut:

ALTER TABLE kursi ADD FOREIGN KEY (teater_id) REFERENCES teater(id);

Pada query diatas kita tentukan terlebih dahulu tabel yang akan diberi foreign key kemudian tunjuk field mana yang akan dibuat menjadi foreign key dan terakhir tunjuk tabel parent dan field yang akan ditunjuk. Pastikan tipe data yang akan digunakan sebagai foreign key, sama dengan tipe data pada field yang ada di tabel parent.

Sekarang kamu juga dapat menghapus foreign key pada field tersebut:

SHOW CREATE TABLE kursi;
ALTER TABLE kursi DROP FOREIGN KEY kursi_ibfk_1;
ALTER TABLE kursi DROP KEY teater_id;

Sekarang mari kita tambahkan foreign key pada semua tabel:

ALTER TABLE kursi ADD FOREIGN KEY (teater_id) REFERENCES teater(id);
ALTER TABLE jadwal ADD FOREIGN KEY (film_id) REFERENCES film(id);
ALTER TABLE jadwal ADD FOREIGN KEY (teater_id) REFERENCES teater(id);
ALTER TABLE transaksi ADD FOREIGN KEY (operator_id) REFERENCES operator(id);
ALTER TABLE transaksi ADD FOREIGN KEY (jadwal_id) REFERENCES jadwal(id);
ALTER TABLE transaksi ADD FOREIGN KEY (kursi_id) REFERENCES kursi(id);

(arslan)