Ràng buộc FOREIGN KEY trong SQL




Một FOREIGN KEY là một khóa được sử dụng để liên kết hai bảng với nhau. Đôi khi, nó còn được gọi như là một khóa tham chiếu.

FOREIGN KEY là một cột hoặc một tổ hợp các cột có các giá trị so khớp với một PRIMARY KEY trong một bảng khác.

Mối quan hệ giữa 2 bảng so khớp là PRIMARY KEY ở một trong hai bảng với một FOREIGN KEY trong bảng thứ hai.

Nếu một bảng có một PRIMARY KEY đã được định nghĩa trên bất kỳ trường nào, thì bạn không thể có hai bản ghi có cùng giá trị trong các trường đó.

Ví dụ

Giả sử cấu trúc của hai bảng như sau:

Bảng SINHVIEN:

CREATE TABLE SINHVIEN(
       ID   INT              NOT NULL,
       TEN VARCHAR (20)     NOT NULL,
       TUOI  INT              NOT NULL,
       KHOAHOC  CHAR (25) ,
       HOCPHI   DECIMAL (18, 2),       
       PRIMARY KEY (ID)
);

Bảng MUONSACH:

CREATE TABLE MUONSACH (
       ID          INT        NOT NULL,
       NGAY        DATETIME, 
       SINHVIEN_ID INT references SINHVIEN(ID),
       SOTIEN     double,
       PRIMARY KEY (ID)
);

Nếu bảng MUONSACH đã được tạo, và FOREIGN KEY vẫn chưa được thiết lập, bạn sử dụng cú pháp sau để xác định một FOREIGN KEY.

ALTER TABLE MUONSACH 
   ADD FOREIGN KEY (SINHVIEN_ID) REFERENCES SINHVIEN (ID);

Xóa một ràng buộc FOREIGN KEY trong SQL

Để xóa một ràng buộc FOREIGN KEY, bạn sử dụng cú pháp SQL sau:

ALTER TABLE MUONSACH
   DROP FOREIGN KEY;

rang_buoc_trong_sql.jsp