In my patient table, I want to add a foreign key for doctorid. Show
I have all of my tables established, but the main issue is that only the primary key appears when I go to the table > structure > relation view so that I may build a foreign key (and it is already the primary key of certain table that I want to keep - i.e Patient table patient is enabled to be changed but the doctor Id -I have a doctor table also- is not enabled). I have another table with two composite keys (patientid and medicineid) that allow me to alter both in relation view. Should I change the doctor ID index in the patient table to anything else? Given that patient ID is the primary key for the patient table and doctor is the foreign key, neither can be the primary key. Can someone please help me with this? Hai.. bagaimana khabar sobat semuanya, semoga senantiasa dalam kebaikan dan tetap semangat belajar pemrograman web. Pada kesempatan kali ini kita akan membahas bagaimana cara membuat, mengedit dan menghapus foreign key (FK) dengan bantuan phpMyAdmin. Tutorial yang akan sobat ikuti ini dilengkapi dengan berbagai ilustrasi gambar, dengan harapan pembahasan akan lebih detail sehingga mudah untuk diikuti dan difahami. Artikel ini terdiri dari beberapa pembahasan, jika ingin langsung ke pembahasan yang diinginkan, silakan klik link berikut:
I. Syarat Membuat Foreign KeySebelum membuat foreign key pada MySQL, terlebih dahulu perlu dipastikan bahwa syarat-syarat yang di butuhkan untuk membuat foreign key telah terpenuhi. Adapun syaratnya adalah sebagai berikut: a Pastikan engine penyimpanan yang digunakan adalah InnoDBYang pertama kali harus dilakukan pada pembuatan foreign key (FK) adalah memastikan engine penyimpanan yang digunakan pada tabel adalah InnoDB, karena hanya engine ini yang mendukung fitur foreign key. Untuk memastikan engine yang digunakan, dapat dilakukan dengan cara mengklik database yang diinginkan, pada daftar tabel yang muncul, lihat bagian type. Contoh pada gambar berikut ini: Gambar 1. Cek Storage Engine Tabel b Pastikan field yang terlibat dijadikan sebagai index atau primary keyUntuk dapat membuat foreign key, syarat kedua yang harus dipenuhi adalah: baik field yang akan digunakan sebagai foreign key (pada child table) maupun field yang akan dijadikan referensi (pada parent table) harus dijadikan sebagai index atau primary key. Cara mengecek apakah field telah ditambahakan sebagai index adalah: Jika menggunakan phpMyAdmin versi 4.4 keatas, akan muncul icon kunci warna abu abu di sebelah kanan nama field, sedangkan untuk versi 4.0 kebawah, kita harus klik link Index yang ada di bagian bawah dari daftar tabel, contoh seperti gambar berikut: Melihat Index pada phpMyAdmin >= 4.4 Gambar 2. Icon Index Pada Field Melihat index pada phpMyAdmin <= 4.0 Gambar 3. Index Tabel Pada phpMyAdmin c Semua nilai pada field yang akan dijadikan FK (child tabel), harus ada pada field referensi pada parent tabelSyarat ketiga ini dapat dimisalkan kita akan membuat FK pada field Merubah atau Membuat Storage Engine Menjadi InnoDB Jika engine tabel belum innoDB, maka kita ubah terlebih dahulu menjadi InnoDB, caranya adalah:
II. Membuat Foreign Key Dengan phpMyAdmina Skema dan hubungan antar tabelSetelah membahas syarat-syarat membuat foreign key, sampilah kita pada bagian inti dari artikel ini yaitu membuat foreign key. Untuk lebih memudahkan pemahaman, kita misalkan kita memiliki database
Gambar 6. Foreign Key Antar Tabel b Masuk ke halaman relation view pada phpMyAdminLangkah selanjutnya adalah masuk ke halaman Relation View pada tabel Letak Link Relation View Pada phpMyAdmin <= 4.0 Gambar 6. Link Relation View Pada phpMyAdmin 4.0 Letak Link Relation View Pada phpMyAdmin >= 4.4 Gambar 7. Link Relation View Pada phpMyAdmin 4.5 Link Relation View Tidak Muncul Untuk phpMyAdmin 4.4 keatas, jika tabel masih menggunakan engine MyISAM, maka link Relation View tidak akan muncul, sedangkan untuk phpMyAdmin versi 4.0 dan sebelumnya, link tersebut tetap ada, namun ketika di klik, kolom Foreign key constraint (INNODB) tidak muncul, seperti tampak pada gambar berikut (tabel ekspedisi): Gambar 8. Halaman Relation View c Pengisian parameter pada halaman relation viewSetelah masuk ke halaman relation view, langkah selanjutnya adalah pengisian parameter. Pengisian parameter untuk pembuatan foreign key pada field Foreign Key Constraint Pada phpMyAdmin >= 4.4 Gambar 9. Foreign Key Constraint Pada phpMyAdmin 4.5 Foreign Key Constraint Pada phpMyAdmin <= 4.0 Gambar 10. Foreign Key Constraint Pada phpMyAdmin 4.0 Keterangan nomor:
selanjutnya klik save, jika berhasil maka muncul pesan bahwa query berhasil dieksekusi. II. Mengedit Foreign Key dengan phpMyAdminUntuk mengedit foreign key yang telah kita buat, terlebih dahulu kita masuk ke halaman Relation View, dengan cara yang sama ketika ingin menambah foreign key (klik di sini), selanjutnya ubah parameter yang ada (contoh pada gambar 9), sesuai dengan yang kita inginkan, kemudian klik save/simpan. III. Menghapus Foreign Key dengan phpMyAdminTerkadang kita ingin menghapus foreign key (FK) yang telah kita buat, baik karena sudah tidak digunakan lagi atau karena struktur field nya berubah. Untuk menghapus FK, terlebih dahulu masuk ke halaman Relation View (klik di sini), selanjutnya:
IV. Error Pada Saat Membuat Foreign KeyPada saat membuat foreign key terkadang muncul pesan error seperti ini: ALTER TABLE `sales` ADD CONSTRAINT `fk_sales_pelanggan` FOREIGN KEY (`id_pelanggan`) REFERENCES `online_shop`.`pelanggan`(`id_pelanggan`) ON DELETE CASCADE ON UPDATE CASCADE;#1452 - Cannot add or update a child row: a foreign key constraint fails (`online_shop`.`#sql-ccc_e7`, CONSTRAINT `fk_sales_pelanggan` FOREIGN KEY (`id_pelanggan`) REFERENCES `pelanggan` (`id_pelanggan`) ON DELETE CASCADE ON UPDATE CASCADE) error tersebut disebabkan karena nilai pada field yang digunakan sebagai foreign key pada child table tidak ada pada field yang digunakan sebagai referensi pada parent table. Lebih spesifik, error tersebut terjadi karena terdapat nilai pada field Untuk mengatasi error tersebut, tambahkan nilai PenutupPembuatan foreign key menjadi lebih mudah dengan bantuan phpMyAdmin karena terdapat Graphical User Interface (GUI) yang mudah di gunakan, namun seiring berkembangnya aplikasi, kemungkinan akan terjadi perubahan GUI pada versi-versi berikutnya, sehingga kemungkinan perlu penyesuaian lagi. Demikian tutorial mengenai membuat, mengedit, dan menghapus foreign key dengan phpMyAdmin. Semoga bermanfaat. Subscibe NowSuka dengan artikel di Jagowebdev.com? jangan sampai ketinggalan, segera join ke milis kami untuk update informasi terbaru dari Jagowebdev.com Apa itu foreign key di MySQL?Foreign key adalah istilah yang sering muncul saat belajar tentang database. Pasalnya atribut ini memiliki peranan penting dalam pengolahan database. Database tersebut berisi tabel yaitu baris dan kolom yang berbeda untuk menyimpan masing-masing data pada entitas tertentu.
Apa itu foreign key dalam database?Kunci asing (Foreign Key) adalah sebuah atribut ataugabungan atribut yang terdapat dalam suatu tabel yang digunakanuntuk menciptakan hubungan (relasi) antara dua tabel.
Bagaimana cara membuat foreign key di PHPMyAdmin?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.. Dimana letak foreign key?Foreign Key adalah Satu attribute atau kolom yang terdapat pada tabel anak. Atribut atau kolom ini merupakan primary di kolom induk. Seperti contoh di atas id_barang akan menjadi foreign key di tabel penjualan.
|