JavaScript is required

Trong hệ quản trị cơ sở dữ liệu, mối quan hệ "nhiều - nhiều" giữa hai bảng được xác định bằng cách sử dụng gì?

A.

Khóa chính

B.

Khóa ngoại

C.

Bảng trung gian

D.
Câu lệnh JOIN
Trả lời:

Đáp án đúng: C


Trong hệ quản trị cơ sở dữ liệu (DBMS), mối quan hệ "nhiều - nhiều" giữa hai bảng không thể được biểu diễn trực tiếp bằng cách sử dụng khóa chính hoặc khóa ngoại trên chính hai bảng đó. Thay vào đó, người ta sử dụng một bảng trung gian (hay còn gọi là bảng liên kết, bảng giao) để giải quyết vấn đề này.

Giải thích:

  • Khóa chính (A): Khóa chính dùng để định danh duy nhất một bản ghi trong một bảng. Nó không liên quan trực tiếp đến việc thiết lập mối quan hệ nhiều - nhiều.
  • Khóa ngoại (B): Khóa ngoại được sử dụng để liên kết một bảng với một bảng khác. Trong mối quan hệ một - nhiều, khóa ngoại được thêm vào bảng "nhiều". Tuy nhiên, trong mối quan hệ nhiều - nhiều, việc sử dụng khóa ngoại trực tiếp giữa hai bảng sẽ không hiệu quả.
  • Bảng trung gian (C): Bảng trung gian có hai khóa ngoại, mỗi khóa ngoại tham chiếu đến khóa chính của một trong hai bảng ban đầu. Bảng trung gian này biểu diễn mối quan hệ giữa các bản ghi từ hai bảng ban đầu. Mỗi bản ghi trong bảng trung gian đại diện cho một mối quan hệ cụ thể giữa một bản ghi từ bảng thứ nhất và một bản ghi từ bảng thứ hai.
  • Câu lệnh JOIN (D): Câu lệnh JOIN là một thao tác trong SQL dùng để kết hợp các hàng từ hai hoặc nhiều bảng dựa trên một cột liên quan. Mặc dù JOIN được sử dụng để truy vấn dữ liệu từ các bảng có quan hệ, nó không phải là cách để *xác định* mối quan hệ nhiều - nhiều.

Ví dụ, nếu ta có hai bảng là SinhVienKhoaHoc, và một sinh viên có thể học nhiều khóa học, và một khóa học có thể có nhiều sinh viên, ta sẽ tạo một bảng trung gian là SinhVien_KhoaHoc. Bảng này sẽ có hai cột là MaSinhVien (khóa ngoại tham chiếu đến SinhVien) và MaKhoaHoc (khóa ngoại tham chiếu đến KhoaHoc).

Vì vậy, đáp án đúng là C.

Câu hỏi liên quan