Site icon donghochetac

Khóa Ngoại Là Gì? Tìm Hiểu Về Khóa Chính, Khóa Ngoại và Khóa Kết Hợp

Minh họa các loại khóa chính (primary key) trong cơ sở dữ liệu quan hệ

Minh họa các loại khóa chính (primary key) trong cơ sở dữ liệu quan hệ

Cùng nhau khám phá chi tiết về các loại khóa quan trọng trong cơ sở dữ liệu: khóa chính, khóa ngoại và khóa kết hợp. Bài viết này sẽ tập trung vào việc giải thích Khóa Ngoại Là Gì và cách nó liên kết các bảng dữ liệu với nhau.

Khóa Chính (Primary Key)

Khóa chính là một trường hoặc tập hợp các trường trong một bảng được sử dụng để xác định duy nhất mỗi bản ghi. Một bảng chỉ có thể có một khóa chính.

Ví dụ, trong bảng “Nhân viên”, “Mã nhân viên” thường được sử dụng làm khóa chính vì nó đảm bảo mỗi nhân viên có một mã số duy nhất.

Chức năng chính của khóa chính là liên kết dữ liệu giữa các bảng một cách hiệu quả. Nó cho phép bạn tham chiếu dữ liệu từ bảng này sang bảng khác, tạo ra các mối quan hệ có ý nghĩa trong cơ sở dữ liệu. Khi một trường khóa chính được sử dụng trong một bảng khác, nó được gọi là khóa ngoại.

Minh họa các loại khóa chính (primary key) trong cơ sở dữ liệu quan hệMinh họa các loại khóa chính (primary key) trong cơ sở dữ liệu quan hệ

Khóa Ngoại (Foreign Key) – Liên Kết Dữ Liệu Giữa Các Bảng

Khóa ngoại là gì? Khóa ngoại là một trường trong một bảng, tham chiếu đến khóa chính của một bảng khác. Nó tạo ra một liên kết giữa hai bảng, cho phép bạn truy vấn và kết hợp dữ liệu từ cả hai bảng dựa trên mối quan hệ này. Một bảng có thể có nhiều khóa ngoại.

Ví dụ: Xét cơ sở dữ liệu quản lý nhân sự, bảng “Nhân viên” có một cột “Mã phòng ban”. Cột này tham chiếu đến “Mã phòng ban” (khóa chính) trong bảng “Phòng ban”. Như vậy, “Mã phòng ban” trong bảng “Nhân viên” chính là khóa ngoại.

Điều kiện để tạo khóa ngoại:

  • Khóa ngoại phải tham chiếu đến một khóa chính hiện có trong một bảng khác.
  • Kiểu dữ liệu của khóa ngoại phải tương thích với kiểu dữ liệu của khóa chính mà nó tham chiếu đến.
  • Khóa ngoại có thể chấp nhận giá trị NULL nếu không có ràng buộc NOT NULL được áp dụng.

Chức năng quan trọng của khóa ngoại:

  • Đảm bảo tính toàn vẹn dữ liệu (Data Integrity): Khóa ngoại ngăn chặn việc nhập dữ liệu không hợp lệ bằng cách đảm bảo rằng bất kỳ giá trị nào được nhập vào cột khóa ngoại đều phải tồn tại trong bảng mà nó tham chiếu đến. Điều này giúp tránh tình trạng “dữ liệu mồ côi” (orphaned data) và đảm bảo tính nhất quán của dữ liệu.
  • Xây dựng mối quan hệ giữa các bảng: Tạo ra mối liên kết rõ ràng giữa các bảng, cho phép truy vấn dữ liệu từ nhiều bảng một cách dễ dàng và hiệu quả.
  • Duy trì tính nhất quán dữ liệu: Khi một bản ghi trong bảng khóa chính bị xóa hoặc cập nhật, các bản ghi liên quan trong bảng có khóa ngoại sẽ bị ảnh hưởng, tùy thuộc vào các quy tắc ràng buộc được thiết lập (ví dụ: xóa theo tầng (cascade delete), cập nhật theo tầng (cascade update)).

Khóa Kết Hợp (Composite Key)

Khóa kết hợp là sự kết hợp của hai hoặc nhiều trường trong một bảng để tạo thành một khóa duy nhất. Nó được sử dụng khi không có một trường duy nhất nào có thể xác định duy nhất mỗi bản ghi trong bảng. Khóa kết hợp có thể là khóa ngoại hoặc không.

Ví dụ: Trong một cơ sở dữ liệu về điểm số học sinh, khóa kết hợp của bảng “Điểm” có thể là “Mã học sinh” và “Mã môn học”, vì một học sinh có thể có nhiều điểm cho các môn học khác nhau.

Exit mobile version