Kelasprogrammer.com – Halo Sahabat Programmer, kali ini saya akan berbagi bagaimana cara membuat primary key dan juga foreign key pada MySQL. Mungkin buat kalian yang sudah lama dalam dunia pemrograman yang bekerja menggunakan database pasti sudah tidak asing lagi dengan kedua istilah tersebut. Primary key merupakan istilah yang sering kita sebut sebagai kunci utama pada field tertentu didalam sebuah tabel yang menjadi acuan yan dapat dipakai untuk mendefinisikan suatu baris (rows) data. Sedangkan foreign key merupakan suatu atribut pada tabel yang menunjukan relasi (hubungan) ke tabel induknya.
Contohnya field id_pembeli pada tabel pembeli yang merupakan kunci utama (primary key) dapat menjadi kunci tamu (foreign key) pada tabel Transaksi. Bgitu juga field id_barang sebagai kunci utama pada tabel barang dapat menjadi kunci tamu pada tabel transaksi.
Baca juga : Cara membuat database mysql
Nantinya kita dapat membuat relasi dari ketiga tabel tersebut dengan menghubungkan antara tabel pembeli ke tabel transaksi dengan menggunakn field id_pembeli dan dari tabel transaksi ke tabel barang menggunakan field id_barang.
Field yang dapat digunakan untuk primary key
Agar sebuah tabel dapat direlasikan maka penting untuk memahami syarat wajib yang harus dipenuhi pada suatu field yang ingin dijadikan sebagai primary key.
- Field harus bersifat unik, tidak boleh ada data yang sama (duplikasi). Contoh field nama misalnya tidak dapat dijadikan primary key karena bisa jadi ada nama orang yang sama. Field yang cocok untuk dijadikan primary key misalnya NIM (nomor induk mahasiswa), NIK (Nomor nduk kependudukan), kode_barang, kode_pemesanan dan lainnya.
- Field yang ingin dijadikan primary key wajib harus ada nilainya (Not null) atau tidak boleh kosong. Alasannya karena primary key akan menjadi acuan untuk field-field yang lainnya, sehingga field tersebut wajib harus ada nilainya. Biasanya saat kita membuat tabel pada field yang ingin dijadikan sebagai primary key akan kita tambahkan atribut not null.
- Tipe data yang digunakan tidak boleh bertipe BLOB (Binary Large Object), Tipe data yang disarankan sebaiknya Integer atau Char.
- Field bersifat independent yang dapat berdiri sendiri tanpa ada intervensi dari field atau kolom pada tabel lain.
Cara menambahkan Primary key dan Foreign key pada MySQL
Disini saya akan memberikan dua cara untuk membuat primary key dan foreign key pada mysql. Cara yang pertama adalah ketika kita membuat tabel baru, dan cara yang kedua adalah untuk tabel sudah kita buat, jadi kita langsung tinggal set field yang ingin dijadikan primary key pada tabel tersebut.
Artikel Lainnya : Cara membuat tabel di phpMyAdmin
1. Membuat Primary dan foreign key saat membuat tabel baru
Berdasarkan desain tabel diatas kita coba belajar untuk menambahkan primary key pada tabel pembeli dan tabel barang.
Kita akan membuat tabel baru dengan nama pembeli, barang dan transaksi. Masing-masing tabel tersebut, langsung dapat kita tentukan field yang akan dijadikan primary key.
create table pembeli (
id_pembeli int not null auto_increment primary key,
nama_pembeli varchar(30) not null,
jk char(1),
no_telp char(14),
alamat varchar(50)
);
create table barang (
id_barang int not null auto_increment primary key,
nama_barang varchar(20) not null,
harga int,
stok int
);
Perhatikan pada perintah query diatas, kita membuat dua tabel dengan nama pembeli dan barang pada field id_pembeli dan id_barang, kita menggunakan atribut not null, yang artinya kedua field tersebut wajib diisi. Selain itu juga saya menggunakan auto_increment untuk membuat nilai pada kedua field tersebut akan terisi secara otomatis oleh sistem.
Mengapa kita perlu menggunakan auto_increment pada primary key ? Menurut saya agar untuk menghindari terjadinya duplikasi row. Namun penggunaan auto_increment ini hanya untuk field dengan tipe data intger saja.
create table transaksi (
id_transaksi int not null auto_increment primary key,
id_barang int,
id_pembeli int,
tanggal date,
keterangan varchar(100),
CONSTRAINT id_barang FOREIGN KEY (id_barang) REFERENCES barang (id_barang),
CONSTRAINT id_pembeli FOREIGN KEY (id_pembeli) REFERENCES pembeli (id_pembeli)
);
Perintah query diatas untuk membuat tabel transaksi. dengan membuat relasi pada tabel barang dan pembeli. Field yang dijadikan foreign key adalah field id_barang dan id_pembeli.
Baca juga : Perintah dasar SQL
2. Membuat Primary dan foreign key pada Tabel yang sudah dibuat
Kita juga dapat membuat primary key pada tabel yang sudah pernah dibuat sebelumnya. Kita akan gunakan dengan perintah ALTER TABLE.
Format Dasar:
ALTER TABLE nama_tabel
ADD PRIMARY KEY(nama_field);
Contoh:
ALTER TABLE barang
ADD PRIMARY KEY(id_barang);
Menghapus Primary Key
Untuk menghapus primary key pada suatu tabel, gunakan perintah sql berikut:
ALTER TABLE nama_tabel
DROP PRIMARY KEY;
Contoh:
ALTER TABLE barang
DROP PRIMARY KEY;
terima kasih atas bantuannya. web ini sangat membantu. terus berkarya dan lakukan yang. saya tunggu pembahasan” selanjutnya:)
mau tanya dong kak kalo misalnya dalam suatu tabel si primary key nya itu sekaligus foreign key boleh nggak sih?