Trắc Nghiệm Tin Học 11 Cánh Diều Khoa Học Máy Tính Chủ đề F Bài 6: Truy vấn trong cơ sở dữ liệu quan hệ (tiếp theo) là nội dung thuộc môn Tin học, được biên soạn dưới dạng đề ôn tập tham khảo dành cho học sinh lớp 11 theo chương trình Cánh Diều. Bộ đề tiếp tục mở rộng kiến thức về truy vấn dữ liệu, tập trung vào các thao tác nâng cao như truy vấn nhiều bảng, áp dụng điều kiện phức hợp và khai thác dữ liệu theo yêu cầu cụ thể. Trong đoạn mở đầu có sử dụng định dạng trắc nghiệm Tin học 11 Khoa học máy tính Cánh Diều, được biên soạn năm 2024 bởi cô Võ Thị Thanh Huyền – giáo viên Tin học Trường THPT Nguyễn Bỉnh Khiêm (TP. Đà Nẵng). Tài liệu được đăng tải trên detracnghiem.edu.vn nhằm giúp học sinh luyện tập hệ thống và hiệu quả.
Trắc nghiệm môn Tin học 11 ở bài học này bao gồm nhiều câu hỏi từ cơ bản đến vận dụng cao, giúp học sinh hiểu sâu cấu trúc truy vấn, biết liên kết bảng, sử dụng hàm tổng hợp và khai thác dữ liệu có chọn lọc trong cơ sở dữ liệu quan hệ. Khi luyện tập trên detracnghiem.edu.vn, học sinh được cung cấp đáp án chi tiết, giải thích rõ ràng và có thể tự đánh giá mức độ tiến bộ theo từng chủ đề. Bộ đề là tài liệu hữu ích giúp nâng cao kỹ năng phân tích và xử lý dữ liệu trước các bài kiểm tra định kỳ Trắc nghiệm lớp 11.
Trắc Nghiệm Tin Học 11 Cánh Diều Khoa Học Máy Tính
Chủ đề F: Giải quyết vấn đề với sự trợ giúp của máy tính
Bài 6: Truy vấn trong cơ sở dữ liệu quan hệ (tiếp theo)
Câu 1: Để lấy dữ liệu từ hai bảng khác nhau trong cùng một câu truy vấn, điều kiện tiên quyết về mối quan hệ giữa hai bảng là gì?
A. Hai bảng phải có số lượng bản ghi bằng nhau.
B. Hai bảng phải có trường chung để liên kết.
C. Hai bảng phải có tên trường hoàn toàn giống nhau.
D. Hai bảng phải được tạo bởi cùng một người.
Câu 2: Mệnh đề nào trong SQL được sử dụng để liên kết hai bảng lại với nhau dựa trên điều kiện ghép nối?
A. GROUP BY.
B. ORDER BY.
C. INNER JOIN.
D. SELECT DISTINCT.
Câu 3: Trong câu lệnh SQL liên kết bảng, từ khóa ON đi kèm với JOIN dùng để làm gì?
A. Đặt tên mới cho bảng.
B. Sắp xếp kết quả tìm kiếm.
C. Chỉ định các cột cần hiển thị.
D. Khai báo điều kiện liên kết giữa hai bảng.
Câu 4: Giả sử có bảng HOC_SINH và bảng LOP liên kết với nhau qua trường MaLop. Câu lệnh nào sau đây lấy được HoTen học sinh và TenLop tương ứng?
A. SELECT HoTen, TenLop FROM HOC_SINH
B. SELECT HoTen, TenLop FROM HOC_SINH INNER JOIN LOP ON HOC_SINH.MaLop = LOP.MaLop
C. SELECT HoTen, TenLop FROM HOC_SINH, LOP WHERE HOC_SINH = LOP
D. SELECT HoTen, TenLop FROM HOC_SINH JOIN LOP IN MaLop
Câu 5: Khi thực hiện truy vấn trên hai bảng A và B, nếu trường ID xuất hiện ở cả hai bảng, để lấy trường ID của bảng A, ta phải viết thế nào trong mệnh đề SELECT?
A. ID
B. A_ID
C. A.ID
D. ID(A)
Câu 6: Trong lưới thiết kế truy vấn của Access, đường nối giữa hai bảng đại diện cho điều gì?
A. Đường dẫn lưu trữ tệp.
B. Mối quan hệ liên kết (Relationship).
C. Thứ tự hiển thị dữ liệu.
D. Dòng chảy của dữ liệu.
Câu 7: Nếu bảng KHACH_HANG có 10 dòng, bảng HOA_DON có 5 dòng (mỗi hóa đơn thuộc về 1 khách hàng). Kết quả của phép INNER JOIN giữa hai bảng này sẽ trả về bao nhiêu dòng (giả sử 5 hóa đơn đều có mã khách hàng hợp lệ)?
A. 15 dòng.
B. 50 dòng.
C. 10 dòng.
D. 5 dòng.
Câu 8: Để tìm “Tên sách” mà độc giả “Nguyễn Văn A” đã mượn, ta cần kết nối những bảng nào (giả sử mô hình: DOC_GIA – MUON – SACH)?
A. Chỉ bảng SACH và bảng MUON.
B. Chỉ bảng DOC_GIA và bảng SACH.
C. Cả ba bảng DOC_GIA, MUON và SACH.
D. Chỉ bảng DOC_GIA và bảng MUON.
Câu 9: Câu lệnh FROM BangA INNER JOIN BangB ON BangA.Key = BangB.Key thực hiện công việc gì?
A. Gộp tất cả các hàng của hai bảng lại với nhau.
B. Chỉ lấy những hàng có ở bảng A nhưng không có ở bảng B.
C. Lấy tất cả hàng của bảng A và hàng tương ứng của bảng B.
D. Chỉ lấy những hàng mà giá trị Key khớp nhau ở cả hai bảng.
Câu 10: Khi thêm các bảng vào cửa sổ thiết kế truy vấn (Query Design) trong Access, nếu các bảng đã được thiết lập mối quan hệ từ trước thì:
A. Access sẽ báo lỗi trùng lặp.
B. Access tự động hiển thị đường liên kết giữa các bảng.
C. Người dùng phải tự vẽ lại đường liên kết.
D. Access sẽ gộp chúng thành một bảng duy nhất.
Câu 11: Xét câu lệnh: SELECT T.Ten, D.Diem FROM THISINH AS T INNER JOIN DIEMTHI AS D …. Từ khóa AS ở đây có tác dụng gì?
A. Đổi tên bảng vĩnh viễn trong CSDL.
B. Sắp xếp bảng theo thứ tự ABC.
C. Đặt tên bí danh (alias) cho bảng để viết gọn câu lệnh.
D. Sao chép bảng sang một file mới.
Câu 12: Điều gì sẽ xảy ra nếu ta truy vấn dữ liệu từ hai bảng mà quên thiết lập điều kiện liên kết (hoặc không có đường nối trong Access)?
A. Kết quả sẽ là tích Đề-các (mỗi dòng bảng này ghép với mọi dòng bảng kia).
B. Hệ thống sẽ báo lỗi và không chạy.
C. Kết quả trả về là bảng rỗng (không có dữ liệu).
D. Hệ thống tự động tìm trường giống tên để liên kết.
Câu 13: Bảng NHAN_VIEN (MaNV, TenNV, MaPB) và bảng PHONG_BAN (MaPB, TenPB). Để đếm số nhân viên trong từng phòng ban, ta cần:
A. Chỉ cần truy vấn trên bảng NHAN_VIEN.
B. Chỉ cần truy vấn trên bảng PHONG_BAN.
C. Liên kết hai bảng và dùng Group By theo TenPB.
D. Không thể thực hiện được bằng truy vấn.
Câu 14: Khi truy vấn từ nhiều bảng, nếu muốn lọc dữ liệu (ví dụ: chỉ lấy học sinh Nữ), ta đặt điều kiện ở đâu?
A. Trong mệnh đề JOIN.
B. Trong mệnh đề SELECT.
C. Trong mệnh đề WHERE.
D. Trong mệnh đề FROM.
Câu 15: Giả sử bảng MATHANG liên kết với bảng LOAIHANG qua MaLoai. Để hiển thị TenHang và TenLoai, câu lệnh nào đúng?
A. SELECT TenHang, TenLoai FROM MATHANG
B. SELECT TenHang, TenLoai FROM LOAIHANG
C. SELECT TenHang, TenLoai FROM MATHANG, LOAIHANG WHERE MATHANG.MaLoai = LOAIHANG.MaLoai
D. SELECT TenHang, TenLoai FROM MATHANG WHERE MaLoai
Câu 16: Tại sao khi truy vấn trên nhiều bảng, ta thường phải chỉ định rõ TenBang.TenCot (ví dụ: HOCSINH.MaHS)?
A. Để máy tính chạy nhanh hơn.
B. Để câu lệnh trông chuyên nghiệp hơn.
C. Đây là quy định bắt buộc cho mọi cột.
D. Để tránh nhầm lẫn nếu hai bảng có tên cột trùng nhau.
Câu 17: Bạn muốn lập danh sách các bài hát thuộc thể loại “Pop”. Bạn cần lấy thông tin từ bảng BAI_HAT và bảng THE_LOAI. Khóa chung để liên kết là gì?
A. TenBaiHat.
B. MaTheLoai.
C. TenTheLoai.
D. MaBaiHat.
Câu 18: Trong lưới thiết kế Access, để lấy dữ liệu từ hai bảng, bước đầu tiên là gì?
A. Nhập lệnh SQL ngay lập tức.
B. Add (Thêm) cả hai bảng vào vùng thiết kế.
C. Tạo một bảng mới trống.
D. Đổi tên các bảng cho ngắn gọn.
Câu 19: Kết quả của phép INNER JOIN có thể được sắp xếp (ORDER BY) dựa trên trường của bảng nào?
A. Chỉ bảng đứng trước chữ JOIN.
B. Chỉ bảng đứng sau chữ JOIN.
C. Bất kỳ trường nào có trong kết quả truy vấn.
D. Không thể sắp xếp kết quả của JOIN.
Câu 20: Để tìm xem “Khách hàng A đã mua những sản phẩm nào”, ta cần liên kết bảng KHACH_HANG với bảng SAN_PHAM thông qua bảng trung gian nào?
A. Bảng KHO.
B. Bảng NHAN_VIEN.
C. Bảng HOA_DON (hoặc CHI_TIET_HD).
D. Bảng BAO_HANH.
Câu 21: Câu lệnh SELECT * FROM A INNER JOIN B ON A.id = B.id sẽ hiển thị những cột nào?
A. Chỉ các cột của bảng A.
B. Chỉ các cột của bảng B.
C. Chỉ cột id.
D. Tất cả các cột của cả bảng A và bảng B.
Câu 22: Nếu bảng A có trường MaSo và bảng B cũng có trường MaSo. Khi viết SELECT MaSo …, hệ thống sẽ báo lỗi gì?
A. Lỗi không rõ ràng (Ambiguous column name).
B. Lỗi cú pháp (Syntax error).
C. Lỗi thiếu bộ nhớ (Out of memory).
D. Lỗi sai kiểu dữ liệu (Data type mismatch).
Câu 23: Truy vấn liên kết (Join query) thường được dùng để thay thế cho việc gì?
A. Nhập liệu thủ công từng dòng.
B. Lưu trữ dữ liệu dư thừa trên một bảng lớn.
C. Phải tra cứu thủ công trên nhiều sổ sách khác nhau.
D. Tính toán số học đơn giản.
Câu 24: Trong Access, nếu bạn lỡ xóa đường liên kết giữa hai bảng trong cửa sổ truy vấn, bạn có thể khôi phục bằng cách nào?
A. Phải xóa bảng đi thêm lại.
B. Kéo trường khóa từ bảng này thả sang bảng kia.
C. Nhấn nút Undo (Ctrl+Z) liên tục.
D. Phải tắt Access và mở lại.
Câu 25: Mục đích của việc sử dụng bảng trung gian trong mối quan hệ Nhiều – Nhiều khi truy vấn là gì?
A. Để làm chậm quá trình truy vấn.
B. Để chứa các hình ảnh.
C. Để kết nối hai bảng chính thông qua các cặp khóa ngoại.
D. Để bảo mật thông tin của hai bảng chính.
Câu 26: Phát biểu nào sau đây là SAI về truy vấn nhiều bảng?
A. Có thể liên kết nhiều hơn 2 bảng trong một câu lệnh.
B. Có thể đặt điều kiện lọc trên trường của bất kỳ bảng nào.
C. Bắt buộc các bảng phải có số lượng cột bằng nhau.
D. Kết quả truy vấn là một bảng ảo tổng hợp dữ liệu.
Câu 27: Giả sử bảng MON_HOC (MaMH, TenMH) và bảng DIEM (MaHS, MaMH, DiemSo). Để in ra bảng điểm gồm TenMH và DiemSo, ta liên kết qua trường nào?
A. MaHS.
B. DiemSo.
C. TenMH.
D. MaMH.
Câu 28: Bạn muốn tìm danh sách các học sinh chưa từng mượn sách nào. Biết rằng bảng HOC_SINH chứa tất cả học sinh, bảng MUON chứa thông tin mượn. Nếu sử dụng INNER JOIN giữa hai bảng này, kết quả nhận được sẽ là gì?
A. Danh sách tất cả học sinh của trường.
B. Chỉ danh sách những học sinh ĐÃ từng mượn sách.
C. Danh sách những học sinh chưa mượn sách.
D. Một bảng rỗng.
Câu 29: Có 3 bảng: KHACH (MaKH, TenKH), DON_HANG (SoDH, MaKH, NgayDat), CHI_TIET (SoDH, MaSP, SoLuong). Để tính tổng tiền mỗi khách hàng đã mua, ta cần thực hiện các bước nào trong câu truy vấn?
A. Chỉ cần cộng cột SoLuong trong bảng CHI_TIET.
B. Liên kết KHACH và DON_HANG, sau đó tính tổng.
C. Liên kết DON_HANG và CHI_TIET, sau đó tính tổng.
D. Liên kết cả 3 bảng, nhóm theo TenKH và tính tổng (SoLuong * Gia).
Câu 30: Xét câu lệnh SQL sau:
SELECT S.TenSach, T.TenTG FROM (SACH AS S INNER JOIN VIET_SACH AS V ON S.MaSach = V.MaSach) INNER JOIN TAC_GIA AS T ON V.MaTG = T.MaTG
Câu lệnh này mô tả mối quan hệ gì trong thực tế?
A. Một cuốn sách chỉ do một tác giả viết.
B. Một tác giả chỉ viết một cuốn sách.
C. Lấy danh sách Sách kèm tên Tác giả.
D. Tìm những cuốn sách không có tác giả.
