Trắc nghiệm Cánh diều Tin học 11 KHMT bài 2 Bảng và khóa chính trong cơ sở dữ liệu quan hệ
1. Nếu một bảng có nhiều khóa ứng viên, hệ quản trị CSDL sẽ chọn khóa nào làm khóa chính?
A. Khóa có nhiều thuộc tính nhất.
B. Khóa có giá trị duy nhất.
C. Khóa được người thiết kế cơ sở dữ liệu chỉ định (thường là khóa đơn giản, ít thay đổi).
D. Khóa có giá trị NULL.
2. Thuộc tính MaSoThue của một doanh nghiệp có thể được xem là ứng viên cho khóa chính của bảng DoanhNghiep vì:
A. Nó luôn có giá trị NULL.
B. Nó có thể trùng lặp với mã số của doanh nghiệp khác.
C. Nó đảm bảo tính duy nhất và ít thay đổi.
D. Nó chỉ được sử dụng để liên kết bảng.
3. Trong mô hình cơ sở dữ liệu quan hệ, khái niệm Primary Key (Khóa chính) phục vụ mục đích gì?
A. Để tạo mối liên kết giữa các bảng.
B. Để đảm bảo tính duy nhất và định danh mỗi bản ghi trong bảng.
C. Để chỉ định các thuộc tính không được phép để trống.
D. Để tăng tốc độ truy vấn dữ liệu.
4. Nếu ta có bảng GiangVien (Khóa chính: MaGV) và bảng MonHoc (Khóa chính: MaMH), và muốn thể hiện Giảng viên phụ trách môn học, trong đó một giảng viên có thể phụ trách nhiều môn học và một môn học chỉ do một giảng viên phụ trách tại một thời điểm cụ thể, thì bảng MonHoc nên có thuộc tính gì?
A. Khóa chính của bảng GiangVien
B. Khóa ngoại tham chiếu đến MaGV của bảng GiangVien
C. Khóa ngoại tham chiếu đến MaMH của bảng MonHoc
D. Một khóa ghép bao gồm MaGV và MaMH.
5. Trong một cơ sở dữ liệu, bảng DonHang có khóa chính là MaDonHang. Bảng ChiTietDonHang có thuộc tính MaDonHang. Để liên kết hai bảng này, thuộc tính MaDonHang trong bảng ChiTietDonHang phải là loại khóa nào?
A. Khóa chính
B. Khóa ứng viên
C. Khóa ngoại
D. Khóa thay thế
6. Khi thiết kế cơ sở dữ liệu, việc chọn khóa chính có ảnh hưởng như thế nào đến hiệu suất truy vấn?
A. Khóa chính không ảnh hưởng đến hiệu suất truy vấn.
B. Khóa chính càng lớn (nhiều thuộc tính, kiểu dữ liệu lớn) thì hiệu suất truy vấn càng cao.
C. Khóa chính nhỏ, đơn giản thường giúp tăng hiệu suất truy vấn do chỉ mục được tạo ra hiệu quả hơn.
D. Chỉ các khóa ngoại mới ảnh hưởng đến hiệu suất truy vấn.
7. Một khóa có thể bao gồm nhiều thuộc tính được gọi là gì?
A. Khóa đơn
B. Khóa ngoại
C. Khóa ghép (Composite Key)
D. Khóa duy nhất
8. Đâu là cách diễn đạt sai về khóa chính?
A. Khóa chính phải là duy nhất.
B. Khóa chính không được chứa giá trị NULL.
C. Một bảng có thể có nhiều khóa chính.
D. Khóa chính có thể là khóa ngoại.
9. Nếu một thuộc tính được khai báo là khóa chính, nó có bắt buộc phải là NOT NULL không?
A. Không, có thể là NULL nếu có khóa thay thế.
B. Có, vì khóa chính phải luôn có giá trị để định danh bản ghi.
C. Chỉ khi đó là khóa ghép.
D. Tùy thuộc vào hệ quản trị CSDL.
10. Đâu là một ví dụ về khóa ghép (Composite Key) trong thực tế?
A. Mã số sinh viên trong bảng SinhVien.
B. Mã đơn hàng trong bảng DonHang.
C. Tổ hợp (Mã học sinh, Mã môn học) trong bảng Điểm.
D. Mã phòng ban trong bảng PhongBan.
11. Nếu bảng HocSinh có khóa chính là MaHS, và bảng LopHoc có khóa chính là MaLop, làm thế nào để biểu diễn mối quan hệ Học sinh thuộc lớp học?
A. Thêm thuộc tính MaHS vào bảng LopHoc.
B. Thêm thuộc tính MaLop vào bảng HocSinh như một khóa ngoại.
C. Tạo một bảng trung gian với hai khóa ngoại là MaHS và MaLop.
D. Sử dụng khóa chính của bảng HocSinh làm khóa ngoại trong bảng LopHoc.
12. Trong trường hợp nào một bảng có thể không có khóa chính được định nghĩa rõ ràng?
A. Khi bảng đó chỉ chứa các thuộc tính không quan trọng.
B. Khi bảng đó chỉ dùng để lưu trữ tạm thời và không cần liên kết.
C. Khi tất cả các thuộc tính đều có thể là khóa ngoại.
D. Trong thực tế, mọi bảng trong cơ sở dữ liệu quan hệ đều cần có khóa chính để đảm bảo tính toàn vẹn.
13. Đặc điểm nào của khóa chính giúp đảm bảo rằng mỗi bản ghi trong bảng là duy nhất và có thể được xác định một cách độc lập?
A. Tính toàn vẹn tham chiếu
B. Tính duy nhất
C. Tính tối giản
D. Tính bắt buộc nhập (NOT NULL)
14. Trong bảng Sach, khóa chính có thể là MaSach. Nếu có thêm thuộc tính TenSach và TacGia, thì MaSach được gọi là gì?
A. Khóa ngoại
B. Khóa ứng viên
C. Khóa thay thế
D. Khóa ghép
15. Nếu một bảng có khóa chính là một chuỗi ký tự (ví dụ: MaSP dạng VARCHAR), điều này có thể ảnh hưởng đến hiệu suất truy vấn như thế nào so với khóa chính là số nguyên (ví dụ: MaSP dạng INT)?
A. Khóa chuỗi luôn nhanh hơn khóa số.
B. Khóa chuỗi thường chậm hơn khóa số do kích thước lớn hơn và cần so sánh ký tự.
C. Không có sự khác biệt về hiệu suất.
D. Chỉ khóa số mới được dùng làm khóa chính.
16. Trong một bảng, hai thuộc tính khác nhau có thể cùng tạo thành một khóa chính nếu:
A. Cả hai thuộc tính đều có thể là NULL.
B. Mỗi thuộc tính riêng lẻ không đủ để định danh duy nhất, nhưng khi kết hợp lại thì duy nhất.
C. Một trong hai thuộc tính có thể được sử dụng làm khóa ngoại.
D. Cả hai thuộc tính đều có kiểu dữ liệu giống nhau.
17. Nếu một bảng có nhiều thuộc tính có thể làm khóa chính, thuộc tính nào nên được ưu tiên chọn làm khóa chính?
A. Thuộc tính có nhiều giá trị nhất
B. Thuộc tính có ít giá trị nhất nhưng vẫn duy nhất
C. Thuộc tính có nhiều ký tự nhất
D. Thuộc tính dễ nhớ nhất đối với người dùng
18. Khái niệm Superkey (Siêu khóa) trong cơ sở dữ liệu quan hệ là gì?
A. Một thuộc tính duy nhất định danh bản ghi.
B. Một tập hợp các thuộc tính mà mỗi tập hợp này có thể định danh duy nhất một bản ghi.
C. Một khóa ngoại tham chiếu đến khóa chính.
D. Một khóa không được phép chứa NULL.
19. Nếu một khóa chính bị xóa hoặc thay đổi, hệ quản trị CSDL có thể thực hiện hành động gì dựa trên quy tắc toàn vẹn tham chiếu (Referential Integrity)?
A. Tự động xóa các bản ghi liên quan ở bảng khác.
B. Chỉ cho phép thay đổi nếu không có khóa ngoại nào tham chiếu đến nó.
C. Cho phép thay đổi và cập nhật khóa ngoại tương ứng.
D. Tùy chọn 1 hoặc 3, tùy thuộc vào cài đặt (CASCADE, SET NULL, RESTRICT).
20. Khóa ngoại (Foreign Key) trong cơ sở dữ liệu quan hệ dùng để làm gì?
A. Đảm bảo tính duy nhất của các bản ghi trong một bảng.
B. Liên kết dữ liệu giữa hai bảng, tham chiếu đến khóa chính của bảng khác.
C. Xác định các thuộc tính không được phép để trống.
D. Tạo ra các chỉ mục để tăng tốc độ truy vấn.
21. Yếu tố nào sau đây **không** phải là tiêu chí quan trọng để chọn một thuộc tính làm khóa chính?
A. Tính duy nhất (Uniqueness)
B. Tính toàn vẹn (Integrity)
C. Tính thay đổi (Mutability)
D. Tính tối giản (Minimality)
22. Nếu một bảng NhanVien có khóa chính là MaNV, và bảng PhongBan có khóa chính là MaPB. Nếu ta muốn thể hiện mối quan hệ Nhân viên làm việc tại phòng ban, thì bảng NhanVien cần có thêm thuộc tính gì?
A. Khóa chính của bảng NhanVien
B. Khóa ngoại tham chiếu đến MaPB của bảng PhongBan
C. Khóa ngoại tham chiếu đến MaNV của bảng NhanVien
D. Một khóa ứng viên mới
23. Khóa nào sau đây là một tập hợp con của một khóa ứng viên, và bản thân nó cũng có tính duy nhất, nhưng không có thuộc tính nào là dư thừa?
A. Khóa chính
B. Khóa ngoại
C. Khóa ứng viên
D. Khóa tối thiểu (Minimal Key / Candidate Key)
24. Trong cơ sở dữ liệu quan hệ, thuộc tính nào sau đây là ứng viên tốt nhất cho khóa chính của bảng SinhVien nếu nó đảm bảo tính duy nhất và không thay đổi?
A. Họ và tên sinh viên
B. Mã số sinh viên
C. Ngày sinh
D. Địa chỉ email
25. Khi một khóa ngoại tham chiếu đến khóa chính của một bảng khác, điều này thể hiện mối quan hệ gì?
A. Mối quan hệ một-một (One-to-One)
B. Mối quan hệ một-nhiều (One-to-Many)
C. Mối quan hệ nhiều-nhiều (Many-to-Many)
D. Cả ba loại mối quan hệ trên, tùy thuộc vào cách thiết kế.