Agar lebih jelas, Anda dapat melihat contoh gambar relasi antara dua tabel di bawah ini:
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 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)
Membuat Foreign Key
Untuk membuat sebuah constraint foreign key, Ada 2 cara yang Anda bisa gunakan yaitu:- 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;
- 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;
0 comments:
Post a Comment