tutorial pengembangan web terbaru
 

SQL ASING Kendala KUNCI


SQL FOREIGN KEY Kendala

KUNCI ASING di satu meja poin untuk PRIMARY KEY di meja lain.

Mari kita menggambarkan kunci asing dengan sebuah contoh. Lihatlah dua tabel berikut:

The "Persons" tabel:

P_Id LastName FirstName Address City
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger

The "Orders" tabel:

O_Id OrderNo P_Id
1 77895 3
2 44678 3
3 22456 2
4 24562 1

Perhatikan bahwa "P_Id" kolom dalam "Orders" tabel poin ke "P_Id" kolom dalam "Persons" tabel.

The "P_Id" kolom dalam "Persons" tabel adalah PRIMARY KEY di "Persons" tabel.

The "P_Id" kolom dalam "Orders" tabel adalah FOREIGN KEY dalam "Orders" meja.

Kendala FOREIGN KEY digunakan untuk mencegah tindakan yang akan merusak hubungan antara tabel.

Kendala FOREIGN KEY juga mencegah data yang tidak valid dari yang dimasukkan ke dalam kolom kunci asing, karena itu harus menjadi salah satu nilai yang terkandung dalam tabel ini menunjuk ke.


SQL FOREIGN KEY Kendala CREATE TABLE

SQL berikut membuat KEY FOREIGN pada "P_Id" kolom ketika "Orders" tabel dibuat:

MySQL:

CREATE TABLE Orders
(
O_Id int NOT NULL,
OrderNo int NOT NULL,
P_Id int,
PRIMARY KEY (O_Id),
FOREIGN KEY (P_Id) REFERENCES Persons(P_Id)
)

SQL Server / Oracle / MS Access:

CREATE TABLE Orders
(
O_Id int NOT NULL PRIMARY KEY,
OrderNo int NOT NULL,
P_Id int FOREIGN KEY REFERENCES Persons(P_Id)
)

Untuk memungkinkan penamaan kendala FOREIGN KEY, dan untuk mendefinisikan kendala FOREIGN KEY pada beberapa kolom, menggunakan sintaks SQL berikut:

MySQL / SQL Server / Oracle / MS Access:

CREATE TABLE Orders
(
O_Id int NOT NULL,
OrderNo int NOT NULL,
P_Id int,
PRIMARY KEY (O_Id),
CONSTRAINT fk_PerOrders FOREIGN KEY (P_Id)
REFERENCES Persons(P_Id)
)

SQL FOREIGN KEY Kendala pada ALTER TABLE

Untuk membuat kendala FOREIGN KEY pada "P_Id" kolom ketika "Orders" tabel sudah dibuat, gunakan SQL berikut:

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Orders
ADD FOREIGN KEY (P_Id)
REFERENCES Persons(P_Id)

Untuk memungkinkan penamaan kendala FOREIGN KEY, dan untuk mendefinisikan kendala FOREIGN KEY pada beberapa kolom, menggunakan sintaks SQL berikut:

MySQL / SQL Server / Oracle / MS Access:

ALTER TABLE Orders
ADD CONSTRAINT fk_PerOrders
FOREIGN KEY (P_Id)
REFERENCES Persons(P_Id)

Untuk DROP Kendala FOREIGN KEY

Untuk menjatuhkan kendala FOREIGN KEY, gunakan SQL berikut:

MySQL:

ALTER TABLE Orders
DROP FOREIGN KEY fk_PerOrders

SQL Server / Oracle / MS Access:

ALTER TABLE Orders
DROP CONSTRAINT fk_PerOrders