MySQL - Kunci Komposit

Hai, para entusiast pengelolaan basis data! Hari ini, kita akan melangsungkan sebuah perjalanan menarik ke dalam dunia Kunci Komposit MySQL. Jangan khawatir jika Anda baru belajar pemrograman – saya akan memandu Anda melalui konsep ini langkah demi langkah, sama seperti yang saya lakukan untuk ribuan murid selama tahun-tahun mengajar saya. Jadi, ambil secangkir minuman kesukaan Anda, dan mari kita masuk ke dalamnya!

MySQL - Composite Key

Apa Itu Kunci Komposit?

Sebelum kita masuk ke detailnya, mari pahami apa itu kunci komposit. Bayangkan Anda sedang mengatur sebuah pustaka besar. Anda mungkin berpikir bahwa judul buku saja cukup untuk mengidentifikasi buku secara unik. Tetapi, apa bila ada dua buku dengan judul yang sama? Itu adalah saat kunci komposit berguna!

Kunci komposit adalah kombinasi dari dua atau lebih kolom yang bersama-sama mengidentifikasi unik satu baris di dalam tabel. Itu seperti menggunakan baik judul buku dan nama pengarang untuk memastikan Anda membahas buku tepat yang Anda inginkan.

Membuat Kunci Komposit MySQL

Sekarang kita mengerti apa itu kunci komposit, mari belajar bagaimana membuatnya di MySQL. Kita akan menggunakan contoh sederhana dari tabel library untuk mengilustrasikan konsep ini.

Langkah 1: Membuat Tabel Dengan Kunci Komposit

CREATE TABLE library (
book_title VARCHAR(100),
author_name VARCHAR(50),
publish_year INT,
ISBN VARCHAR(13),
PRIMARY KEY (book_title, author_name)
);

Dalam contoh ini, kita sedang membuat tabel library. Kunci komposit terbentuk dari kombinasi book_title dan author_name. Ini berarti meskipun kita mungkin memiliki beberapa buku dengan judul yang sama atau beberapa buku oleh pengarang yang sama, kombinasi judul dan pengarang harus unik.

Langkah 2: Menyisipkan Data

mari tambahkan beberapa buku ke pustaka kita:

INSERT INTO library (book_title, author_name, publish_year, ISBN)
VALUES
('The Great Gatsby', 'F. Scott Fitzgerald', 1925, '9780743273565'),
('To Kill a Mockingbird', 'Harper Lee', 1960, '9780446310789'),
('1984', 'George Orwell', 1949, '9780451524935'),
('Pride and Prejudice', 'Jane Austen', 1813, '9780141439518');

Sekarang, jika kita mencoba menyisipkan entri duplikat:

INSERT INTO library (book_title, author_name, publish_year, ISBN)
VALUES ('The Great Gatsby', 'F. Scott Fitzgerald', 2000, '1234567890123');

MySQL akan memberikan kesalahan karena kita melanggar batasan kunci komposit. Kombinasi 'The Great Gatsby' dan 'F. Scott Fitzgerald' sudah ada di tabel kita.

Menghapus Kunci Komposit MySQL

kadang-kadang, Anda mungkin perlu menghapus kunci komposit. Jangan khawatir; itu tidak sebanyak yang Anda pikirkan! Itu seperti memutuskan untuk mengatur pustaka Anda dengan cara lain.

Berikut cara menghapus kunci komposit:

ALTER TABLE library
DROP PRIMARY KEY;

Perintah ini menghapus batasan kunci utama dari tabel library. Tetapi hati-hati! Ini berarti Anda tidak lagi memiliki pengidentifikasi unik bagi baris Anda, yang bisa mengakibatkan entri duplikat.

Kunci Komposit Menggunakan Program Klien

Sekarang, mari lihat bagaimana kita bisa bekerja dengan kunci komposit menggunakan program klien MySQL. Saya akan menggunakan klien perintah MySQL untuk contoh ini, tetapi konsep ini berlaku untuk program klien lainnya juga.

  1. Pertama, hubungi server MySQL Anda:
mysql -u your_username -p
  1. Pilih basis data Anda:
USE your_database_name;
  1. Sekarang, mari buat tabel baru dengan kunci komposit:
CREATE TABLE students (
student_id INT,
course_id INT,
enrollment_date DATE,
grade FLOAT,
PRIMARY KEY (student_id, course_id)
);

Dalam contoh ini, kita sedang membuat tabel students di mana setiap baris mewakili seorang murid yang mendaftar dalam kursus. Kunci komposit terbentuk dari student_id dan course_id, memastikan bahwa seorang murid tidak bisa mendaftar dalam kursus yang sama dua kali.

  1. Mari sisipkan beberapa data:
INSERT INTO students (student_id, course_id, enrollment_date, grade)
VALUES
(1, 101, '2023-09-01', 85.5),
(1, 102, '2023-09-01', 92.0),
(2, 101, '2023-09-01', 78.5),
(2, 103, '2023-09-02', 88.0);
  1. Sekarang, jika kita mencoba menyisipkan entri duplikat:
INSERT INTO students (student_id, course_id, enrollment_date, grade)
VALUES (1, 101, '2023-09-15', 90.0);

Program klien akan menampilkan pesan kesalahan karena kita melanggar batasan kunci komposit.

Kesimpulan

Selamat! Anda telah mengambil langkah pertama ke dalam dunia Kunci Komposit MySQL. Ingat, kunci komposit adalah seperti pasangan dinamis di dunia basis data – mereka bekerja bersama untuk menjaga data Anda unik dan teratur.

Buat terus latihan, dan segera Anda akan membuat dan mengelola kunci komposit seperti seorang ahli! Dan ingat, di dunia basis data, seperti dalam kehidupan, kadang-kadang dua (atau lebih) lebih baik daripada satu!

Metode Deskripsi
CREATE TABLE ... PRIMARY KEY (column1, column2) Membuat tabel dengan kunci komposit
ALTER TABLE ... ADD PRIMARY KEY (column1, column2) Menambahkan kunci komposit ke tabel yang sudah ada
ALTER TABLE ... DROP PRIMARY KEY Menghapus kunci utama (komposit atau tidak) dari tabel
INSERT INTO ... VALUES ... Menyisipkan data, menghormati batasan kunci komposit
SELECT ... WHERE column1 = value1 AND column2 = value2 Mengambil data menggunakan kunci komposit

Selamat coding, dan semoga basis data Anda selalu teratur dan efisien!

Credits: Image by storyset