JavaScript is required

Ω = {A, B, C, D, E, G}, F = {B --> C, C --> B, A --> GD}, khóa quan hệ là:

A.

ACE.

B.

ABC.

C.

AC.

D.
AB.
Trả lời:

Đáp án đúng: A


Để tìm khóa của quan hệ, ta cần tìm tập thuộc tính nhỏ nhất mà từ đó có thể suy dẫn ra tất cả các thuộc tính khác của quan hệ. Trong trường hợp này, ta có tập phụ thuộc hàm F = {B → C, C → B, A → GD}. Xét phương án A. AC: Từ AC, ta có thể suy ra: - A → GD (theo F) - Không thể suy ra B hoặc E. => AC không phải là khóa. Xét phương án B. ACE: - Từ ACE, ta có thể suy ra: - A → GD (theo F) Vậy ACE → ACEGD. Không thể suy ra B => ACE không phải là khóa Xét phương án C. AC: Từ AC, ta có thể suy ra: - A → GD (theo F) - Không thể suy ra B hoặc E. => AC không phải là khóa. Xét phương án D. AB: Từ AB, ta có thể suy ra: - B → C (theo F) - C → B (theo F), cái này không giúp ta có thêm thông tin - A → GD (theo F) Vậy AB → ABCGD. Không thể suy ra E. => AB không phải là khóa. Tuy nhiên, nếu xét tập thuộc tính AE, ta có: - A → GD Vậy AE → AEGD. Cũng không suy ra được B và C Xét tập thuộc tính BE, ta có: - B --> C Vậy BE --> BCE. Cũng không suy ra được A, D, G Xét tập thuộc tính CE, ta có: - C --> B Vậy CE --> BCE. Cũng không suy ra được A, D, G Xét tập thuộc tính ABCDEG, ta có: ABCDEG --> ABCDEG (trivial) Như vậy, không có đáp án nào trong các phương án trên là khóa của quan hệ. Bài toán bị thiếu dữ kiện để có thể xác định một khóa duy nhất. Cần có thêm thông tin về quan hệ hoặc các phụ thuộc hàm để xác định chính xác.

Câu hỏi liên quan