Kata Kunci KUNCI ASING SQL
KUNCI ASING
Batasan FOREIGN KEY
adalah kunci yang digunakan untuk menghubungkan dua tabel bersama-sama.
KUNCI ASING adalah bidang (atau kumpulan bidang) dalam satu tabel yang merujuk ke KUNCI UTAMA di tabel lain.
SQL FOREIGN KEY pada CREATE TABLE
SQL berikut membuat KUNCI ASING di kolom "PersonID" saat tabel "Pesanan" dibuat:
MySQL:
CREATE TABLE Orders
(
OrderID int NOT NULL,
OrderNumber 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,
OrderNumber int NOT NULL,
PersonID int FOREIGN KEY REFERENCES Persons(PersonID)
);
Untuk mengizinkan penamaan batasan KUNCI ASING, dan untuk mendefinisikan batasan KUNCI ASING pada beberapa kolom, gunakan sintaks SQL berikut:
MySQL / SQL Server / Oracle / MS Access:
CREATE TABLE Orders
(
OrderID int NOT NULL,
OrderNumber int NOT NULL,
PersonID int,
PRIMARY KEY (OrderID),
CONSTRAINT FK_PersonOrder FOREIGN KEY (PersonID)
REFERENCES Persons(PersonID)
);
SQL FOREIGN KEY pada ALTER TABLE
Untuk membuat batasan FOREIGN KEY pada kolom "PersonID" saat tabel "Pesanan" sudah dibuat, gunakan SQL berikut:
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Orders
ADD FOREIGN KEY (PersonID)
REFERENCES Persons(PersonID);
Untuk mengizinkan penamaan batasan KUNCI ASING, dan untuk mendefinisikan batasan KUNCI ASING pada beberapa kolom, gunakan sintaks SQL berikut:
MySQL / SQL Server / Oracle / MS Access:
ALTER TABLE Orders
ADD CONSTRAINT FK_PersonOrder
FOREIGN KEY (PersonID)
REFERENCES Persons(PersonID);
JATUHKAN Hambatan KUNCI ASING
Untuk menghilangkan batasan FOREIGN KEY, gunakan SQL berikut:
MySQL:
ALTER TABLE Orders
DROP FOREIGN KEY FK_PersonOrder;
SQL Server / Oracle / MS Access:
ALTER TABLE Orders
DROP CONSTRAINT FK_PersonOrder;