1. Kiến thức trọng tâm
Trong cơ sở dữ liệu quan hệ, các bảng liên kết với nhau thông qua các khóa. Khóa ngoài là một trường trong bảng này tham chiếu tới khóa chính của bảng khác. Nhờ khóa ngoài, dữ liệu giữa các bảng liên kết chặt chẽ, tránh trùng lặp.
Khi tạo lập các bảng có khóa ngoài, cần tạo bảng được tham chiếu trước, sau đó mới tạo bảng chứa khóa ngoài. Ví dụ: tạo bảng Học sinh trước rồi mới tạo bảng Điểm thi có khóa ngoài tham chiếu tới nó, vì hệ quản trị cần bảng được tham chiếu đã tồn tại.
Khóa ngoài còn tạo ra ràng buộc toàn vẹn tham chiếu: giá trị của khóa ngoài phải trùng với một giá trị khóa chính đã có trong bảng được tham chiếu. Nhờ ràng buộc này, không thể nhập điểm cho mã học sinh không tồn tại, cũng không thể xóa học sinh còn điểm thi nếu chưa xử lí các bản ghi liên quan.
2. Ví dụ minh họa
Ví dụ: tạo bảng HocSinh gồm mã học sinh (khóa chính), họ tên, ngày sinh; và bảng DiemThi gồm mã học sinh (khóa ngoài), môn thi, điểm. Các bước: tạo bảng HocSinh trước, nhập hai bản ghi HS01, Nguyễn Văn An, 12/03/2009 và HS02, Trần Thị Bình, 05/07/2009. Sau đó tạo bảng DiemThi với khóa ngoài tham chiếu tới bảng HocSinh, rồi nhập bản ghi HS01, Toán, 8.5. Nếu nhập bản ghi HS99, Toán, 7.0, hệ thống báo lỗi vì HS99 không có trong bảng HocSinh. Nếu xóa học sinh HS01 khi bảng DiemThi còn điểm của học sinh này, hệ thống cũng báo lỗi hoặc cảnh báo.
3. Ghi nhớ
- Khóa ngoài là trường tham chiếu tới khóa chính của bảng khác, dùng để liên kết các bảng.
- Tạo bảng được tham chiếu trước, tạo bảng chứa khóa ngoài sau.
- Ràng buộc toàn vẹn tham chiếu ngăn nhập dữ liệu không nhất quán giữa các bảng.
- Không thể xóa bản ghi đang được tham chiếu khi còn bản ghi liên quan ở bảng chứa khóa ngoài.
