JavaScript is required

F:={AB --> C,D --> EG,C--> A,BE --> C, BC --> D, CG --> BD,ACD --> B, CE --> AG}:

A.

EB, CE, BC không là khóa của lược đồ quan hệ

B.

EC, CE, BC khóa của lược đồ quan hệ

C.

AB, CG, CD không là khóa của lược đồ quan hệ

D.

AB, CG, CD khóa của lược đồ quan hệ

Trả lời:

Đáp án đúng: D


Để xác định khóa của lược đồ quan hệ, ta cần tìm tập các thuộc tính nhỏ nhất mà bao đóng của nó chứa tất cả các thuộc tính của lược đồ. Từ đó suy ra các tập thuộc tính không phải khóa. Ta có F={AB --> C, D --> EG, C--> A, BE --> C, BC --> D, CG --> BD, ACD --> B, CE --> AG}. Xét AB: AB+ = ABC (AB --> C) ABC+ = ABCD (BC --> D, C --> A) ABCD+ = ABCDEG (D --> EG) Vậy AB+ = ABCDEG. Do đó, AB là siêu khóa. Xét CG: CG+ = CGBD (CG --> BD) CBGD+ = CBGDA (C --> A) CBGDA+ = CBGDAEG (D --> EG) Vậy CG+ = CBGDAEG. Do đó, CG là siêu khóa. Xét CD: CD+ = CDEG (D --> EG) CDEG+ = CDEAG (CE --> AG) CDEAG+ = CDEAGB (ACD --> B) Vậy CD+ = CDEAGB. Do đó, CD là siêu khóa. Xét EC: EC+ = ECAG (CE --> AG) ECAG+ = ECAGBD (CG --> BD) Vậy EC+ = ECAGBD. Do đó, EC là siêu khóa. Xét CE: CE+ = CEAG (CE --> AG) CEAG+ = CEAGBD (CG --> BD) Vậy CE+ = CEAGBD. Do đó, CE là siêu khóa. Xét BC: BC+ = BCD (BC --> D) BCD+ = BCDEG (D --> EG) BCDEG+ = BCDEGA (C --> A) Vậy BC+ = BCDEGA. Do đó, BC là siêu khóa. Do AB, CG, CD, EC, CE, BC đều là siêu khóa nên các phát biểu AB, CG, CD khóa của lược đồ quan hệ, EC, CE, BC khóa của lược đồ quan hệ đều sai. Do đó, EB, CE, BC không là khóa của lược đồ quan hệ và AB, CG, CD không là khóa của lược đồ quan hệ đều đúng. Tuy nhiên, đáp án "AB, CG, CD không là khóa của lược đồ quan hệ" là đáp án chính xác hơn vì EB không xuất hiện trong các siêu khóa.

Tổng hợp câu hỏi trắc nghiệm lập trình cơ sở dữ liệu SQL có đáp án đầy đủ nhằm giúp các bạn dễ dàng ôn tập lại toàn bộ các kiến thức.


50 câu hỏi 60 phút

Câu hỏi liên quan