Trắc nghiệm Tin học 11 Cánh diều KHMT bài 3 Quan hệ giữa các bảng và khóa ngoài trong cơ sở dữ liệu quan hệ
1. Khái niệm "tính toàn vẹn tham chiếu" (referential integrity) liên quan trực tiếp đến loại ràng buộc nào sau đây trong cơ sở dữ liệu quan hệ?
A. Ràng buộc khóa chính (Primary Key Constraint).
B. Ràng buộc khóa ngoại (Foreign Key Constraint).
C. Ràng buộc duy nhất (Unique Constraint).
D. Ràng buộc kiểm tra (Check Constraint).
2. Trong trường hợp nào thì việc sử dụng khóa ngoài với tùy chọn "ON DELETE CASCADE" là phù hợp?
A. Khi muốn giữ lại bản ghi con ngay cả khi bản ghi cha bị xóa.
B. Khi muốn tự động xóa các bản ghi con khi bản ghi cha tương ứng bị xóa.
C. Khi muốn đặt giá trị NULL cho khóa ngoại của bản ghi con khi bản ghi cha bị xóa.
D. Khi muốn cập nhật khóa chính của bản ghi cha khi bản ghi con bị xóa.
3. Mục đích chính của việc sử dụng khóa ngoài trong cơ sở dữ liệu quan hệ là gì?
A. Tăng tốc độ truy vấn dữ liệu bằng cách tạo chỉ mục.
B. Đảm bảo tính duy nhất của mỗi bản ghi trong một bảng.
C. Thiết lập mối liên kết logic giữa các bảng và duy trì tính nhất quán của dữ liệu.
D. Giảm dung lượng lưu trữ của cơ sở dữ liệu.
4. Trong bảng "SinhVien" (MaSV, TenSV, MaLop) và bảng "LopHoc" (MaLop, TenLop), nếu MaLop trong bảng "SinhVien" là khóa ngoại tham chiếu đến MaLop trong bảng "LopHoc", thì hành động nào sau đây là **không được phép** nếu không có quy tắc xử lý đặc biệt?
A. Thêm một sinh viên mới vào bảng "SinhVien" với MaLop là một MaLop đã có trong bảng "LopHoc".
B. Cập nhật MaLop của một sinh viên trong bảng "SinhVien" thành một MaLop khác đã có trong bảng "LopHoc".
C. Xóa một bản ghi lớp học khỏi bảng "LopHoc" mà có sinh viên đang thuộc về lớp đó.
D. Thêm một lớp học mới vào bảng "LopHoc".
5. Giả sử có bảng "HocSinh" (MaHS, TenHS, MaLop) và bảng "LopHoc" (MaLop, TenLop, MaGV). Nếu MaLop trong "HocSinh" là khóa ngoại đến "LopHoc" và MaGV trong "LopHoc" là khóa ngoại đến bảng "GiaoVien" (MaGV, TenGV). Hành động nào sau đây là **hợp lệ**?
A. Xóa một giáo viên mà lớp học của người đó vẫn còn học sinh.
B. Thêm một học sinh vào một lớp học không tồn tại trong bảng "LopHoc".
C. Thêm một lớp học mới với Mã Giáo viên là một Mã Giáo viên đã tồn tại trong bảng "GiaoVien".
D. Xóa một lớp học mà vẫn còn học sinh thuộc về lớp đó.
6. Đâu là một ví dụ về việc sử dụng khóa ngoài để tạo mối quan hệ "một-nhiều" giữa bảng "PhongBan" (MaPB, TenPB) và bảng "NhanVien" (MaNV, TenNV, MaPB)?
A. MaPB trong bảng "PhongBan" là khóa ngoại tham chiếu đến MaPB trong bảng "NhanVien".
B. MaNV trong bảng "NhanVien" là khóa ngoại tham chiếu đến MaNV trong bảng "PhongBan".
C. MaPB trong bảng "NhanVien" là khóa ngoại tham chiếu đến MaPB trong bảng "PhongBan".
D. Cả hai bảng đều có khóa chính là MaPB.
7. Một ví dụ về mối quan hệ "một-nhiều" (one-to-many) giữa hai bảng là gì?
A. Một giáo viên có thể dạy nhiều môn học, và một môn học có thể được dạy bởi nhiều giáo viên.
B. Một sinh viên có thể đăng ký nhiều môn học, và một môn học có thể có nhiều sinh viên đăng ký.
C. Một khách hàng có thể có nhiều đơn hàng, và mỗi đơn hàng chỉ thuộc về một khách hàng duy nhất.
D. Một sản phẩm có thể thuộc về nhiều danh mục, và một danh mục có thể chứa nhiều sản phẩm.
8. Trong mô hình cơ sở dữ liệu quan hệ, khái niệm nào dùng để chỉ mối liên kết giữa các bảng, đảm bảo tính toàn vẹn tham chiếu và cho phép truy vấn dữ liệu từ nhiều bảng cùng lúc?
A. Khóa chính (Primary Key)
B. Khóa ngoại (Foreign Key)
C. Khóa ứng viên (Candidate Key)
D. Khóa thay thế (Alternate Key)
9. Khi hai bảng có quan hệ "nhiều-nhiều" (many-to-many), làm thế nào để biểu diễn mối quan hệ này trong cơ sở dữ liệu quan hệ?
A. Sử dụng khóa ngoại trong một trong hai bảng gốc.
B. Tạo một bảng trung gian (linking table) chứa khóa ngoại từ cả hai bảng gốc.
C. Sử dụng khóa chính duy nhất kết hợp cả hai khóa của bảng gốc.
D. Chỉ cần định nghĩa một mối quan hệ trực tiếp giữa hai bảng.
10. Xét hai bảng "Khách hàng" (MaKH, TenKH, DiaChi) và bảng "Đơn hàng" (MaDH, MaKH, NgayDH). Để đảm bảo mỗi đơn hàng phải thuộc về một khách hàng đã tồn tại, trường MaKH trong bảng "Đơn hàng" nên được định nghĩa là gì?
A. Khóa chính của bảng "Đơn hàng"
B. Khóa ngoại tham chiếu đến khóa chính của bảng "Khách hàng"
C. Khóa ứng viên của bảng "Khách hàng"
D. Trường không có ràng buộc gì
11. Trong một cơ sở dữ liệu quản lý thư viện, bảng "Sách" có các trường (MaSach, TenSach, TacGia, MaNXB) và bảng "Nhà xuất bản" có các trường (MaNXB, TenNXB, DiaChi). Nếu MaNXB trong bảng "Sách" là khóa ngoại tham chiếu đến MaNXB trong bảng "Nhà xuất bản", thì điều gì sẽ xảy ra nếu chúng ta cố gắng xóa một bản ghi có MaNXB tồn tại trong bảng "Sách"?
A. Bản ghi nhà xuất bản sẽ bị xóa khỏi bảng "Nhà xuất bản" và các bản ghi sách tương ứng sẽ bị xóa khỏi bảng "Sách".
B. Hệ quản trị cơ sở dữ liệu sẽ ngăn chặn việc xóa bản ghi nhà xuất bản vì nó đang được tham chiếu.
C. Các bản ghi sách tương ứng sẽ được tự động cập nhật MaNXB thành giá trị NULL.
D. Hệ thống sẽ cho phép xóa nhưng dữ liệu trong bảng "Sách" sẽ trở nên không nhất quán.
12. Đâu là một ví dụ về "tính toàn vẹn thực thể" (entity integrity) trong cơ sở dữ liệu quan hệ?
A. Mỗi đơn hàng phải có một mã khách hàng hợp lệ.
B. Không có bản ghi nào trong bảng "Khách hàng" có thể có giá trị NULL cho trường MaKH.
C. Mỗi đơn hàng phải có ngày đặt hàng là một ngày hợp lệ.
D. Số lượng sản phẩm trong chi tiết đơn hàng phải lớn hơn 0.
13. Trong ngữ cảnh của cơ sở dữ liệu quan hệ, "chuẩn hóa" (normalization) chủ yếu nhằm mục đích gì?
A. Tăng tốc độ truy vấn dữ liệu bằng cách giảm số lượng bảng.
B. Giảm sự dư thừa dữ liệu và loại bỏ các vấn đề như cập nhật, xóa dữ liệu bất thường.
C. Tăng cường bảo mật bằng cách mã hóa tất cả các trường dữ liệu.
D. Đảm bảo tất cả các bảng đều có khóa chính.
14. Nếu một khóa ngoại được định nghĩa với tùy chọn "ON DELETE SET NULL", điều gì sẽ xảy ra khi bản ghi cha bị xóa?
A. Bản ghi con cũng sẽ bị xóa.
B. Bản ghi con sẽ được cập nhật giá trị khóa ngoại thành NULL.
C. Hệ thống sẽ ngăn chặn việc xóa bản ghi cha.
D. Bản ghi con sẽ được chuyển sang một bảng khác.
15. Nếu bảng "ChiTietDonHang" có MaDH là khóa ngoại tham chiếu đến bảng "DonHang" (MaDH, NgayDH) và MaSach là khóa ngoại tham chiếu đến bảng "Sach" (MaSach, TenSach). Vậy MaDH và MaSach trong bảng "ChiTietDonHang" có thể cùng nhau tạo thành khóa chính không?
A. Không, vì chúng là khóa ngoại.
B. Có, nếu chúng là khóa ngoại duy nhất và đảm bảo tính duy nhất cho mỗi chi tiết đơn hàng.
C. Có, vì chúng tham chiếu đến các bảng khác nhau.
D. Không, khóa chính chỉ có thể là một trường.
16. Trong mô hình quan hệ, một bảng có thể có bao nhiêu khóa ngoại?
A. Chỉ một khóa ngoại.
B. Tối đa hai khóa ngoại.
C. Nhiều khóa ngoại, miễn là chúng tham chiếu đến các khóa chính hợp lệ.
D. Chỉ khi các khóa ngoại đó là một phần của khóa chính.
17. Trong cơ sở dữ liệu, khi hai bảng có mối quan hệ "một-một" (one-to-one), khóa ngoại có thể được đặt ở bảng nào?
A. Chỉ ở bảng cha.
B. Chỉ ở bảng con.
C. Ở bất kỳ bảng nào trong hai bảng, và khóa ngoại đó cũng có thể là khóa chính hoặc khóa duy nhất của bảng chứa nó.
D. Không thể sử dụng khóa ngoại để biểu diễn mối quan hệ một-một.
18. Trong thiết kế cơ sở dữ liệu, việc tạo ra một bảng trung gian với hai khóa ngoại để biểu diễn mối quan hệ "nhiều-nhiều" giữa hai bảng A và B là một ví dụ về việc áp dụng nguyên tắc nào?
A. Tính toàn vẹn thực thể.
B. Tính toàn vẹn tham chiếu.
C. Chuẩn hóa (đặc biệt là phân rã mối quan hệ nhiều-nhiều).
D. Ràng buộc duy nhất.
19. Khóa ngoại có thể nhận giá trị NULL không?
A. Không, khóa ngoại luôn phải có giá trị.
B. Có, nếu trường đó không phải là một phần của khóa chính của bảng hiện tại.
C. Chỉ khi bảng cha không có bản ghi nào tương ứng.
D. Không bao giờ, đó là định nghĩa của khóa ngoại.
20. Khi thiết kế cơ sở dữ liệu, nếu một thuộc tính trong bảng "ChiTietDonHang" (MaSach, SoLuong, DonGia) cần tham chiếu đến khóa chính "MaSach" của bảng "Sach", thì thuộc tính MaSach trong bảng "ChiTietDonHang" sẽ là:
A. Khóa chính của bảng "ChiTietDonHang".
B. Khóa ngoại tham chiếu đến khóa chính MaSach của bảng "Sach".
C. Một thuộc tính độc lập không có ràng buộc.
D. Khóa ứng viên của bảng "Sach".
21. Nếu một bảng có nhiều khóa ngoại, chúng có nhất thiết phải tham chiếu đến các khóa chính của các bảng khác nhau không?
A. Có, mỗi khóa ngoại phải tham chiếu đến một bảng khác nhau.
B. Không, các khóa ngoại có thể tham chiếu đến cùng một khóa chính của một bảng khác.
C. Không, các khóa ngoại chỉ có thể tham chiếu đến khóa chính của bảng hiện tại.
D. Có, nếu không sẽ vi phạm tính toàn vẹn dữ liệu.
22. Nếu chúng ta muốn ngăn chặn việc nhập một giá trị không hợp lệ vào trường "Tuoi" của bảng "NhanVien" (ví dụ: tuổi âm), chúng ta nên sử dụng loại ràng buộc nào?
A. Khóa chính (Primary Key).
B. Khóa ngoại (Foreign Key).
C. Ràng buộc duy nhất (Unique Constraint).
D. Ràng buộc kiểm tra (Check Constraint).
23. Khóa ngoại có thể được sử dụng để liên kết một bảng với chính nó không? Nếu có, mối quan hệ này thường được gọi là gì?
A. Không, khóa ngoại chỉ dùng để liên kết các bảng khác nhau.
B. Có, mối quan hệ tự tham chiếu (self-referencing relationship), ví dụ: quản lý cấp bậc nhân viên.
C. Có, nhưng chỉ khi bảng đó có hai khóa chính.
D. Có, nhưng nó không được gọi là khóa ngoại, mà là khóa chính của bảng.
24. Khóa ngoài thường được sử dụng để biểu diễn mối quan hệ nào giữa các bảng?
A. Chỉ mối quan hệ một-nhiều.
B. Chỉ mối quan hệ nhiều-nhiều.
C. Mối quan hệ một-nhiều và một-một.
D. Tất cả các loại mối quan hệ trong mô hình quan hệ.
25. Nếu một bảng "ChiTietHD" (MaHD, MaSP, SoLuong, DonGia) có MaHD là khóa ngoại tham chiếu đến "HoaDon" (MaHD, NgayHD) và MaSP là khóa ngoại tham chiếu đến "SanPham" (MaSP, TenSP). Hành động nào sau đây có thể dẫn đến vi phạm tính toàn vẹn tham chiếu nếu không có quy tắc xử lý phù hợp?
A. Thêm một dòng vào "ChiTietHD" với MaHD và MaSP đã tồn tại.
B. Cập nhật MaHD của một hóa đơn trong bảng "HoaDon" mà vẫn còn chi tiết trong "ChiTietHD".
C. Xóa một sản phẩm khỏi bảng "SanPham" mà sản phẩm đó vẫn còn trong "ChiTietHD".
D. Thêm một sản phẩm mới vào bảng "SanPham".