Cara Membuat Primary Key Foreign Key MySQL

By | August 16, 2025
Pada pemodelan database relasional, primary key dan foreign key merupakan konsep dasar yang wajib dipahami. Artikel ini akan membahas cara membuat primary key foreign key MySQL beserta contoh penerapannya.Jika Anda sedang belajar database, kunjungi juga Kelas Programmer untuk tutorial lengkap lainnya.

2. Apa itu Primary Key?

Primary Key adalah kolom unik yang berfungsi sebagai identitas dari setiap record pada tabel. Setiap tabel sebaiknya memiliki satu primary key.

3. Apa itu Foreign Key?

Foreign Key adalah kolom pada suatu tabel yang menjadi referensi dari primary key tabel lain. Dengan foreign key, hubungan antar tabel dapat dibangun.

4. Contoh Tabel MySQL

Kita akan membuat dua tabel: users dan orders.


-- Membuat tabel users
CREATE TABLE users (
    user_id INT AUTO_INCREMENT,
    username VARCHAR(50) NOT NULL,
    email VARCHAR(100) NOT NULL,
    PRIMARY KEY (user_id)
);

-- Membuat tabel orders
CREATE TABLE orders (
    order_id INT AUTO_INCREMENT,
    user_id INT,
    product_name VARCHAR(100) NOT NULL,
    PRIMARY KEY (order_id),
    FOREIGN KEY (user_id) REFERENCES users(user_id)
);
  

5. Query Membuat Primary Key

Pada contoh di atas, kita mendefinisikan user_id sebagai primary key pada tabel users dan order_id pada tabel orders.

6. Query Membuat Foreign Key

Kolom user_id pada tabel orders menjadi foreign key yang mengacu pada user_id di tabel users.

Query khusus untuk menambahkan foreign key:


ALTER TABLE orders
ADD CONSTRAINT fk_user
FOREIGN KEY (user_id) REFERENCES users(user_id);
  

7. Penjelasan Relasi Tabel

  • Tabel users menyimpan data user.
  • Tabel orders menyimpan data pesanan.
  • Kolom user_id pada tabel orders menjadi foreign key yang menghubungkan setiap pesanan dengan user terkait.

8. Kesimpulan

Dengan memahami cara membuat primary key foreign key MySQL, Anda dapat membangun relasi antar tabel yang lebih terstruktur. Primary key menjamin keunikan data, sedangkan foreign key menjaga integritas referensial antar tabel.

9. FAQ

Q: Apakah satu tabel bisa punya lebih dari satu primary key?
A: Tidak, satu tabel hanya boleh memiliki satu primary key, tetapi bisa terdiri dari beberapa kolom (composite key).

Q: Apa yang terjadi jika data pada tabel induk dihapus?
A: Jika foreign key diatur dengan ON DELETE CASCADE, maka data terkait pada tabel anak juga ikut terhapus.

Q: Apakah foreign key wajib digunakan?
A: Tidak wajib, tetapi sangat disarankan untuk menjaga konsistensi data.

Leave a Reply

Your email address will not be published. Required fields are marked *