Trắc nghiệm Cánh diều Tin học 11 Tin học ứng dụng Cánh diều Bài 3 Liên kết các bảng trong cơ sở dữ liệu
1. Nếu một bảng có nhiều khóa ngoại, mỗi khóa ngoại đó tham chiếu đến một bảng khác nhau. Điều này cho phép bảng đó thực hiện chức năng gì?
A. Tạo mối quan hệ một-một với tất cả các bảng được tham chiếu.
B. Tạo mối quan hệ nhiều-nhiều với tất cả các bảng được tham chiếu.
C. Tham gia vào nhiều mối quan hệ khác nhau, thường là một-nhiều hoặc một-một, với các bảng khác.
D. Chỉ có thể tham gia vào một mối quan hệ tại một thời điểm.
2. Loại JOIN nào trong SQL sẽ trả về tất cả các hàng từ bảng bên trái và các hàng khớp từ bảng bên phải, với NULL cho các hàng không khớp ở bên phải?
A. INNER JOIN
B. LEFT JOIN (hoặc LEFT OUTER JOIN)
C. RIGHT JOIN (hoặc RIGHT OUTER JOIN)
D. FULL JOIN (hoặc FULL OUTER JOIN)
3. Khi thực hiện JOIN hai bảng trong SQL, mục đích chính là gì?
A. Xóa dữ liệu trùng lặp giữa hai bảng.
B. Kết hợp các hàng từ hai hoặc nhiều bảng dựa trên một điều kiện liên quan.
C. Tạo một bảng mới chứa tất cả các cột từ cả hai bảng.
D. Chỉ hiển thị các hàng không có sự trùng khớp giữa hai bảng.
4. Khái niệm tính toàn vẹn tham chiếu (referential integrity) trong cơ sở dữ liệu quan hệ có ý nghĩa gì khi liên kết các bảng?
A. Đảm bảo rằng tất cả các trường trong bảng đều có giá trị duy nhất.
B. Đảm bảo rằng giá trị của khóa ngoại phải tồn tại trong khóa chính của bảng được tham chiếu.
C. Cho phép xóa bản ghi cha mà không ảnh hưởng đến các bản ghi con.
D. Tự động tạo khóa chính cho mọi bảng.
5. Khi sử dụng ON DELETE CASCADE cho một ràng buộc khóa ngoại, điều gì sẽ xảy ra nếu một bản ghi trong bảng cha bị xóa?
A. Bản ghi trong bảng cha sẽ bị xóa, và bản ghi tương ứng trong bảng con sẽ có giá trị khóa ngoại bị đặt thành NULL.
B. Bản ghi trong bảng cha sẽ bị xóa, và tất cả các bản ghi tương ứng trong bảng con cũng sẽ bị xóa theo.
C. Thao tác xóa bản ghi trong bảng cha sẽ bị từ chối.
D. Bản ghi trong bảng cha sẽ bị xóa, nhưng không có thay đổi nào xảy ra với các bản ghi trong bảng con.
6. Trong một cơ sở dữ liệu quản lý dự án, bảng NhiemVu có trường NguoiGiao là khóa ngoại tham chiếu đến bảng NhanVien. Nếu một nhân viên bị xóa khỏi bảng NhanVien và ràng buộc khóa ngoại được thiết lập với ON DELETE RESTRICT, điều gì sẽ xảy ra?
A. Nhiệm vụ của nhân viên đó sẽ bị xóa.
B. Trường NguoiGiao trong bảng NhiemVu sẽ tự động bị đặt thành NULL.
C. Thao tác xóa nhân viên sẽ bị từ chối vì vẫn còn nhiệm vụ liên quan.
D. Trường NguoiGiao sẽ được cập nhật với một nhân viên khác.
7. Khi thiết kế cơ sở dữ liệu, việc xác định đúng loại liên kết (một-một, một-nhiều, nhiều-nhiều) giữa các bảng là quan trọng vì lý do gì?
A. Chỉ để làm cho thiết kế trông phức tạp hơn.
B. Để đảm bảo tính đúng đắn, hiệu quả và khả năng mở rộng của cơ sở dữ liệu, ảnh hưởng đến cách truy vấn và cập nhật dữ liệu.
C. Để tăng số lượng bảng trong cơ sở dữ liệu.
D. Để đảm bảo tất cả các trường đều là khóa chính.
8. Một liên kết giữa hai bảng A và B có thể được thiết lập nếu trường liên kết trong bảng A là khóa chính và trường liên kết trong bảng B là khóa ngoại tham chiếu đến khóa chính của A. Điều này mô tả loại liên kết nào?
A. Liên kết một-một (One-to-One)
B. Liên kết một-nhiều (One-to-Many)
C. Liên kết nhiều-nhiều (Many-to-Many)
D. Không thể thiết lập liên kết theo mô tả này.
9. Trong thiết kế cơ sở dữ liệu, việc chuẩn hóa (Normalization) có vai trò gì đối với việc liên kết các bảng?
A. Giảm thiểu số lượng bảng bằng cách gộp nhiều bảng lại.
B. Tăng cường sự phụ thuộc lẫn nhau giữa các bảng, làm cho việc liên kết trở nên phức tạp hơn.
C. Phân rã các bảng lớn thành các bảng nhỏ hơn, có tổ chức hơn, giảm dư thừa dữ liệu và cải thiện tính toàn vẹn thông qua các liên kết rõ ràng.
D. Chỉ tập trung vào việc tối ưu hóa tốc độ truy vấn mà không quan tâm đến cấu trúc liên kết.
10. Trong cơ sở dữ liệu quan hệ, khái niệm liên kết giữa các bảng chủ yếu dựa trên loại ràng buộc nào?
A. Ràng buộc khóa chính (Primary Key)
B. Ràng buộc duy nhất (Unique Constraint)
C. Ràng buộc khóa ngoại (Foreign Key Constraint)
D. Ràng buộc kiểm tra (Check Constraint)
11. Khi hai bảng có mối quan hệ một-một (One-to-One), trường khóa ngoại trong một bảng thường sẽ có thuộc tính gì để đảm bảo mối quan hệ này?
A. Chỉ là khóa ngoại.
B. Khóa ngoại kết hợp với ràng buộc UNIQUE.
C. Chỉ là khóa chính.
D. Khóa chính kết hợp với ràng buộc NOT NULL.
12. Nếu bạn muốn lấy tất cả các khách hàng và các đơn hàng của họ, nhưng cũng muốn liệt kê cả những khách hàng chưa có đơn hàng nào, bạn nên sử dụng loại JOIN nào?
A. INNER JOIN giữa bảng Khách hàng và Đơn hàng.
B. LEFT JOIN với bảng Khách hàng là bảng bên trái và bảng Đơn hàng là bảng bên phải.
C. RIGHT JOIN với bảng Khách hàng là bảng bên trái và bảng Đơn hàng là bảng bên phải.
D. FULL JOIN giữa bảng Khách hàng và Đơn hàng.
13. Để biểu diễn mối quan hệ nhiều-nhiều (Many-to-Many) giữa hai bảng Học sinh và Môn học, cách tiếp cận phổ biến nhất là gì?
A. Thêm khóa ngoại của Học sinh vào bảng Môn học.
B. Thêm khóa ngoại của Môn học vào bảng Học sinh.
C. Tạo một bảng trung gian (bảng liên kết) chứa khóa ngoại của cả hai bảng Học sinh và Môn học.
D. Sử dụng khóa chính của bảng Học sinh làm khóa ngoại trong bảng Môn học.
14. Khi liên kết hai bảng Khách hàng và Đơn hàng bằng khóa ngoại, trường khóa ngoại thường nằm ở bảng nào?
A. Bảng Khách hàng, là trường khóa chính.
B. Bảng Đơn hàng, tham chiếu đến khóa chính của bảng Khách hàng.
C. Bảng Khách hàng, là trường khóa ngoại.
D. Bảng Đơn hàng, là trường khóa chính.
15. Để tạo một liên kết nhiều-nhiều giữa bảng NhânVien và bảng DuAn, cần sử dụng một bảng trung gian. Bảng trung gian này thường chứa các trường nào?
A. Chỉ khóa chính của bảng NhânVien.
B. Chỉ khóa chính của bảng DuAn.
C. Khóa chính của bảng NhânVien và khóa chính của bảng DuAn.
D. Một khóa chính mới cho bảng trung gian và khóa ngoại tham chiếu đến cả hai bảng.
16. Trong SQL, INNER JOIN trả về những bản ghi nào?
A. Tất cả các bản ghi từ cả hai bảng.
B. Chỉ các bản ghi có sự khớp nối ở cả hai bảng.
C. Tất cả các bản ghi từ bảng bên trái và các bản ghi khớp từ bảng bên phải.
D. Chỉ các bản ghi không có sự khớp nối ở cả hai bảng.
17. Trong một cơ sở dữ liệu quản lý thư viện, bảng Sách có khóa chính là MaSach và bảng Tác giả có khóa chính là MaTacGia. Để liên kết sách với tác giả, trường MaTacGia trong bảng Sách sẽ là gì?
A. Khóa chính của bảng Sách.
B. Khóa ngoại tham chiếu đến bảng Tác giả.
C. Khóa chính của bảng Tác giả.
D. Khóa ngoại tham chiếu đến bảng Sách.
18. Giả sử có bảng HocSinh (MaHS, TenHS) và bảng LopHoc (MaLop, TenLop). Để tạo liên kết một-nhiều, HocSinh thuộc về LopHoc, bạn sẽ thêm trường nào vào bảng HocSinh?
A. MaHS (khóa chính của HocSinh).
B. MaLop (khóa ngoại của LopHoc).
C. MaLop (khóa chính của LopHoc).
D. TenLop (tên của LopHoc).
19. Khi thực hiện một CROSS JOIN (hoặc CARTESIAN PRODUCT) giữa hai bảng có N hàng và M hàng, kết quả sẽ có bao nhiêu hàng?
A. N + M
B. N * M
C. min(N, M)
D. max(N, M)
20. Trong ngữ cảnh của việc liên kết bảng, Cardinality (lực lượng) của mối quan hệ mô tả điều gì?
A. Số lượng cột trong mỗi bảng.
B. Số lượng bản ghi trong mỗi bảng.
C. Mối quan hệ về số lượng bản ghi giữa các bản ghi của hai bảng liên quan (ví dụ: một-một, một-nhiều, nhiều-nhiều).
D. Loại dữ liệu được lưu trữ trong các trường liên kết.
21. Một Self-referencing relationship (mối quan hệ tự tham chiếu) trong cơ sở dữ liệu thường được sử dụng để biểu diễn cấu trúc nào?
A. Liên kết giữa hai bảng khác nhau.
B. Cấu trúc phân cấp hoặc cây (ví dụ: sơ đồ tổ chức, danh mục sản phẩm có danh mục cha).
C. Liên kết giữa một bảng và một bảng bên ngoài.
D. Tạo bản sao của dữ liệu trong cùng một bảng.
22. Khi sử dụng ON UPDATE CASCADE cho một ràng buộc khóa ngoại, điều gì sẽ xảy ra nếu khóa chính của bản ghi trong bảng cha bị thay đổi?
A. Thao tác cập nhật khóa chính của bảng cha sẽ bị từ chối.
B. Khóa chính của bản ghi cha bị thay đổi, và giá trị khóa ngoại tương ứng trong bảng con cũng sẽ tự động được cập nhật theo.
C. Khóa chính của bản ghi cha bị thay đổi, và giá trị khóa ngoại trong bảng con sẽ bị đặt thành NULL.
D. Chỉ khóa chính của bản ghi cha bị thay đổi, không ảnh hưởng đến bảng con.
23. Câu lệnh SQL nào sau đây mô tả cách tạo một liên kết khóa ngoại với hành động ON DELETE SET NULL?
A. FOREIGN KEY (MaNhanVien) REFERENCES NhanVien(MaNhanVien) ON DELETE SET NULL;
B. FOREIGN KEY (MaDonHang) REFERENCES DonHang(MaDonHang) ON DELETE CASCADE;
C. FOREIGN KEY (MaKhachHang) REFERENCES KhachHang(MaKhachHang) ON DELETE RESTRICT;
D. FOREIGN KEY (MaSanPham) REFERENCES SanPham(MaSanPham) ON UPDATE SET NULL;
24. Trong SQL, câu lệnh nào được sử dụng để tạo một liên kết (ràng buộc khóa ngoại) giữa hai bảng?
A. CREATE TABLE
B. ALTER TABLE ... ADD CONSTRAINT ... FOREIGN KEY
C. INSERT INTO
D. UPDATE
25. Loại liên kết nào thường được sử dụng để tạo mối quan hệ giữa bảng Sản phẩm và bảng Danh mục sản phẩm, trong đó mỗi sản phẩm thuộc về một danh mục duy nhất, nhưng một danh mục có thể chứa nhiều sản phẩm?
A. Một-một (One-to-One)
B. Một-nhiều (One-to-Many)
C. Nhiều-nhiều (Many-to-Many)
D. Tự liên kết (Self-referencing)