Cara membuat tabel foreign key mysql

  1. Home
  2. PHP MYSQLi
  3. Cara Membuat Foreign Key Di MySQL

Ok.. temen-temen. Pada tutorial kali ini, kita akan belajar tentang Cara Membuat Foreign Key Di MySQL. mungkin temen-temen masih bingun apa yang dimaksud dengan foreigen key .. membahas mengenai foreigen key, kerap sekali dihubungkan dengan relasi lo, , Supaya gak bingung dengan foreigen key itu, yuk kita simak artike ini yang menjelaskan apa itu foreigen key, sintaks dasar dari foreign key, cara membuat foreigen key, cara menghapus foreigen key, berikut penjelasannya ya..

Apa Yang dimaksud dengan Foreign Key?

Foreign key merupakan salah satu jenis constraint yang digunakan untuk merelasikan antar dua tabel atau lebih. Foreign key digunakan pada tabel kedua (detail) yang mereferensi ke tabel utama (master) yang mempunyai constraint primary key.

Untuk Lebih jelasnya lihat gambar dibawah ini : (note gambar dikutip dari google)

Cara membuat tabel foreign key mysql

Pada gambar diatas, dapat kilta lihat kolom Cust_ID pada tabel Orders berperan sebagai foreign key yang mereferensi ke tabel Customers pada kolom ID. 

Sintak Dasar Foreign Key

Di bawah ini adalah sintak dasar untuk mendefinisikan foreign key pada sebuah tabel di MySQL:

CONSTRAINT constraint_name
FOREIGN KEY foreign_key_name (columns)
REFERENCES parent_table(columns)

Penjelasan dari sintak:

  • CONSTRAINT adalah perintah untuk membuat sebuah constraint.
  • constraint_name adalah nama yang akan Anda berikan untuk membuat foreign key
  • FOREIGN KEY adalah perintah untuk mendefinisikan foreign key
  • foreign_key_name (columns) adalah nama yang digunakan untuk constraint foreign key dan kolom yang akan dijadikan foreign key.
  • REFERENCES parent_table(columns) adalah perintah untuk mereferensikan ke tabel utama (primary key)

Cara Membuat Foreign Key

Untuk membuat sebuah constraint foreign key, Ada 2 cara yang Anda bisa gunakan yaitu:

  1. Membuat Contraint Foreign Key Menggunakan Create Table

    Anda dapat membuat constraint foreign key sewaktu Anda membuat sebuah tabel. Untuk lebih jelasnya, perhatikan contoh di bawah ini:

    CREATE TABLE categories(
       category_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
       category_name VARCHAR(50) NOT NULL,
       category_description VARCHAR(50)
    ) ENGINE=InnoDB;
     
    CREATE TABLE products(
       product_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
       product_name VARCHAR(50) NOT NULL,
       price DECIMAL,
       category_id INT NOT NULL,
       FOREIGN KEY fk_category(category_id)
       REFERENCES categories(category_id)
    )ENGINE=InnoDB;
    
  2. Membuat Constraint Foreign Key Menggunakan Alter Table

    Anda juga dapat menambahkan constraint foreign key pada sebuah tabel yang sudah ada. Perhatikan contoh di bawah ini:

    CREATE TABLE vendors(
        vendor_id INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
        vendor_name varchar(50)
    )ENGINE=InnoDB;
     
    ALTER TABLE products 
    ADD COLUMN vendor_id INT NOT NULL;
    

    Untuk menambahkan foreign key pada tabel products, Anda dapat menjalakan perintah ALTER TABLE di bawah ini:
    ALTER TABLE products
    ADD FOREIGN KEY fk_vendor(vendor_id)
    REFERENCES vendors(vendor_id);
    

Menghapus Foreign Key

Untuk menghapus constraint foreign key pada sebuah tabel, Anda dapat mengggunakan sintak di bawah ini:

ALTER TABLE table_name 
DROP FOREIGN KEY constraint_name;


Sebagai contoh, asumsikan Anda ingin menghasus constraint foregin key pada tabel products, Anda dapat menjalankan perintah di bawah ini:

ALTER TABLE products
DROP FOREIGN KEY fk_vendor;

Artikel Rekomendasi

Artikel Terkait Fungsi mysql_real_escape_string() Di PHPCara Menggunakan Input Checkbox di PHPMenghitung Pangkat pada PHPCara Menggunakan JSON Di PHPScript PHP dasar Mengirim SMS GatewayMenampilkan IP address dengan PHPVery Simple Captcha Perhitungan dengan PHPCara Mendeteksi Resolusi Gambar dengan PHPSource Code Aplikasi Data mahasiswa Gratis PHP MYSQLCode Enkripsi Deskripsi Sederhana PHP

