Trắc nghiệm Tin học 11 Tin học ứng dụng Kết nối Bài 22 Thực hành cập nhật bảng dữ liệu có tham chiếu
1. Đâu là một ví dụ về "cập nhật dữ liệu có tham chiếu"?
A. Thay đổi giá bán của một mặt hàng trong bảng "Sản phẩm" và tự động cập nhật giá trị đó trong các đơn hàng đã có mặt hàng này.
B. Thêm một trường mới vào bảng "Khách hàng".
C. Xóa một bảng không còn sử dụng.
D. Tạo một chỉ mục (index) mới cho một cột.
2. Khi sử dụng câu lệnh SQL để thêm một ràng buộc khóa ngoại, cú pháp thường bao gồm việc chỉ định:
A. Cột khóa ngoại trong bảng hiện tại và cột khóa chính trong bảng được tham chiếu.
B. Chỉ cột khóa chính của bảng hiện tại.
C. Chỉ cột khóa ngoại của bảng được tham chiếu.
D. Tên của tất cả các bảng trong cơ sở dữ liệu.
3. Một hệ thống quản lý cơ sở dữ liệu quan hệ có thể áp dụng các loại ràng buộc nào để đảm bảo tính toàn vẹn dữ liệu?
A. Khóa chính, khóa ngoại, UNIQUE, NOT NULL, CHECK.
B. Chỉ có khóa chính và khóa ngoại.
C. Chỉ có ràng buộc về kiểu dữ liệu và độ dài trường.
D. Chỉ có ràng buộc NOT NULL.
4. Khi cập nhật dữ liệu trong một bảng có tham chiếu đến bảng khác, điều gì xảy ra nếu bạn cố gắng xóa một bản ghi trong bảng chính mà bản ghi đó đang được tham chiếu bởi khóa ngoại ở bảng phụ?
A. Hệ quản trị cơ sở dữ liệu sẽ tự động xóa các bản ghi tương ứng ở bảng phụ (cascade delete).
B. Thao tác xóa sẽ bị từ chối nếu không có quy tắc hành động phù hợp được thiết lập.
C. Hệ thống sẽ cập nhật giá trị khóa ngoại ở bảng phụ thành NULL.
D. Bản ghi ở bảng chính sẽ bị xóa nhưng không ảnh hưởng đến bảng phụ.
5. Trong bài thực hành cập nhật bảng dữ liệu có tham chiếu, mục tiêu chính là gì?
A. Thực hiện các thao tác thay đổi dữ liệu (thêm, sửa, xóa) trên các bảng và hiểu cách chúng ảnh hưởng đến các bảng liên quan thông qua khóa ngoại.
B. Tạo mới hoàn toàn các bảng và định nghĩa mối quan hệ giữa chúng.
C. Chỉ thực hiện các truy vấn để xem dữ liệu.
D. Thiết kế giao diện người dùng cho cơ sở dữ liệu.
6. Trong SQL, câu lệnh nào được sử dụng để thêm một bảng mới vào cơ sở dữ liệu?
A. CREATE TABLE TenBang (Cot1 KieuDuLieu, Cot2 KieuDuLieu, ...);
B. ALTER TABLE TenBang ADD COLUMN Cot1 KieuDuLieu;
C. INSERT INTO TenBang VALUES (...);
D. DROP TABLE TenBang;
7. Khi thực hiện thao tác cập nhật, nếu bạn muốn cập nhật giá trị của một trường dựa trên giá trị của một trường khác trong cùng một bảng, bạn có thể sử dụng cú pháp nào?
A. UPDATE TenBang SET Cot1 = Cot2 WHERE DieuKien;
B. UPDATE TenBang SET Cot1 = "GiaTri" WHERE Cot2 = "GiaTriGoc";
C. INSERT INTO TenBang (Cot1) VALUES (Cot2) WHERE DieuKien;
D. ALTER TABLE TenBang MODIFY Cot1 = Cot2;
8. Giả sử bạn có bảng "SanPhan" với khóa chính là "MaSP" và bảng "DonDatHang" với khóa ngoại "MaSP" tham chiếu đến bảng "SanPhan". Nếu bạn xóa một sản phẩm khỏi bảng "SanPhan", hành động nào sau đây là an toàn nhất để duy trì tính toàn vẹn dữ liệu, nếu không có quy tắc CASCADE hay SET NULL?
A. Xóa tất cả các đơn đặt hàng liên quan đến sản phẩm đó trước khi xóa sản phẩm.
B. Cập nhật trường "MaSP" trong bảng "DonDatHang" thành một mã sản phẩm hợp lệ khác.
C. Đặt trường "MaSP" trong bảng "DonDatHang" thành NULL.
D. Hệ thống sẽ tự động thực hiện một trong các hành động trên.
9. Khi một bản ghi bị xóa khỏi bảng chính, và ràng buộc "ON DELETE SET NULL" được áp dụng cho khóa ngoại ở bảng phụ, điều gì sẽ xảy ra?
A. Trường khóa ngoại trong các bản ghi liên quan ở bảng phụ sẽ tự động được đặt thành NULL.
B. Các bản ghi liên quan ở bảng phụ sẽ bị xóa.
C. Thao tác xóa bản ghi ở bảng chính sẽ bị từ chối.
D. Khóa ngoại ở bảng phụ sẽ được cập nhật bằng một giá trị mới.
10. Một "khóa ngoại" (foreign key) trong một bảng được định nghĩa như thế nào?
A. Là một trường hoặc một tập hợp các trường trong một bảng, giá trị của nó khớp với khóa chính của một bảng khác.
B. Là trường duy nhất trong bảng mà không được phép chứa giá trị trùng lặp.
C. Là trường dùng để sắp xếp dữ liệu theo thứ tự tăng dần hoặc giảm dần.
D. Là trường chứa thông tin mô tả về mối quan hệ giữa các bảng.
11. Khi bạn cần thêm một bản ghi mới vào bảng "Học sinh" và trường "MaLop" của bản ghi này phải tham chiếu đến một mã lớp tồn tại trong bảng "LopHoc", bạn cần đảm bảo điều gì trước khi thực hiện thao tác?
A. Phải có một bản ghi với mã lớp tương ứng trong bảng "LopHoc".
B. Bảng "LopHoc" phải có ít nhất 10 bản ghi.
C. Trường "MaLop" trong bảng "HocSinh" không được phép là giá trị NULL.
D. Bảng "HocSinh" phải được sắp xếp theo trường "MaLop".
12. Trong ngữ cảnh cập nhật bảng dữ liệu có tham chiếu, "Ràng buộc toàn vẹn tham chiếu" (Referential Integrity Constraint) có ý nghĩa gì?
A. Đảm bảo rằng mối quan hệ giữa các bảng luôn nhất quán, không có bản ghi nào ở bảng phụ tham chiếu đến bản ghi không tồn tại ở bảng chính.
B. Chỉ cho phép người dùng có quyền truy cập mới được cập nhật dữ liệu.
C. Ngăn chặn việc tạo ra các trường dữ liệu trùng lặp trong cùng một bảng.
D. Tự động sao lưu cơ sở dữ liệu trước mỗi lần thay đổi.
13. Trong SQL, câu lệnh nào được sử dụng để xóa một hoặc nhiều bản ghi khỏi bảng dựa trên một điều kiện?
A. DELETE FROM TenBang WHERE DieuKien;
B. UPDATE TenBang SET TenCot = NULL WHERE DieuKien;
C. INSERT INTO TenBang (TenCot) VALUES (NULL) WHERE DieuKien;
D. DROP TABLE TenBang;
14. Khi bạn muốn cập nhật giá trị của trường "Luong" trong bảng "NhanVien" cho tất cả nhân viên có "ChucVu" là "TruongPhong", bạn sẽ sử dụng cú pháp SQL nào?
A. UPDATE NhanVien SET Luong = "GiaTriMoi" WHERE ChucVu = "TruongPhong";
B. UPDATE NhanVien SET Luong = "GiaTriMoi" WHERE MaNhanVien IN (SELECT MaNhanVien FROM NhanVien WHERE ChucVu = "TruongPhong");
C. UPDATE NhanVien SET Luong = "GiaTriMoi" AND ChucVu = "TruongPhong";
D. ALTER TABLE NhanVien MODIFY Luong = "GiaTriMoi" WHERE ChucVu = "TruongPhong";
15. Đâu là lợi ích chính của việc sử dụng khóa ngoại khi cập nhật và quản lý dữ liệu liên quan giữa các bảng?
A. Đảm bảo tính nhất quán và toàn vẹn của dữ liệu giữa các bảng.
B. Tăng tốc độ truy vấn dữ liệu bằng cách gộp các bảng lại.
C. Giảm dung lượng lưu trữ của cơ sở dữ liệu.
D. Đơn giản hóa việc thiết kế giao diện người dùng.
16. Nếu một bảng có khóa chính là "MaNhanVien", hành động nào sau đây sẽ vi phạm tính duy nhất của khóa chính?
A. Thêm một bản ghi mới với "MaNhanVien" giống với một bản ghi đã có.
B. Thay đổi giá trị của một trường không phải khóa chính.
C. Xóa một bản ghi khỏi bảng.
D. Cập nhật giá trị của một trường khác trong bản ghi có "MaNhanVien" đã tồn tại.
17. Giả sử bạn có bảng "NhânVien" và bảng "PhòngBan". "MaPB" là khóa chính trong "PhòngBan" và là khóa ngoại trong "NhânVien". Nếu bạn muốn xóa một phòng ban khỏi bảng "PhòngBan" mà không gây lỗi, bạn cần làm gì với các nhân viên thuộc phòng ban đó?
A. Chuyển các nhân viên đó sang một phòng ban khác hoặc xóa họ.
B. Cập nhật trường "MaPB" trong bảng "NhânVien" thành NULL cho tất cả nhân viên thuộc phòng ban đó.
C. Chỉ cần xóa phòng ban đó, hệ thống sẽ tự động xử lý.
D. Không thể xóa phòng ban nếu còn nhân viên thuộc phòng ban đó.
18. Trong cơ sở dữ liệu quan hệ, "khóa chính" (primary key) được sử dụng để làm gì?
A. Để xác định duy nhất mỗi bản ghi trong một bảng.
B. Để liên kết các bảng lại với nhau thông qua khóa ngoại.
C. Để định nghĩa kiểu dữ liệu cho một trường.
D. Để giới hạn giá trị có thể nhập vào một trường.
19. Nếu bạn muốn cập nhật giá của tất cả sản phẩm trong bảng "SảnPhẩm" bằng cách tăng lên 10%, bạn sẽ sử dụng mệnh đề nào trong câu lệnh UPDATE?
A. SET Gia = Gia * 1.10
B. SET Gia = Gia + 10%
C. SET Gia = Gia * 1.10 WHERE Gia > 0
D. SET Gia = Gia + 0.10
20. Khi thực hiện lệnh cập nhật (UPDATE) trên một bảng, bạn muốn thay đổi giá trị của một cột dựa trên một điều kiện cụ thể. Lệnh SQL nào sau đây là phù hợp nhất?
A. UPDATE TenBang SET TenCot = "GiaTriMoi" WHERE DieuKien;
B. INSERT INTO TenBang (TenCot) VALUES ("GiaTriMoi") WHERE DieuKien;
C. DELETE FROM TenBang WHERE DieuKien;
D. SELECT TenCot FROM TenBang WHERE DieuKien;
21. Khi thực hiện thao tác cập nhật, bạn cần thay đổi giá trị của trường "NgaySinh" trong bảng "SinhVien". Bạn chỉ muốn cập nhật cho những sinh viên có năm sinh trước năm 2000. Câu lệnh SQL nào sau đây là đúng?
A. UPDATE SinhVien SET NgaySinh = "GiaTriMoi" WHERE YEAR(NgaySinh) < 2000;
B. UPDATE SinhVien SET NgaySinh = "GiaTriMoi" WHERE NgaySinh < "2000-01-01";
C. UPDATE SinhVien SET NgaySinh = "GiaTriMoi" WHERE NgaySinh BETWEEN "0001-01-01" AND "1999-12-31";
D. Cả ba lựa chọn trên đều có thể đúng tùy thuộc vào hệ quản trị cơ sở dữ liệu.
22. Khi cập nhật dữ liệu, nếu có một quy tắc ràng buộc trên trường "Email" yêu cầu nó phải là duy nhất (unique constraint), điều gì sẽ xảy ra nếu bạn cố gắng nhập hai bản ghi có cùng địa chỉ email?
A. Thao tác nhập bản ghi thứ hai sẽ bị từ chối.
B. Hệ thống sẽ tự động thay đổi địa chỉ email thứ hai.
C. Email sẽ được chấp nhận nhưng sẽ có cảnh báo.
D. Email sẽ được chấp nhận và hệ thống sẽ tạo một định danh duy nhất khác cho bản ghi.
23. Bạn đang làm việc với một bảng "DonHang" và bảng "ChiTietDonHang". Mỗi đơn hàng có thể bao gồm nhiều mặt hàng, và mỗi mặt hàng chỉ thuộc về một đơn hàng. Trường "MaDonHang" trong bảng "ChiTietDonHang" là gì?
A. Khóa ngoại, tham chiếu đến khóa chính "MaDonHang" trong bảng "DonHang".
B. Khóa chính của bảng "ChiTietDonHang".
C. Khóa duy nhất (unique key) trong bảng "ChiTietDonHang".
D. Trường mô tả thông tin về đơn hàng.
24. Trong một hệ thống quản lý thư viện, bảng "Sach" chứa thông tin về sách và bảng "TacGia" chứa thông tin về tác giả. Mối quan hệ giữa hai bảng này thường là gì, và làm thế nào để biểu diễn nó?
A. Quan hệ một-nhiều (một tác giả có thể viết nhiều sách, một sách có thể có một hoặc nhiều tác giả). Sử dụng khóa ngoại trong bảng "Sach" tham chiếu đến khóa chính của bảng "TacGia" (trong trường hợp sách chỉ có 1 tác giả) hoặc một bảng trung gian nếu sách có nhiều tác giả.
B. Quan hệ một-một (mỗi sách chỉ có một tác giả và mỗi tác giả chỉ viết một sách).
C. Quan hệ nhiều-nhiều (một sách có thể có nhiều tác giả và một tác giả có thể viết nhiều sách). Sử dụng bảng trung gian để liên kết.
D. Không có mối quan hệ trực tiếp, thông tin tác giả được lưu trực tiếp trong bảng "Sach".
25. Khi bạn cập nhật giá trị của một khóa chính trong bảng chính, điều gì có thể xảy ra với các bản ghi liên quan ở bảng phụ nếu không có quy tắc "ON UPDATE CASCADE" được thiết lập?
A. Thao tác cập nhật khóa chính ở bảng chính sẽ bị từ chối.
B. Khóa ngoại ở bảng phụ sẽ tự động được cập nhật theo giá trị mới của khóa chính.
C. Khóa ngoại ở bảng phụ sẽ bị đặt thành NULL.
D. Bản ghi ở bảng phụ sẽ bị xóa.