http://vietjack.com/sql/index.jsp Copyright © vietjack.com http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Page 1 Ràng buộc FOREIGN KEY trong SQL Một FOREIGN KEY là một k
Trang 1http://vietjack.com/sql/index.jsp Copyright © vietjack.com
http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Page 1
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 )
);
Trang 2http://vietjack.com/sql/index.jsp Copyright © vietjack.com
http://vietjack.com/ Trang chia sẻ các bài học online miễn phí Page 2
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 ;