Sự khác biệt giữa khóa ứng viên và siêu khóa là gì?


Câu trả lời 1:

Khóa ứng viên:

  • Khóa ứng viên đơn giản là siêu khóa "ngắn nhất". Khóa ứng viên là các cột riêng lẻ trong một bảng đủ điều kiện về tính duy nhất của mỗi hàng / tuple. Mỗi bảng phải có ít nhất một khóa ứng viên nhưng đồng thời có thể có một vài khóa. tập hợp các thuộc tính siêu khóa là duy nhất. Do đó, việc xóa bất kỳ thuộc tính nào khỏi khóa ứng viên sẽ khiến nó không phải là duy nhất. Các khóa xử lý là các khóa đó là ứng cử viên cho khóa chính của bảng. Nói một cách đơn giản, chúng ta có thể hiểu rằng loại khóa đó chứa đầy đủ tất cả các yêu cầu của khóa chính không phải là null và có các bản ghi duy nhất là một ứng cử viên cho khóa chính.

Siêu khóa:

  • Một siêu khóa là bất kỳ tập hợp các thuộc tính nào mà các giá trị được đảm bảo là duy nhất cho tất cả các bộ dữ liệu có thể có trong một bảng mọi lúc. Khóa bộ đệm là một bộ gồm một hoặc nhiều khóa có thể được sử dụng để xác định một bản ghi duy nhất trong một bảng. Khóa chính, Khóa duy nhất, Khóa thay thế là tập hợp con của Super Keys. Super Key chỉ đơn giản là một khóa Ứng viên không tối thiểu, nghĩa là một cột có các cột bổ sung không được yêu cầu nghiêm ngặt để đảm bảo tính duy nhất của hàng. có thể xác định duy nhất mỗi bộ dữ liệu (bản ghi).

Tìm hiểu thêm về các khóa được sử dụng trong cơ sở dữ liệu tại các loại khóa khác nhau trong cơ sở dữ liệu

Tìm hiểu cơ bản về cơ sở dữ liệu SQL từ video dưới đây


Câu trả lời 2:

Hãy lấy ví dụ về bảng Nhân viên: Nhân viên (ID nhân viên, FullName, SSN, DeptID)

Ở đây Khóa ứng viên: là các cột riêng lẻ trong một bảng đủ điều kiện cho tính duy nhất của tất cả các hàng. Ở đây trong bảng Nhân viên EmployeeID & SSN là các khóa Ứng viên.

Và Siêu khóa: Nếu bạn thêm bất kỳ cột / thuộc tính nào khác vào Khóa chính thì nó sẽ trở thành một siêu khóa, giống như EmployeeID + FullName là một Siêu khóa.

Ngoài ra còn có các loại Khóa khác:

3. Khóa chính: là các cột bạn chọn để duy trì tính duy nhất trong bảng. Ở đây trong bảng Nhân viên, bạn có thể chọn các cột EmployeeID hoặc SSN, EmployeeID là lựa chọn thích hợp hơn, vì SSN là một giá trị an toàn.

4. Khóa thay thế: Cột ứng viên khác cột Chính, như nếu EmployeeID là PK thì SSN sẽ là khóa Thay thế.

5. Khóa tổng hợp: Nếu một bảng không có bất kỳ cột nào đủ điều kiện cho khóa Ứng viên, thì bạn phải chọn 2 hoặc nhiều cột để tạo một hàng duy nhất. Giống như nếu không có cột EmployeeID hoặc SSN, thì bạn có thể đặt FullName + DateOfBirth làm Khóa chính tổng hợp. Nhưng vẫn có thể có một cơ hội hẹp của hàng trùng lặp.

Kiểm tra tại đây: Thông tin cơ bản về DB - Ứng viên, khóa chính, khóa tổng hợp & siêu khóa và sự khác biệt giữa chúng là gì?

~ SQL với Manoj


Câu trả lời 3:

Hãy lấy ví dụ về bảng Nhân viên: Nhân viên (ID nhân viên, FullName, SSN, DeptID)

Ở đây Khóa ứng viên: là các cột riêng lẻ trong một bảng đủ điều kiện cho tính duy nhất của tất cả các hàng. Ở đây trong bảng Nhân viên EmployeeID & SSN là các khóa Ứng viên.

Và Siêu khóa: Nếu bạn thêm bất kỳ cột / thuộc tính nào khác vào Khóa chính thì nó sẽ trở thành một siêu khóa, giống như EmployeeID + FullName là một Siêu khóa.

Ngoài ra còn có các loại Khóa khác:

3. Khóa chính: là các cột bạn chọn để duy trì tính duy nhất trong bảng. Ở đây trong bảng Nhân viên, bạn có thể chọn các cột EmployeeID hoặc SSN, EmployeeID là lựa chọn thích hợp hơn, vì SSN là một giá trị an toàn.

4. Khóa thay thế: Cột ứng viên khác cột Chính, như nếu EmployeeID là PK thì SSN sẽ là khóa Thay thế.

5. Khóa tổng hợp: Nếu một bảng không có bất kỳ cột nào đủ điều kiện cho khóa Ứng viên, thì bạn phải chọn 2 hoặc nhiều cột để tạo một hàng duy nhất. Giống như nếu không có cột EmployeeID hoặc SSN, thì bạn có thể đặt FullName + DateOfBirth làm Khóa chính tổng hợp. Nhưng vẫn có thể có một cơ hội hẹp của hàng trùng lặp.

Kiểm tra tại đây: Thông tin cơ bản về DB - Ứng viên, khóa chính, khóa tổng hợp & siêu khóa và sự khác biệt giữa chúng là gì?

~ SQL với Manoj


Câu trả lời 4:

Hãy lấy ví dụ về bảng Nhân viên: Nhân viên (ID nhân viên, FullName, SSN, DeptID)

Ở đây Khóa ứng viên: là các cột riêng lẻ trong một bảng đủ điều kiện cho tính duy nhất của tất cả các hàng. Ở đây trong bảng Nhân viên EmployeeID & SSN là các khóa Ứng viên.

Và Siêu khóa: Nếu bạn thêm bất kỳ cột / thuộc tính nào khác vào Khóa chính thì nó sẽ trở thành một siêu khóa, giống như EmployeeID + FullName là một Siêu khóa.

Ngoài ra còn có các loại Khóa khác:

3. Khóa chính: là các cột bạn chọn để duy trì tính duy nhất trong bảng. Ở đây trong bảng Nhân viên, bạn có thể chọn các cột EmployeeID hoặc SSN, EmployeeID là lựa chọn thích hợp hơn, vì SSN là một giá trị an toàn.

4. Khóa thay thế: Cột ứng viên khác cột Chính, như nếu EmployeeID là PK thì SSN sẽ là khóa Thay thế.

5. Khóa tổng hợp: Nếu một bảng không có bất kỳ cột nào đủ điều kiện cho khóa Ứng viên, thì bạn phải chọn 2 hoặc nhiều cột để tạo một hàng duy nhất. Giống như nếu không có cột EmployeeID hoặc SSN, thì bạn có thể đặt FullName + DateOfBirth làm Khóa chính tổng hợp. Nhưng vẫn có thể có một cơ hội hẹp của hàng trùng lặp.

Kiểm tra tại đây: Thông tin cơ bản về DB - Ứng viên, khóa chính, khóa tổng hợp & siêu khóa và sự khác biệt giữa chúng là gì?

~ SQL với Manoj