Foreign Key là gì?

Foreign Key (Khóa ngoại) là một ràng buộc trong cơ sở dữ liệu quan hệ được sử dụng để liên kết hai bảng với nhau. Khóa ngoại trỏ đến khóa chính của một bảng khác, giúp đảm bảo tính toàn vẹn dữ liệu bằng cách ngăn chặn các bản ghi tham chiếu đến các giá trị không tồn tại.

Đặc điểm của Foreign Key:

  • Tham chiếu đến khóa chính của bảng khác: Khóa ngoại phải tham chiếu đến khóa chính của một bảng khác trong cùng cơ sở dữ liệu.
  • Có thể bao gồm một hoặc nhiều cột: Khóa ngoại có thể bao gồm một cột hoặc nhiều cột.
  • Giảm thiểu lỗi dữ liệu: Khóa ngoại giúp giảm thiểu lỗi dữ liệu bằng cách ngăn chặn các bản ghi tham chiếu đến các giá trị không tồn tại.

Lợi ích của Foreign Key:

  • Đảm bảo tính toàn vẹn dữ liệu: Foreign Key giúp đảm bảo tính toàn vẹn dữ liệu bằng cách ngăn chặn các bản ghi tham chiếu đến các giá trị không tồn tại.
  • Cải thiện hiệu suất truy vấn: Foreign Key có thể được sử dụng để cải thiện hiệu suất truy vấn bằng cách cung cấp cho cơ sở dữ liệu một cách hiệu quả để tìm kiếm các bản ghi liên quan.
  • Mô hình hóa các mối quan hệ giữa các bảng: Foreign Key được sử dụng để mô hình hóa các mối quan hệ giữa các bảng trong cơ sở dữ liệu quan hệ.

Ví dụ về Foreign Key:

Giả sử bạn có hai bảng:

  • Bảng Students: Bảng này lưu trữ thông tin về học sinh, với các cột sau:
    • student_id (Mã học sinh – Khóa chính)
    • name (Tên)
    • age (Tuổi)
    • class (Lớp học)
  • Bảng Grades: Bảng này lưu trữ điểm số của học sinh, với các cột sau:
    • grade_id (Mã điểm – Khóa chính)
    • student_id (Mã học sinh – Khóa ngoại)
    • subject (Môn học)
    • score (Điểm số)

Trong ví dụ này, cột student_id trong bảng Grades là khóa ngoại tham chiếu đến cột student_id trong bảng Students. Điều này đảm bảo rằng mỗi điểm số được liên kết với một học sinh hiện có trong bảng Students.

Lưu ý:

  • Mỗi cột tham chiếu phải có cùng kiểu dữ liệu với cột được tham chiếu.
  • Cột được tham chiếu không được phép chứa giá trị null.
  • Khi xóa bản ghi được tham chiếu, các bản ghi tham chiếu đến bản ghi đó cũng có thể bị xóa hoặc cập nhật tự động, tùy thuộc vào quy tắc xóa được thiết lập cho khóa ngoại.

Ngoài Foreign Key, còn có một số loại khóa khác trong cơ sở dữ liệu quan hệ, bao gồm:

  • Primary Key (Khóa chính): Khóa chính được sử dụng để xác định duy nhất mỗi bản ghi trong một bảng.
  • Unique Key (Khóa duy nhất): Khóa duy nhất đảm bảo rằng không có hai bản ghi nào trong bảng có cùng giá trị cho tất cả các cột trong khóa duy nhất.
  • Candidate Key (Khóa ứng viên): Khóa ứng viên là bất kỳ tập hợp nào của các cột có thể được sử dụng làm khóa chính.

Kết luận:

Foreign Key là một ràng buộc quan trọng trong cơ sở dữ liệu quan hệ giúp đảm bảo tính toàn vẹn dữ liệu, cải thiện hiệu suất truy vấn và mô hình hóa các mối quan hệ giữa các bảng.

 

Datalinks.vn

Hello các bạn, tôi là Dương Nguyễn (DuoDBA), là người đang tập tành viết lách trên blog này. Mong muốn được chia sẻ kiến thức và kinh nghiệm về cơ sở dữ liệu với những người đam mê và quan tâm đến lĩnh vực này. #Tôi có tổ chức các khoá Coaching về #OracleDatabase và luyện thi #OCP thường xuyên, các bạn cần người đồng hành thì alo tôi nhé. Call/Zalo: 0765 871 888. Thanks you !.....
0 0 đánh giá
Đánh giá bài viết
Theo dõi
Thông báo của
guest

0 Góp ý
Phản hồi nội tuyến
Xem tất cả bình luận