Cara menambahkan foreign key pada mysql

Yaitu, kunci utama atau ciri khas utama dalam suatu tabel database. Seperti NIK, NIM, NIS, kode dan lain sebagainya.

Nah, di kesempatan kali ini kita akan mempelajari Foreign Key.

Foreign Key adalah kunci tamu, yang nantinya akan dihubungkan dengan PRIMARY KEY dari tabel lain.

Bingung ya???

Pastinya kita pernah mengunjungi website toko online atau web blog tutorial-tutorial.

Dalam website tersebut, pastinya ada menu kategori kan???

Misalnya kategori produk, atau mungkin kategori artikel suatu blog.

Lalu kita klik kategori tersebut, maka postingan-postingan yang terkait kategori tersebut langsung keluar kan???

Hal tersebut tujuannya supaya lebih mempermudah pencarian postingan yang ingin kita cari.

Nah, kira-kira begitulah. Untuk melakukan hal tersebut, dibutuhkan relasi atau sambungan antara FOREIGN KEY pada salah satu tabel dengan PRIMARY KEY pada tabel yang terlibat.

Kalo bingung, langsung aja kita mulai ya.

Ceritanya, kita akan membuat sebuah database baru melalui phpmyadmin.

Database tersebut, memiliki studi kasus tentang website blog.

Berikut ini adalah langkah-langkahnya.

  1. Buat database baru, sebagai contoh disini kita beri nama “my_artikel”.
Cara menambahkan foreign key pada mysql
  1. Buat tabel baru, namanya “kategori”. Dan berikut ini adalah spesifikasinya.
Cara menambahkan foreign key pada mysql

3. Buat tabel kedua, namanya “posting”. Dan berikut ini adalah spesifikasinya.

Cara menambahkan foreign key pada mysql
  1. Pada tabel “posting” ini terdapat atribut bernama “id_kategori” dan namanya sama dengan yang ada pada tabel “kategori”.
    Tujuannya, atribut “id_kategori” ini akan disambungkan dengan PRIMARY KEY “id_kategori” pada tabel “kategori”.
    Oke, klik “more tools” pada baris atribut “id_kategori” lalu klik “Index”.
Cara menambahkan foreign key pada mysql
  1. Nah, dari langkah no. 4 tadi, kita sudah berhasil membuat FOREIGN KEY. Bentuknya bergambar kunci berwarna silver.
    O iya, perlu diperhatikan bahwa FOREIGN KEY dari kunci tamu suatu tabel, harus sama tipe datanya dengan tabel yang akan kita pinjam (yang punya PRIMARY KEYnya).
Cara menambahkan foreign key pada mysql

6. Klik ke menu awal databasenya. Kali ini kita akan membuat tabel “posting” akan berelasi dengan tabel “kategori”.

Tabel ini sendiri menjadi acuan untuk mendefinisikan suatu baris atau rows data. Sedangkan foreign key adalah atribut pada tabel yang menunjukkan hubungan ke tabel induknya.



Misalnya ada suatu database penjual dan terdapat field id_pembeli pada tabel pembeli yang menjadi primary key. Field ini bisa menjadi foreign key pada tabel transaksi. Demikian pula dengan field id_barang yang menjadi primary key pada tabel barang, namun juga bisa menjadi foreign key pada tabel transaksi.

Kita bisa membuat relasi dari ketiga tabel tersebut dengan menghubungkan antara tabel pembeli ke tabel transaksi dengan memakai field id_pembeli dan dari tabel transaksi ke tabel barang dengan menggunakan field id_barang.

Field yang Bisa Digunakan untuk Primary Key

Cara menambahkan foreign key pada mysql

Baca juga: Cara Membuat Database MySQL

Supaya tabel bisa direlasikan, maka kita harus mengetahui syarat apa saja yang harus dipenuhi suatu field yang akan dijadikan sebagai primary key. Berikut adalah beberapa syaratnya.

Field Harus Unik

Field bersifat unik dan tidak boleh ada data yang sama. Sebagai gambaran field nama tidak dapat digunakan sebagai primary key. Alasannya ada kemungkinan orang dengan nama yang sama. Field yang cocok dijadikan sebagai primary key adalah Nomor Induk Mahasiswa (NIM), Nomor Induk Kependudukan (NIK), kode pemesanan, kode barang dan lain sebagainya yang data satu dengan data lainnya tidak mungkin sama.

Field Harus Memiliki Nilai

Field yang akan dijadikan primary key harus ada nilainya (not null) atau tidak boleh kosong. Sebab seperti yang sudah disinggung di atas, primary key menjadi acuan untuk field-field yang lain. Sehingga field yang dijadikan primary key harus ada nilainya.

Umumnya saat membuat tabel pada field yang ingin dijadikan sebagai primary key, kita perlu menambahkan atribut not null.

Tipe Data Bukan BLOB

Ketentuan lain untuk membuat suatu field menjadi primary key adalah tipe datanya. Tipe data yang dipakai tidak boleh berjenis Binary Large Object (BLOB). Tipe data yang dianjurkan adalah Char atau Integer.

Bersifat Independen

FIeld yang akan dijadikan primary key harus bersifat independen. Artinya field tersebut bisa berdiri sendiri tanpa ada intervensi dari field atau kolom tabel lain.

Syarat Membuat Foreign Key

Jika ingin membuat foreign key pada MySQL, kita juga perlu mengetahui apa saja yang menjadi syarat dalam menjadikan suatu field sebagai foreign key. Berikut adalah beberapa ketentuan dalam membuat foreign key.

Engine Penyimpanan InnoDB

Ketika ingin membuat foreign key, kita perlu memastikan bahwa engine penyimpanan yang dipakai pada tabel adalah InnoDB. Sebab sejauh ini hanya engine tersebut yang mendukung fitur foreign key. Lalu bagaimana cara memastikan engine tersebut?

Langkah langkah membuat foreign key?

Cara Membuat Foreign Key di PHPMyAdmin.
Pertama kamu haru membuka tabel yang ingin kamu tambahkan foreign key tersebut dan buka tab 'Structure'. Kamu akan melihat sub menu 'Relation View'..
Pilih kolom yang menampung kunci asing serta tabel yang akan kamu referensikan dengan foreign key tersebut..

Apa itu foreign key pada MySQL?

Dalam SQL database sistem manajamen, foreign key adalah pengenal unik atau kombinasi pengenal unik yang menghubungkan dua tabel atau lebih dalam suatu database. Foreign key juga sering disebut sebagai kunci asing.

Bagaimana penggunaan foreign key?

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.

Apakah foreign key bisa lebih dari satu?

Foreign Key : suatu kolom yang berisi primary key tabel lainnya. Sebuah tabel dapat berisi lebih dari satu foreign key.