Phiếu bài tập Cơ sở dữ liệu và SQL có đáp án

Phiếu bài tập Cơ sở dữ liệu và SQL miễn phí để in: 8 bài từ cơ bản đến mức đề thi, kèm đáp án. In ra hoặc lưu thành PDF.

Dành cho giảng viên: miễn phí in, sao chép và sử dụng trên lớp. Mỗi phiếu bài tập mới có số liệu mới và đáp án riêng. Chúng tôi rất cảm ơn nếu bạn đặt liên kết đến ExamProblems trên trang môn học.

Tên: ____________________   Ngày: ____________

1.Dễ

Ràng buộc UNIQUE trên một cột bảo đảm điều gì?

  1. ACột đó tự động trở thành khóa chính của bảng
  2. BKhông có hai hàng nào có cùng một giá trị khác NULL trong cột đó
  3. CCác giá trị của cột được sắp xếp
  4. DCột không thể thay đổi sau khi chèn
2.Dễ

Khóa ngoại (foreign key) là:

  1. AMột cột tham chiếu đến khóa chính của bảng khác
  2. BMột cột có giá trị phải là duy nhất trên mọi hàng của bảng
  3. CMột khóa dùng cho người dùng nước ngoài
  4. DMột khóa luôn được mã hóa
3.Dễ

Ràng buộc nào bảo đảm một cột không bao giờ bị để trống (NULL)?

  1. AUNIQUE
  2. BDEFAULT
  3. CNOT NULL
  4. DCHECK NULL
4.Trung bình

Truy vấn nào trả về số thành phố khác nhau trong bảng customers?

  1. ASELECT COUNT(DISTINCT city) FROM customers
  2. BSELECT DISTINCT COUNT(city) FROM customers
  3. CSELECT COUNT(city) FROM customers GROUP BY city
  4. DSELECT SUM(DISTINCT city) FROM customers
5.Trung bình

Một bảng có các hàng mà col là NULL. WHERE col = NULL trả về những hàng nào?

  1. AChỉ những hàng mà col là NULL, giống như với IS NULL
  2. BKhông có hàng nào, vì phép so sánh cho kết quả unknown
  3. CMột lỗi ở mọi cơ sở dữ liệu
  4. DTất cả các hàng của bảng
6.Trung bình

Một cột chứa các giá trị 10, 20 và NULL. AVG(col) trả về gì?

  1. A15
  2. BNULL
  3. C30
  4. D10
7.Khó

Đọc bóng ma (phantom read) là gì?

  1. AĐọc các thay đổi chưa commit
  2. BMột truy vấn lặp lại trả về các hàng mới được chèn bởi giao dịch khác đã commit
  3. CĐọc dữ liệu chưa bao giờ được ghi
  4. DMột truy vấn không trả về hàng nào
8.Khó

Vì sao một truy vấn với WHERE YEAR(order_date) = 2025 có thể không dùng chỉ mục trên order_date?

  1. AChỉ mục không bao giờ hoạt động với ngày tháng
  2. BChỉ mục trên order_date chỉ được dùng cho mệnh đề ORDER BY, không bao giờ cho WHERE
  3. CYEAR không phải là SQL hợp lệ
  4. DÁp dụng một hàm lên cột ngăn việc tra cứu phạm vi chỉ mục đơn giản

Đáp án

  1. 1. B · Không có hai hàng nào có cùng một giá trị khác NULL trong cột đó
  2. 2. A · Một cột tham chiếu đến khóa chính của bảng khác
  3. 3. C · NOT NULL
  4. 4. A · SELECT COUNT(DISTINCT city) FROM customers
  5. 5. B · Không có hàng nào, vì phép so sánh cho kết quả unknown
  6. 6. A · 15
  7. 7. B · Một truy vấn lặp lại trả về các hàng mới được chèn bởi giao dịch khác đã commit
  8. 8. D · Áp dụng một hàm lên cột ngăn việc tra cứu phạm vi chỉ mục đơn giản

Lời giải đầy đủ từng bước: hãy luyện chủ đề này trên examproblems.com.