Indonesia: 5 July, 2024

Tutorial Mysql Part 12: Cara Menambahkan Primary Key Dan Foreign Key Di Tabel Mysql

Datang lagi di mandankoding.com pada tutorial MySQL dasar, semoga tetap semangat ya!
Materi yang kita bahas kali ini yaitu Bagaimana Cara Menambahkan Primary Key dan Foreign Key di Tabel MySQL. di tutorial sebelumnya kita juga sudah membahas materi Bagaimana Cara Menambahkan nilai Null, Not Null, dan Default di Tabel MySQL.

Apa itu Primary Key?

Primary Key merupakan identitas unik di dalam tabel. Nilai kolom yang di jadikan primary key tidak boleh Null (kosong).

Kegunaan Primary Key:

  • Membantu mengidentifikasi data unik seperti nomor ID
  • Mencegah terjadinya duplikasi data di dalam tabel
  • Membantu menghapus dan memperbaharui data tertentu di dalam tabel
  • Membantu mengatur relasi antar tabel
  • Memastikan aksebilitas di setiap baris tabel

Membuat Primary Key saat Membuat Tabel Baru

Perhatikan contoh berikut:

CREATE TABLE jurusan (
    id_jurusan VARCHAR (5) NOT NULL,
    nama_jurusan VARCHAR (50) NOT NULL,
    PRIMARY KEY (id_jurusan)
);

Keterangan:

Pada contoh di atas kita menjadikan kolom id_jurusan menjadi Primary Key. Untuk melihat struktur tabel yang sudah dibuat gunakan query SHOW CREATE TABLE jurusan;

Catatan:
Primary Key bisa di buat untuk bebapa kolom di dalam satu tabel, akan tetapi itu di gunakan untuk kondisi tertentu. Di tutorial ini kita belum membahasnya dan akan di bahas pada tutorial MySQL lanjutan.

Menambahkan Primary Key pada Tabel yang Sudah Ada

Untuk menambahkan Primary Key pada kolom id_jurusan ketika tabel jurusan sudah dibuat, gunakan query berikut:

ALTER TABLE jurusan
ADD PRIMARY KEY (id_jurusan);

Catatan:
Pada saat menggunakan ALTER TABLE untuk menambahkan Primary Key, pastikan kolom yang di jadikan Primary Key tidak bernilai Null.

Menghapus Primary Key di Tabel MySQL

Untuk menghapus Primary Key di tabel jurusan, gunakan query berikut:

ALTER TABLE jurusan
DROP PRIMARY KEY;

Keterangan:
Dengan menghapus Primary Key di dalam tabel, maka kita bisa menetapkan kembali kolom mana yang di tunjuk sebagai Primary Key di dalam tabel tersebut.

Baca juga : Cara Mengubah Struktur Tabel MySQL (ALTER TABLE)

Apa itu Foreign Key?

Foreign Key adalah sebuah field/ kolom atau beberapa kolom dalam satu tabel yang merujuk ke kunci utama (Primary Key) pada tabel lain.

Foreign Key berguna untuk membuat relasi antar tabel di MySQL. Tabel yang memiliki Foreign Key disebut dengan tabel Child/ anak, sedangkan tabel yang memiliki Primary Key disebut dengan tabel parent / induk.

Perhatikan dua tabel berikut:

Tabel jurusan

id_jurusannama_jurusan
S1Sistem Informasi
TITeknik Informatika
BDBisnis Digital
IKIlmu Komputer

Tabel biodata_mahasiswa

id_mhsid_jurusannimnamajenis_kelamintgl_lahir
1SI191100111Zoe Martinlaki-laki2001-04-02
2IK191100112Dwi Janeperempuan2002-05-09
3BD191100113Azkalaki-laki2002-04-12
4SI191100114Ayra Myshaperempuan2001-11-20
5TI191100115Tyas Mirandaperempuan2001-12-23

Keterangan:

  • Kolom id_jurusan di tabel biodata_mahasiswa merujuk pada kolom id_jurusan di tabel jurusan
  • Kolom id_jurusan di tabel jurusan adalah Primary Key sedangkan
  • Kolom id_jurusan di tabel biodata_mahasiswa adalah Foreign Key
  • Foreign Key mencegah data tidak valid yang dimasukkan ke tabel Child, karena nilai kolom Foreign Key harus sama dengan nilai kolom id di tabel Parent

Membuat Foreign Key saat Membuat Tabel Baru

Perhatikan contoh berikut:

CREATE TABLE biodata_mahasiswa (
    id_mhs VARCHAR (10) NOT NULL,
    id_jurusan VARCHAR (5) NOT NULL,
    nim VARCHAR (9) NOT NULL,
    nama VARCHAR (50) NOT NULL,
    jenis_kelamin ENUM ('laki-laki', 'perempuan'),
    tgl_lahir DATE NOT NULL,
    PRIMARY KEY (id_mhs),
    FOREIGN KEY (id_jurusan) REFERENCES jurusan (id_jurusan)
); 

Keterangan:
Contoh query di atas menjelaskan bahwa, kita menempatkan id_jurusan sebagai Foreign Key pada tabel biodata_mahasiswa artinya kedua tabel tersebut memiliki relasi antar tabel. Untuk melihat struktur tabel yang telah dibuat gunakan query SHOW CREATE TABLE biodata_mahasiswa;

Catatan:
Untuk mendefinisikan kolom Foreign Key, pastikan nama kolom dan tipe datanya sama dengan tabel parent. Jika tidak, maka akan terjadi error.

Menambahkan Foreign Key pada Tabel yang Sudah Ada

Untuk menambahkan foreign key ke dalam tabel yang sudah dibuat sebelumnya, gunakan query berikut:

ALTER TABLE biodata_mahasiswa
ADD FOREIGN KEY (id_jurusan) REFERENCES jurusan (id_jurusan)

Menghapus Foreign Key di Tabel MySQL

Untuk menghapus foreign key ke dalam tabel biodata_mahasiswa, gunakan query berikut:

ALTER TABLE biodata_mahasiswa
DROP FOREIGN KEY biodata_mahasiswa_ibfk_1;

Keterangan:
Nama constraint biodata_mahasiswa_ibfk_1 yang akan di hapus Foreign Key-nya, dapat dilihat di struktur tabel biodata_mahasiswa menggunakan query SHOW CREATE TABLE biodata_mahasiswa;

Setelah mempelajari Bagaimana Cara Menambahkan Primary Key dan Foreign Key di Tabel MySQL, pada materi selanjutnya akan kita bahas mengenai Bagaimana Cara Menambahkan Nilai Unique di Tabel MySQL.

Selamat belajar, Semoga Bermanfaat!🎉🎉

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *