Khóa Chính, Khóa Ngoại, Khóa Kết Hợp Là Gì?

Cùng tìm hiểu chi tiết về khóa chính, khóa ngoại và khóa kết hợp cùng Mastering Data Analytics nhé!

1. Khóa Chính

Khóa chính (Primary key) là khóa duy nhất để xác định mỗi bản ghi trong một bảng. Chỉ có thể có một khóa chính trong một bảng.

Ví dụ: Trong một cơ sở dữ liệu nhân sự, khóa chính của bảng nhân viên có thể là mã nhân viên.

Chức năng khóa chính: giúp nhanh chóng liên kết dữ liệu từ nhiều bảng và kết hợp chúng một cách có ý nghĩa. Bạn có thể thêm các trường khóa chính trong các bảng khác để tham chiếu trở lại bảng là nguồn của khóa chính. Trong các bảng khác đó, các trường được gọi là khóa ngoại. Phần tiếp theo sẽ chia sẻ kiến thức về khóa ngoại nhé!

2. Khóa Ngoại

Khóa ngoại là trường trong bảng dùng để liên kết với khóa chính của bảng khác để xác định mối quan hệ giữa hai bảng. Có thể có nhiều khóa ngoại trong một bảng.

Ví dụ: Trong một cơ sở dữ liệu nhân sự, khóa ngoại của bảng nhân viên (Department ID) có thể là khóa chính của phòng ban.

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

  • Tham chiếu đến khóa chính của bảng khác, đảm bảo các ràng buộc UNIQUE, NOT NULL tương tự khóa chính. (Các ràng buộc UNIQUE, NOT NULL đã được giới thiệu trong bài KHÓA CHÍNH TRONG SQL)
  • Khóa ngoại phải có cùng kiểu dữ liệu, cùng số lượng trường có sắp xếp tương ứng khóa chính

Chức năng của khóa ngoại là giúp đảm bảo toàn vẹn dữ liệu, không có trường hợp tham chiếu đến dữ liệu không tồn tại.

3. Khóa Kết Hợp

Khóa kết hợp là sự kết hợp của hai hoặc nhiều trường để tạo ra một khóa duy nhất. Được sử dụng khi không có khóa chính duy nhất trong một bảng. Khóa kết hợp có thể là khóa ngoại hoặc không phải khóa ngoại.

Ví dụ: Trong một cơ sở dữ liệu về 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.

Image

Caption: Một ví dụ về cơ sở dữ liệu với khóa chính, khóa ngoại và khóa kết hợp.

Tổng kết

Đó là những khái niệm cơ bản về khóa chính, khóa ngoại và khóa kết hợp trong cơ sở dữ liệu. Hy vọng bài viết này đã giúp bạn hiểu rõ hơn về các khái niệm này. Nếu bạn quan tâm đến việc học về Business Intelligence, hãy liên hệ với Mastering Data Analytics để biết thêm thông tin về khóa học mới nhất.

Liên hệ: 0961 48 48 66 hoặc inbox Fanpage Mastering Data Analytics để đăng ký nhanh nhất nhé!

FEATURED TOPIC