Khóa ngoại

Bách khoa toàn thư mở Wikipedia
Bước tới: menu, tìm kiếm

Khóa ngoại lai, thường gọi là khoá ngoại hay khóa ngoài, (tiếng Anh: foreign key) là một trường (field) hay một nhóm trường trong một bản ghi (record) của một bảng (table), trỏ (point) đến khóa của một bản ghi khác của một bảng (thường thì hai bảng này khác nhau). Thông thường, khóa ngoài trong một bảng trỏ đến khóa chính (primary key) của một bảng khác. Kiểu tham chiếu này có thể liên kết các thông tin lại với nhau và nó là một phần quan trọng của quá trình chuẩn hóa dữ liệu. Khóa ngoài tham chiếu tới chính bảng chứa nó được gọi là khóa ngoài đệ quy.

Ví dụ, người gửi một bức thư điện tử giới thiệu về một cuốn sách không cần phải đưa toàn bộ nội dung cuốn sách vào trong bức thư. Thay vào đó, họ có thể ghi số đăng ký xuất bản (ISBN) của cuốn sách, và người quan tâm có thể dùng số hiệu đó để lấy thông tin về quyển sách hoặc chính cuốn sách đó. Số hiệu xuất bản là khóa chính của cuốn sách, và nó được dùng làm khóa ngoài trong bức thư điện tử.

Việc sử dụng khóa ngoài thường đi kèm với giả thiết rằng nó là một khóa chính ở đâu đó. Quan hệ khóa chính/khóa ngoài không đúng là nguồn gốc của rất nhiều rắc rối trong cơ sở dữ liệu (xem thêm tính toàn vẹn tham chiếu).

Một ràng buộc khóa ngoại lai là một ràng buộc rằng không được xóa dữ liệu làm khóa ngoại lai trong một bản ghi khi còn có những bản ghi khác giả thiết rằng nó vẫn tồn tại.