Diskusi

Cara membuat tabel foreign key mysql

Masih dalam pembahasan tentang tutorial mysql, kali ini rumah code akan membahas tentang tutorial cara membuat primari key dan foreign key pada MySQL. Pada tutorial ini rumah code akan menggunakan contoh database penjualan sebagai implementasi dari database relasional.

Sebelum masuk ke pembahasan utama rumah code akan menerangkan tentang apa itu primary key dan foreign key.

Primary key adalah suatu nilai dalam basis data yang digunakan untuk mengidentifikasi suatu baris dalam tabel. Nilai dari primary key adalah unik.

Foreign key adalah suatu nilai dalam basis data yang berfungsi sebagai kunci tamu dimana kunci ini digunakan sebagai relasi (database relasional) antara dua atau lebih tabel.

Dengan penjelasan di atas tentang Primary key dan foreign key mudah mudahan dapat membantu memahami teman teman yang masih bingung tentang apa itu primary dan foreign key. Sekarang kita akan masuk ke pembahasan utama yaitu query (My)sql tentang pembuatan prmary dan foreing key

Baca Juga : Belajar query sql join pada MySQL

Membuat Primary dan Foreign Key di MySQL

Ada dua cara pembuatan primary key dan foreign key pada MySQL. Yaitu pada saat membuat tabel dengan query sql create tabel atau dengan menambahkan nya kemudian dengan menggunakan query sql alter tabel. Sekarang simak contoh query sql pada database penjualan di bawah ini

CREATE DATABASE penjualan;

CREATE TABLE `transaksi` (
  `trx_id` double NOT NULL,
  `user_id` varchar(20) NOT NULL,
  PRIMARY KEY (trx_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

CREATE TABLE `transaksid` (
  `trxD_id` double NOT NULL,
  `trx_id` double NOT NULL,
  `barang_id` double NOT NULL,
  `trx_qty` int(11) DEFAULT NULL,
  PRIMARY KEY (trxD_id),
  FOREIGN KEY (trx_id) REFERENCES transaksi(trx_id)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

Query mysql di atas adalah contoh pembuatan primary key dan foreign key pada saat  membuat tabel. Sekarang simaklah query di bawah ini

CREATE DATABASE penjualan;

CREATE TABLE `transaksi` (
  `trx_id` double NOT NULL,
  `user_id` varchar(20) NOT NULL,
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;

CREATE TABLE `transaksid` (
  `trxD_id` double NOT NULL,
  `trx_id` double NOT NULL,
  `barang_id` double NOT NULL,
  `trx_qty` int(11) DEFAULT NULL,
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;


ALTER TABLE 'penjualan'.'transaksi'
ADD PRIMARY KEY ('trx_id');

ALTER TABLE  'penjualan'.'transaksid'
ADD PRIMARY KEY ('trxD_id'), 
ADD FOREIGN KEY ('trx_id') REFERENCES transaksi('trx_id');

contoh query mysql diatas adalah query pembuatan tabel tanpa membuat primary key dan foreign key. Nah sekarang simak query di bawah ini untuk membuat primary key dan foreign key.

setelah query create table di atas adalah query pembuatan primary dan foreign key pada database penjualan, tepatnya pada tabel transaksi dan transaksid.

Baca Juga : Tutorial subquery alias dan fungsi pada mysql

Sumber : Primary Key

Artikel Menarik Lainnya

add foreign key mysql, cara membuat foreign key di mysql, contoh database, contoh database penjualan, contoh database relasional, primary key adalah, fungsi primary key, contoh primary key, primary key mysql, primary key and foreign key

Langkah langkah membuat foreign key?

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..

Apa itu foreign key di MySQL?

Constraint FOREIGN KEY adalah kunci yang digunakan untuk menghubungkan dua tabel bersama-sama.

Bagaimana caranya membuat sebuah field menjadi primary key?

Jawaban:.
Pilih dan klik tabel yang ingin Anda ubah primary key-nya..
Klik kanan pada tabel tersebut Kemudian klik Design View..
Pilih dan Klik field yang ingin dijadikan primary key..
Klik tombol perintah Primary Key pada group Tools..

Apa itu foreign key dalam database?

Dalam SQL database sistem manajamen, foreign key adalah pengenal unik atau kombinasi pengenal unik yang menghubungkan dua tabel atau lebih dalam suatu database. Foreign key juga sering disebut sebagai kunci asing.