Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành cập nhật bảng dữ liệu có tham chiếu - Đề 08
Trắc nghiệm Tin học 11 Kết nối tri thức Bài 22: Thực hành cập nhật bảng dữ liệu có tham chiếu - Đề 08 bao gồm nhiều câu hỏi hay, bám sát chương trình. Cùng làm bài tập trắc nghiệm ngay.
Câu 1: Trong mô hình cơ sở dữ liệu quan hệ, ràng buộc khóa ngoại (foreign key constraint) được sử dụng để:
- A. Đảm bảo mỗi bảng có ít nhất một cột dữ liệu.
- B. Duy trì tính toàn vẹn tham chiếu giữa các bảng bằng cách liên kết dữ liệu ở một bảng với bảng khác.
- C. Tăng tốc độ truy vấn dữ liệu trên các bảng lớn.
- D. Tự động tạo chỉ mục (index) cho các cột thường xuyên được truy vấn.
Câu 2: Xét hai bảng "SinhVien" và "Khoa", trong đó bảng "SinhVien" có cột "MaKhoa" là khóa ngoại tham chiếu đến cột "MaKhoa" (khóa chính) của bảng "Khoa". Điều gì xảy ra khi bạn cố gắng xóa một bản ghi khoa từ bảng "Khoa" nếu vẫn còn sinh viên thuộc khoa đó trong bảng "SinhVien"?
- A. Bản ghi khoa sẽ bị xóa, và cột "MaKhoa" của các sinh viên thuộc khoa đó trong bảng "SinhVien" sẽ tự động được đặt thành NULL.
- B. Bản ghi khoa sẽ bị xóa, và các bản ghi sinh viên thuộc khoa đó trong bảng "SinhVien" cũng sẽ tự động bị xóa.
- C. Hệ thống sẽ ngăn chặn thao tác xóa và thông báo lỗi ràng buộc khóa ngoại.
- D. Bản ghi khoa sẽ bị xóa, nhưng không có ảnh hưởng gì đến dữ liệu trong bảng "SinhVien".
Câu 3: Thuộc tính AUTO_INCREMENT thường được sử dụng cho cột nào trong bảng cơ sở dữ liệu?
- A. Cột khóa chính, để tự động tạo giá trị duy nhất khi thêm bản ghi mới.
- B. Cột khóa ngoại, để tham chiếu đến giá trị của bảng khác.
- C. Cột chứa dữ liệu số lượng lớn, như văn bản dài hoặc hình ảnh.
- D. Cột chứa thông tin ngày tháng, để tự động cập nhật thời gian.
Câu 4: Trong ngữ cảnh cập nhật dữ liệu bảng có tham chiếu, điều gì quan trọng nhất cần xem xét để đảm bảo tính toàn vẹn dữ liệu?
- A. Tốc độ thực hiện thao tác cập nhật phải nhanh chóng.
- B. Các ràng buộc khóa chính và khóa ngoại phải được tuân thủ để tránh dữ liệu không nhất quán.
- C. Giao diện người dùng phải thân thiện và dễ sử dụng.
- D. Dữ liệu cập nhật phải được sao lưu thường xuyên để phòng ngừa mất mát.
Câu 5: Khi thêm một bản ghi mới vào bảng "BinhLuan" có khóa ngoại "MaBaiViet" tham chiếu đến bảng "BaiViet", giá trị "MaBaiViet" được nhập vào bảng "BinhLuan" phải:
- A. Là một số nguyên bất kỳ.
- B. Là một chuỗi ký tự tùy ý.
- C. Bắt buộc phải là NULL.
- D. Tồn tại trong cột khóa chính "MaBaiViet" của bảng "BaiViet".
Câu 6: Giả sử bạn có hai bảng: "DonHang" và "KhachHang", với "MaKH" là khóa ngoại trong "DonHang" tham chiếu đến "KhachHang". Bạn muốn liệt kê tất cả các đơn hàng cùng với tên khách hàng tương ứng. Thao tác nào sau đây là phù hợp nhất?
- A. Chỉ truy vấn bảng "DonHang" và bỏ qua thông tin khách hàng.
- B. Truy vấn riêng rẽ bảng "DonHang" và bảng "KhachHang", sau đó kết hợp thủ công.
- C. Sử dụng phép kết nối (JOIN) giữa hai bảng "DonHang" và "KhachHang" dựa trên cột "MaKH".
- D. Sao chép dữ liệu từ bảng "KhachHang" sang bảng "DonHang" trước khi truy vấn.
Câu 7: Trong hệ quản trị cơ sở dữ liệu, thao tác "cập nhật" (UPDATE) bản ghi trong bảng có thể gây ra vấn đề gì liên quan đến khóa ngoại?
- A. Cập nhật giá trị khóa ngoại trong bảng con thành một giá trị không tồn tại trong bảng cha.
- B. Cập nhật giá trị khóa chính trong bảng cha khi không có bảng con nào tham chiếu.
- C. Cập nhật các cột không phải khóa chính hoặc khóa ngoại mà không ảnh hưởng đến ràng buộc.
- D. Cập nhật dữ liệu chỉ gây ra vấn đề về hiệu suất, không liên quan đến khóa ngoại.
Câu 8: Khi thiết kế cơ sở dữ liệu cho hệ thống quản lý thư viện, bạn có bảng "Sach" và "TacGia". Mối quan hệ một-nhiều (one-to-many) giữa "TacGia" và "Sach" được thể hiện tốt nhất bằng cách nào?
- A. Thêm một cột "DanhSachSach" (kiểu danh sách) vào bảng "TacGia" để liệt kê các cuốn sách của tác giả.
- B. Thêm một cột "MaTacGia" (khóa ngoại) vào bảng "Sach" tham chiếu đến khóa chính của bảng "TacGia".
- C. Gộp thông tin của cả "Sach" và "TacGia" vào một bảng duy nhất.
- D. Sử dụng một bảng trung gian để liên kết "Sach" và "TacGia" (mối quan hệ nhiều-nhiều).
Câu 9: Trong quá trình cập nhật dữ liệu, nếu bạn muốn thay đổi giá trị của một khóa chính trong bảng cha, và có bảng con tham chiếu đến khóa chính đó, điều gì cần được xem xét?
- A. Không cần xem xét gì cả, cứ tự do thay đổi khóa chính.
- B. Chỉ cần đảm bảo giá trị khóa chính mới là duy nhất.
- C. Cần cập nhật giá trị khóa ngoại tương ứng trong tất cả các bảng con để duy trì tính tham chiếu.
- D. Xóa tất cả các bản ghi liên quan trong bảng con trước khi thay đổi khóa chính ở bảng cha.
Câu 10: Lợi ích chính của việc sử dụng ràng buộc khóa ngoại trong cơ sở dữ liệu là gì?
- A. Tăng dung lượng lưu trữ cơ sở dữ liệu.
- B. Giảm độ phức tạp của truy vấn SQL.
- C. Cải thiện hiệu suất truy xuất dữ liệu.
- D. Đảm bảo tính nhất quán và toàn vẹn dữ liệu giữa các bảng liên kết.
Câu 11: Xét bảng "SanPham" có cột "MaLoaiSP" là khóa ngoại tham chiếu bảng "LoaiSanPham". Nếu bạn muốn xóa một loại sản phẩm từ bảng "LoaiSanPham", nhưng vẫn còn sản phẩm thuộc loại đó trong bảng "SanPham", bạn cần thực hiện các bước nào để đảm bảo thao tác thành công và dữ liệu nhất quán?
- A. Xóa trực tiếp loại sản phẩm từ bảng "LoaiSanPham". Hệ thống sẽ tự động xóa các sản phẩm liên quan trong bảng "SanPham".
- B. Trước tiên, cập nhật hoặc xóa các sản phẩm thuộc loại sản phẩm đó trong bảng "SanPham", sau đó mới xóa loại sản phẩm từ bảng "LoaiSanPham".
- C. Xóa trực tiếp loại sản phẩm từ bảng "LoaiSanPham". Sau đó, chạy một truy vấn riêng để xóa các sản phẩm "mồ côi" trong bảng "SanPham".
- D. Thay đổi loại sản phẩm của các sản phẩm liên quan trong bảng "SanPham" thành một loại sản phẩm mặc định trước khi xóa.
Câu 12: Khi nhập dữ liệu vào bảng "HocSinh" có cột "MaLop" là khóa ngoại tham chiếu bảng "LopHoc", điều gì xảy ra nếu bạn nhập một giá trị "MaLop" không tồn tại trong bảng "LopHoc"?
- A. Dữ liệu sẽ được nhập thành công, nhưng "MaLop" sẽ được coi là NULL.
- B. Dữ liệu sẽ được nhập thành công, và hệ thống sẽ tự động tạo một bản ghi "LopHoc" mới với "MaLop" vừa nhập.
- C. Hệ thống sẽ từ chối thao tác nhập và báo lỗi vi phạm ràng buộc khóa ngoại.
- D. Dữ liệu sẽ được nhập thành công, nhưng có cảnh báo về tính toàn vẹn dữ liệu.
Câu 13: Trong một cơ sở dữ liệu về bán hàng, bảng "HoaDon" có khóa ngoại "MaKH" tham chiếu bảng "KhachHang". Nếu bạn muốn tìm tất cả hóa đơn của khách hàng có "MaKH" là "KH001", bạn sẽ sử dụng mệnh đề nào trong câu lệnh SQL?
- A. WHERE MaKH = "KH001"
- B. JOIN KhachHang ON HoaDon.MaKH = KhachHang.MaKH
- C. ORDER BY MaKH
- D. GROUP BY MaKH
Câu 14: Giả sử bảng "PhieuNhap" có cột "MaNCC" tham chiếu đến bảng "NhaCungCap". Khi tạo một phiếu nhập mới, làm thế nào để đảm bảo rằng "MaNCC" được chọn là hợp lệ và tồn tại trong bảng "NhaCungCap"?
- A. Nhập trực tiếp "MaNCC" mà không cần kiểm tra.
- B. Sử dụng danh sách thả xuống (dropdown list) chứa các "MaNCC" có sẵn từ bảng "NhaCungCap".
- C. Tạo mới "NhaCungCap" nếu "MaNCC" không tồn tại.
- D. Bỏ qua cột "MaNCC" và để hệ thống tự động gán giá trị.
Câu 15: Trong cơ sở dữ liệu quản lý sinh viên, bảng "KetQuaHocTap" có khóa ngoại "MaSV" và "MaMH" lần lượt tham chiếu bảng "SinhVien" và "MonHoc". Để xem bảng điểm chi tiết của một sinh viên cụ thể, bạn cần kết hợp dữ liệu từ những bảng nào?
- A. Chỉ cần bảng "KetQuaHocTap".
- B. Bảng "SinhVien" và "MonHoc".
- C. Bảng "SinhVien" và "KetQuaHocTap".
- D. Bảng "SinhVien", "MonHoc", và "KetQuaHocTap".
Câu 16: Điều gì sẽ xảy ra nếu bạn cố gắng xóa một bản ghi từ bảng cha (ví dụ, "LoaiSanPham") mà không xử lý các bản ghi liên quan trong bảng con ("SanPham") trước, trong một hệ thống có ràng buộc khóa ngoại?
- A. Bản ghi ở bảng cha và tất cả bản ghi liên quan ở bảng con sẽ bị xóa.
- B. Thao tác xóa sẽ bị hệ thống ngăn chặn để bảo toàn tính toàn vẹn tham chiếu.
- C. Chỉ bản ghi ở bảng cha bị xóa, các bản ghi ở bảng con vẫn giữ nguyên nhưng mất liên kết.
- D. Hệ thống sẽ tự động cập nhật khóa ngoại ở bảng con thành NULL.
Câu 17: Trong thiết kế cơ sở dữ liệu quan hệ, việc xác định và sử dụng khóa chính và khóa ngoại giúp đạt được mục tiêu nào quan trọng nhất?
- A. Tăng tốc độ xử lý dữ liệu.
- B. Giảm chi phí lưu trữ dữ liệu.
- C. Đảm bảo tính nhất quán, toàn vẹn và giảm dư thừa dữ liệu.
- D. Cải thiện giao diện người dùng của ứng dụng.
Câu 18: Khi cập nhật thông tin của một khách hàng trong bảng "KhachHang", điều gì cần được chú ý nếu bảng "DonHang" có khóa ngoại "MaKH" tham chiếu đến "KhachHang"?
- A. Không cần chú ý gì đặc biệt, việc cập nhật ở bảng "KhachHang" không ảnh hưởng đến "DonHang".
- B. Cần cập nhật đồng thời thông tin khách hàng trong cả bảng "KhachHang" và "DonHang".
- C. Chỉ cần đảm bảo "MaKH" sau khi cập nhật vẫn là duy nhất trong bảng "KhachHang".
- D. Nếu cập nhật khóa chính "MaKH" trong "KhachHang", cần đảm bảo cập nhật tương ứng trong bảng "DonHang" (nếu được phép, tùy thuộc vào ràng buộc ON UPDATE CASCADE/SET NULL/RESTRICT).
Câu 19: Trong SQL, mệnh đề nào thường được sử dụng để thêm ràng buộc khóa ngoại khi tạo bảng hoặc sửa đổi bảng hiện có?
- A. PRIMARY KEY
- B. FOREIGN KEY
- C. UNIQUE
- D. NOT NULL
Câu 20: Giả sử bạn có bảng "NhanVien" và "PhongBan", với "MaPB" là khóa ngoại trong "NhanVien" tham chiếu "PhongBan". Nếu bạn muốn tìm số lượng nhân viên trong mỗi phòng ban, bạn sẽ sử dụng kết hợp các mệnh đề SQL nào?
- A. SELECT * FROM NhanVien, PhongBan
- B. SELECT * FROM NhanVien WHERE MaPB IN (SELECT MaPB FROM PhongBan)
- C. SELECT PhongBan.TenPB, COUNT(NhanVien.MaNV) FROM NhanVien JOIN PhongBan ON NhanVien.MaPB = PhongBan.MaPB GROUP BY PhongBan.TenPB
- D. SELECT PhongBan.TenPB, SUM(NhanVien.MaNV) FROM NhanVien JOIN PhongBan ON NhanVien.MaPB = PhongBan.MaPB
Câu 21: Trong một hệ thống quản lý bán hàng trực tuyến, bảng "GioHang" có khóa ngoại "MaSP" tham chiếu đến bảng "SanPham". Khi một sản phẩm bị xóa khỏi bảng "SanPham", điều gì sẽ xảy ra với các bản ghi trong bảng "GioHang" có "MaSP" tương ứng?
- A. Các bản ghi trong "GioHang" sẽ tự động bị xóa.
- B. Các bản ghi trong "GioHang" vẫn giữ nguyên nhưng "MaSP" trở thành NULL.
- C. Hệ thống sẽ ngăn chặn việc xóa sản phẩm khỏi bảng "SanPham" nếu có tham chiếu từ "GioHang".
- D. Tùy thuộc vào cấu hình ràng buộc khóa ngoại (ON DELETE CASCADE, SET NULL, RESTRICT), có thể xảy ra các hành động khác nhau như xóa bản ghi con, đặt khóa ngoại thành NULL hoặc ngăn chặn xóa bản ghi cha.
Câu 22: Khi thiết kế cơ sở dữ liệu, tại sao cần phải xác định mối quan hệ giữa các bảng và sử dụng khóa ngoại để liên kết chúng?
- A. Để tăng kích thước cơ sở dữ liệu và làm cho nó phức tạp hơn.
- B. Để giới hạn số lượng bảng có thể tạo trong cơ sở dữ liệu.
- C. Để mô hình hóa thế giới thực một cách chính xác, duy trì tính toàn vẹn dữ liệu và tránh dư thừa thông tin.
- D. Để làm cho việc truy vấn dữ liệu trở nên khó khăn hơn và bảo mật hơn.
Câu 23: Trong quá trình cập nhật dữ liệu, nếu bạn vô tình nhập sai giá trị khóa ngoại, hệ thống quản trị CSDL sẽ phản ứng như thế nào?
- A. Hệ thống sẽ tự động sửa lỗi và nhập giá trị gần đúng nhất.
- B. Hệ thống sẽ phát hiện lỗi vi phạm ràng buộc khóa ngoại và ngăn chặn thao tác cập nhật.
- C. Hệ thống sẽ bỏ qua lỗi và tiếp tục cập nhật dữ liệu.
- D. Hệ thống sẽ cảnh báo lỗi nhưng vẫn cho phép cập nhật dữ liệu.
Câu 24: Để truy xuất thông tin chi tiết về đơn hàng, bao gồm cả thông tin khách hàng và sản phẩm trong đơn hàng, từ các bảng "DonHang", "KhachHang", và "SanPham", bạn cần sử dụng loại phép kết nối nào trong SQL?
- A. Phép kết nối (JOIN) giữa cả ba bảng.
- B. Chỉ cần phép kết nối giữa "DonHang" và "KhachHang".
- C. Chỉ cần phép kết nối giữa "DonHang" và "SanPham".
- D. Không cần phép kết nối, có thể truy vấn riêng từng bảng.
Câu 25: Trong cơ sở dữ liệu, ràng buộc khóa ngoại giúp ngăn chặn loại lỗi dữ liệu nào?
- A. Lỗi cú pháp SQL.
- B. Lỗi tràn bộ nhớ.
- C. Lỗi dữ liệu không nhất quán do tham chiếu không hợp lệ giữa các bảng.
- D. Lỗi hiệu suất truy vấn chậm.
Câu 26: Khi nào thì việc sử dụng thuộc tính AUTO_INCREMENT cho cột khóa chính là phù hợp nhất?
- A. Khi giá trị khóa chính được xác định trước bởi người dùng.
- B. Khi cần tạo giá trị khóa chính tự động, duy nhất và tuần tự cho mỗi bản ghi mới.
- C. Khi khóa chính là chuỗi ký tự phức tạp.
- D. Khi muốn khóa chính có giá trị ngẫu nhiên.
Câu 27: Nếu bạn muốn thay đổi ràng buộc khóa ngoại đã được thiết lập trên một bảng, bạn cần sử dụng lệnh SQL nào?
- A. CREATE TABLE
- B. INSERT INTO
- C. ALTER TABLE
- D. DROP TABLE
Câu 28: Trong cơ sở dữ liệu về đặt phòng khách sạn, bảng "DatPhong" có khóa ngoại "MaKH" (khách hàng) và "MaPhong" (phòng). Để thống kê số lượt đặt phòng của từng loại phòng (ví dụ: phòng đơn, phòng đôi), bạn cần kết hợp thông tin từ bảng nào?
- A. Chỉ cần bảng "DatPhong".
- B. Bảng "DatPhong" và "KhachHang".
- C. Bảng "DatPhong" và "Phong".
- D. Bảng "DatPhong" và "LoaiPhong" (giả sử bảng "Phong" có khóa ngoại "MaLoaiPhong" tham chiếu "LoaiPhong").
Câu 29: Giả sử bạn có bảng "SinhVien" và "DiemThi". "MaSV" là khóa ngoại trong "DiemThi" tham chiếu đến "SinhVien". Nếu bạn muốn xóa một sinh viên khỏi bảng "SinhVien", và bạn muốn tự động xóa tất cả điểm thi của sinh viên đó trong bảng "DiemThi", bạn cần thiết lập ràng buộc khóa ngoại với tùy chọn nào?
- A. ON DELETE CASCADE
- B. ON DELETE SET NULL
- C. ON DELETE RESTRICT
- D. ON DELETE NO ACTION
Câu 30: Trong cơ sở dữ liệu, việc duy trì tính toàn vẹn tham chiếu (referential integrity) thông qua khóa ngoại đóng vai trò quan trọng như thế nào trong quá trình cập nhật và quản lý dữ liệu?
- A. Không quan trọng, tính toàn vẹn tham chiếu chỉ là một khía cạnh nhỏ của quản lý dữ liệu.
- B. Rất quan trọng, đảm bảo dữ liệu liên kết giữa các bảng luôn chính xác và nhất quán, tránh tình trạng dữ liệu "mồ côi" hoặc tham chiếu không hợp lệ.
- C. Chỉ quan trọng trong giai đoạn thiết kế cơ sở dữ liệu, không ảnh hưởng đến quá trình cập nhật dữ liệu.
- D. Chỉ quan trọng đối với các hệ thống cơ sở dữ liệu lớn, không cần thiết cho các hệ thống nhỏ.