Trắc nghiệm Kết nối Tin học 11 Tin học ứng dụng Kết nối Bài 20 Thực hành tạo lập các bảng có khóa ngoại
1. Trong ngôn ngữ SQL, khi định nghĩa một khóa ngoại, cú pháp REFERENCES ten_bang_cha (ten_cot_khoa_chinh) có ý nghĩa gì?
A. Chỉ định tên bảng và tên cột khóa ngoại trong bảng hiện tại.
B. Xác định bảng cha và cột khóa chính mà khóa ngoại này sẽ tham chiếu đến.
C. Thiết lập quy tắc xóa dữ liệu cho khóa ngoại.
D. Tạo một chỉ mục (index) cho cột khóa ngoại.
2. Khi một khóa ngoại được định nghĩa, nó có tự động tạo ra một chỉ mục (index) trên cột khóa ngoại đó không?
A. Có, hầu hết các hệ quản trị cơ sở dữ liệu tự động tạo chỉ mục cho khóa ngoại.
B. Không, chỉ mục phải được tạo riêng biệt.
C. Chỉ khi khóa ngoại được định nghĩa là duy nhất.
D. Chỉ khi khóa ngoại tham chiếu đến khóa chính.
3. Khi một khóa ngoại được định nghĩa với tùy chọn ON DELETE SET NULL, điều gì xảy ra nếu một bản ghi trong bảng cha bị xóa?
A. Bản ghi cha bị xóa, các bản ghi con tương ứng cũng bị xóa.
B. Bản ghi cha bị xóa, giá trị khóa ngoại trong các bản ghi con tương ứng được đặt thành NULL.
C. Việc xóa bản ghi cha bị từ chối nếu có bản ghi con tham chiếu.
D. Bản ghi cha bị xóa, các bản ghi con tương ứng được cập nhật khóa chính mới.
4. Phát biểu nào sau đây là KHÔNG ĐÚNG về mối quan hệ giữa khóa chính và khóa ngoại?
A. Khóa chính phải là duy nhất và không được phép NULL.
B. Khóa ngoại có thể chứa giá trị NULL nếu mối quan hệ là tùy chọn.
C. Khóa ngoại phải tham chiếu đến một khóa chính hoặc một khóa ứng viên khác trong cùng một bảng.
D. Khóa ngoại có thể chứa các giá trị không tồn tại trong khóa chính của bảng được tham chiếu nếu không có ràng buộc về tính toàn vẹn tham chiếu.
5. Khi tạo ràng buộc khóa ngoại, việc đặt tên cho ràng buộc là tùy chọn, nhưng nên đặt tên có ý nghĩa. Tại sao?
A. Để hệ quản trị cơ sở dữ liệu hoạt động nhanh hơn.
B. Để dễ dàng quản lý, sửa đổi hoặc xóa ràng buộc sau này.
C. Để đảm bảo tính duy nhất của khóa ngoại.
D. Để tự động tạo chỉ mục cho cột khóa ngoại.
6. Nếu một bảng có nhiều khóa ngoại, mỗi khóa ngoại đó có thể tham chiếu đến khóa chính của các bảng khác nhau hoặc cùng một bảng hay không?
A. Không, mỗi bảng chỉ có thể có một khóa ngoại tham chiếu đến duy nhất một bảng khác.
B. Có, mỗi khóa ngoại có thể tham chiếu đến các bảng khác nhau hoặc đến các khóa chính khác nhau trong cùng một bảng.
C. Chỉ khi các bảng được tham chiếu có cấu trúc tương tự.
D. Chỉ khi các khóa ngoại có tên giống nhau.
7. Tùy chọn ON UPDATE CASCADE khi định nghĩa khóa ngoại có ý nghĩa gì?
A. Khi khóa chính của bảng cha thay đổi, khóa ngoại tương ứng trong bảng con cũng tự động thay đổi theo.
B. Khi khóa ngoại của bảng con thay đổi, khóa chính của bảng cha cũng tự động thay đổi theo.
C. Khi khóa chính của bảng cha thay đổi, các bản ghi con tương ứng sẽ bị xóa.
D. Khi khóa chính của bảng cha thay đổi, các bản ghi con tương ứng sẽ được cập nhật giá trị NULL.
8. Khi thiết kế cơ sở dữ liệu, việc sử dụng khóa ngoại giúp ngăn chặn loại lỗi dữ liệu nào?
A. Trùng lặp khóa chính.
B. Dữ liệu không hợp lệ trong cột số.
C. Dữ liệu tham chiếu không tồn tại (Dangling references).
D. Dữ liệu bị thiếu (Missing data).
9. Đâu là một ví dụ về mối quan hệ giữa hai bảng sử dụng khóa ngoại?
A. Bảng SinhVien có cột MaLop tham chiếu đến khóa chính MaLop trong bảng LopHoc.
B. Bảng Sach có cột TenSach là khóa chính và bảng TacGia có cột TenTacGia là khóa chính.
C. Bảng NhanVien có cột Luong và bảng PhongBan có cột TenPhongBan.
D. Bảng SanPhan có cột Gia và bảng DonHang có cột SoLuong.
10. Khóa ngoại có thể được tạo trên nhiều cột không (composite foreign key)?
A. Không, khóa ngoại chỉ có thể là một cột duy nhất.
B. Có, nếu các cột đó cùng tham chiếu đến một khóa chính là composite key.
C. Có, nhưng chỉ khi các cột đó có kiểu dữ liệu khác nhau.
D. Có, nhưng chỉ khi chúng tham chiếu đến các bảng khác nhau.
11. Trong SQL, câu lệnh nào sau đây dùng để thêm một ràng buộc khóa ngoại vào một bảng đã tồn tại?
A. CREATE TABLE ... ADD FOREIGN KEY ... REFERENCES ...
B. ALTER TABLE ... ADD CONSTRAINT ... FOREIGN KEY (...) REFERENCES ... (...)
C. MODIFY TABLE ... ADD FOREIGN KEY ...
D. UPDATE TABLE ... SET FOREIGN KEY ...
12. Khóa ngoại (Foreign Key) trong một bảng có vai trò gì?
A. Đảm bảo tính duy nhất của mỗi bản ghi trong bảng.
B. Liên kết hai bảng với nhau bằng cách tham chiếu đến khóa chính của bảng khác.
C. Chỉ định trường dữ liệu để phân loại các bản ghi.
D. Xác định thứ tự sắp xếp các bản ghi trong bảng.
13. Khi một bản ghi trong bảng cha bị xóa, hành động mặc định của khóa ngoại trong bảng con là gì (nếu không có quy tắc CASCADE hay SET NULL được định nghĩa)?
A. Bản ghi tương ứng trong bảng con cũng bị xóa theo.
B. Bản ghi tương ứng trong bảng con sẽ bị sửa đổi để có giá trị NULL.
C. Hệ quản trị cơ sở dữ liệu sẽ báo lỗi và ngăn chặn việc xóa bản ghi trong bảng cha.
D. Bản ghi tương ứng trong bảng con sẽ bị khóa và không thể sửa đổi.
14. Một trường hợp sử dụng khóa ngoại là để đảm bảo rằng mỗi sản phẩm được thêm vào đơn hàng phải tồn tại trong danh mục sản phẩm.
A. Đúng, đây là cách khóa ngoại duy trì tính toàn vẹn tham chiếu.
B. Sai, khóa ngoại chỉ áp dụng cho thông tin khách hàng.
C. Sai, khóa ngoại không thể liên kết bảng đơn hàng với bảng sản phẩm.
D. Đúng, nhưng chỉ khi sản phẩm đó là duy nhất.
15. Trong cơ sở dữ liệu quan hệ, khi tạo một bảng có khóa ngoại, điều kiện tiên quyết để liên kết hai bảng là gì?
A. Cột khóa ngoại trong bảng con phải có kiểu dữ liệu giống hệt cột khóa chính trong bảng cha và có thể chứa giá trị NULL.
B. Cột khóa ngoại trong bảng con phải có kiểu dữ liệu tương thích với cột khóa chính trong bảng cha và có thể chứa giá trị NULL tùy thuộc vào quy tắc định nghĩa.
C. Cột khóa ngoại trong bảng con phải có kiểu dữ liệu giống hệt cột khóa chính trong bảng cha và không được chứa giá trị NULL.
D. Cột khóa ngoại trong bảng con phải có kiểu dữ liệu tương thích với cột khóa chính trong bảng cha và không được chứa giá trị NULL.
16. Trong một hệ quản trị cơ sở dữ liệu (DBMS), tùy chọn ON DELETE CASCADE khi định nghĩa khóa ngoại có nghĩa là gì?
A. Khi bản ghi cha bị xóa, bản ghi con tương ứng sẽ được cập nhật giá trị NULL.
B. Khi bản ghi cha bị xóa, bản ghi con tương ứng cũng sẽ bị xóa theo.
C. Việc xóa bản ghi cha sẽ bị ngăn chặn nếu có bản ghi con tham chiếu đến nó.
D. Khi bản ghi cha bị xóa, bản ghi con tương ứng sẽ bị khóa và không thể chỉnh sửa.
17. Đâu là lợi ích chính của việc sử dụng khóa ngoại trong thiết kế cơ sở dữ liệu?
A. Tăng tốc độ truy vấn dữ liệu.
B. Giảm dung lượng lưu trữ của cơ sở dữ liệu.
C. Đảm bảo tính toàn vẹn và nhất quán của dữ liệu.
D. Đơn giản hóa việc thêm cột mới vào bảng.
18. Trong quá trình tạo bảng, nếu bạn không chỉ định rõ ràng, hệ quản trị cơ sở dữ liệu có tự động tạo khóa ngoại hay không?
A. Có, nó sẽ tự động tạo dựa trên tên cột.
B. Không, bạn phải chỉ định rõ ràng bằng lệnh SQL.
C. Chỉ khi cột đó được đánh dấu là khóa chính.
D. Chỉ khi có bảng khác đang tham chiếu đến nó.
19. Một bảng có thể có bao nhiêu khóa ngoại?
A. Chỉ một.
B. Nhiều nhất là hai.
C. Không giới hạn.
D. Tùy thuộc vào số lượng cột trong bảng.
20. Trong ngữ cảnh của Bài 20, tạo lập các bảng có khóa ngoại nhằm mục đích chính là gì?
A. Tăng tính thẩm mỹ của cơ sở dữ liệu.
B. Giảm số lượng bảng trong cơ sở dữ liệu.
C. Thiết lập và duy trì mối quan hệ giữa các bảng, đảm bảo tính toàn vẹn dữ liệu.
D. Tăng tốc độ nhập liệu thủ công.
21. Một sinh viên có thể đăng ký nhiều môn học, và mỗi môn học có thể có nhiều sinh viên đăng ký. Đây là mối quan hệ nhiều-nhiều (many-to-many). Để biểu diễn mối quan hệ này trong cơ sở dữ liệu quan hệ, ta cần tạo một bảng trung gian. Bảng trung gian này sẽ chứa ít nhất hai khóa ngoại, tham chiếu đến khóa chính của những bảng nào?
A. Chỉ một khóa ngoại, tham chiếu đến bảng sinh viên.
B. Chỉ một khóa ngoại, tham chiếu đến bảng môn học.
C. Hai khóa ngoại, một tham chiếu đến bảng sinh viên và một tham chiếu đến bảng môn học.
D. Hai khóa ngoại, cả hai cùng tham chiếu đến bảng sinh viên.
22. Giả sử có hai bảng: GiangVien (MaGV, TenGV, MaKhoa) và Khoa (MaKhoa, TenKhoa). Để thiết lập mối quan hệ, khóa ngoại sẽ được định nghĩa ở bảng nào và tham chiếu đến đâu?
A. Ở bảng Khoa, tham chiếu đến khóa chính MaGV của bảng GiangVien.
B. Ở bảng GiangVien, tham chiếu đến khóa chính MaKhoa của bảng Khoa.
C. Ở bảng GiangVien, tham chiếu đến khóa chính MaGV của bảng GiangVien.
D. Ở bảng Khoa, tham chiếu đến khóa chính MaKhoa của bảng Khoa.
23. Trong cơ sở dữ liệu, mối quan hệ một-nhiều (one-to-many) giữa bảng A và bảng B thường được thực hiện bằng cách đặt khóa ngoại ở bảng nào?
A. Ở bảng A (bên một).
B. Ở bảng B (bên nhiều).
C. Ở cả hai bảng A và B.
D. Không cần khóa ngoại cho mối quan hệ một-nhiều.
24. Một bảng có một khóa ngoại tham chiếu đến bảng khác. Nếu bảng được tham chiếu có hai khóa chính khác nhau, khóa ngoại này nên tham chiếu đến:
A. Khóa chính đầu tiên được định nghĩa trong bảng.
B. Khóa chính duy nhất của bảng đó.
C. Bất kỳ khóa ứng viên nào trong bảng.
D. Một khóa chính hoặc một khóa ứng viên duy nhất được chỉ định rõ ràng.
25. Trong tình huống tạo lập bảng DonHang tham chiếu đến bảng KhachHang bằng khóa ngoại MaKH, nếu MaKH trong bảng KhachHang bị xóa, hành động nào sau đây là phổ biến và đảm bảo tính nhất quán dữ liệu?
A. Tự động xóa tất cả các đơn hàng của khách hàng đó trong bảng DonHang.
B. Chỉ cho phép xóa khách hàng nếu không còn đơn hàng nào liên quan.
C. Tự động gán giá trị NULL cho MaKH trong các đơn hàng của khách hàng đó.
D. Cho phép xóa khách hàng và khóa ngoại sẽ tự động cập nhật giá trị.