Home » SQL » Keyword FOREIGN KEY SQL : Fungsi dan Contohnya

Keyword FOREIGN KEY SQL : Fungsi dan Contohnya

by Hanifah Nurbaeti
by Hanifah Nurbaeti

Section Artikel

FOREIGN KEY

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

FOREIGN KEY adalah field (atau kumpulan field) dalam satu tabel yang merujuk ke PRIMARY KEY di tabel lain.

SQL FOREIGN KEY di CREATE TABLE

SQL berikut membuat constraint FOREIGN KEY di kolom “PersonID” ketika tabel “Order” dibuat:

MySQL:

CREATE TABLE Orders (
    OrderID int NOT NULL,
    NomorPesanan int NOT NULL,
    PersonID int,
    PRIMARY KEY (OrderID),
    FOREIGN KEY (PersonID) REFERENCES Persons(PersonID)
);

SQL Server / Oracle / MS Access:

CREATE TABLE Orders (
    OrderID int NOT NULL PRIMARY KEY,
    NomorPesanan int NOT NULL,
    PersonID int FOREIGN KEY REFERENCES Persons(PersonID)
);

Untuk mengizinkan penamaan constraint FOREIGN KEY dan untuk menentukan constraint FOREIGN KEY pada beberapa kolom, gunakan sintaks SQL berikut:

SQL Server / Oracle / MS Access:

CREATE TABLE Orders (
    OrderID int NOT NULL,
    NomorPesanan int NOT NULL,
    PersonID int,
    PRIMARY KEY (OrderID),
    CONSTRAINT FK_PersonOrder FOREIGN KEY (PersonID)
    REFERENCES Persons(PersonID)
);

SQL FOREIGN KEY di ALTER TABLE

Untuk membuat constraint FOREIGN KEY pada kolom “PersonID” ketika tabel “Orders” sudah dibuat, gunakan SQL berikut ini:

SQL Server / Oracle / MS Access:

ALTER TABLE Orders
ADD FOREIGN KEY (PersonID) REFERENCES Persons(PersonID);

Untuk mengizinkan penamaan constraint FOREIGN KEY, dan untuk menentukan constraint FOREIGN KEY pada beberapa kolom, gunakan sintaks SQL berikut:

SQL Server / Oracle / MS Access:

ALTER TABLE Orders
ADD CONSTRAINT FK_PersonOrder
FOREIGN KEY (PersonID) REFERENCES Persons(PersonID);

SQL FOREIGN KEY di DROP TABLE

Untuk menghapus constraint FOREIGN KEY, gunakan SQL berikut ini:

MySQL:

ALTER TABLE Orders
DROP FOREIGN KEY FK_PersonOrder;

SQL Server / Oracle / MS Access:

ALTER TABLE Orders
DROP CONSTRAINT FK_PersonOrder;

You may also like