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ễ

GRANT và REVOKE thuộc phần nào của SQL?

  1. ANgôn ngữ thao tác dữ liệu (DML)
  2. BNgôn ngữ truy vấn dữ liệu (DQL)
  3. CNgôn ngữ định nghĩa dữ liệu (DDL)
  4. DNgôn ngữ điều khiển dữ liệu (DCL)
2.Dễ

UNION ALL khác UNION ở điểm nào?

  1. AUNION ALL sắp xếp kết quả
  2. BUNION ALL loại bỏ các hàng trùng lặp
  3. CUNION ALL giữ lại các hàng trùng lặp
  4. DUNION ALL chỉ hoạt động trên một bảng
3.Dễ

ROLLBACK làm gì trong một giao dịch?

  1. ALưu vĩnh viễn mọi thay đổi của giao dịch xuống đĩa
  2. BLặp lại câu lệnh cuối cùng
  3. CHoàn tác các thay đổi đã thực hiện kể từ khi giao dịch bắt đầu
  4. DXóa bảng
4.Trung bình

SELECT COALESCE(phone, 'unknown') FROM customers trả về gì với khách hàng có phone là NULL?

  1. AMột lỗi
  2. BNULL
  3. C'unknown'
  4. DMột chuỗi rỗng
5.Trung bình

Chữ "A" trong ACID viết tắt cho điều gì?

  1. AAvailability
  2. BAtomicity (tính nguyên tử)
  3. CAccuracy
  4. DAggregation
6.Trung bình

Truy vấn nào trả về mức lương cao nhất trong mỗi phòng ban?

  1. ASELECT dept, salary FROM emp WHERE salary = MAX(salary)
  2. BSELECT dept, MAX(salary) FROM emp GROUP BY dept
  3. CSELECT dept, MAX(salary) FROM emp ORDER BY dept
  4. DSELECT MAX(dept), salary FROM emp GROUP BY salary
7.Khó

Một bảng có một triệu hàng và một cột Boolean is_active là TRUE với 95% số hàng. Vì sao bộ tối ưu hóa có thể bỏ qua chỉ mục trên is_active cho WHERE is_active = TRUE?

  1. AKhông thể tạo chỉ mục trên cột Boolean
  2. BBộ tối ưu hóa không bao giờ dùng chỉ mục trong mệnh đề WHERE
  3. CHầu hết các hàng đều khớp, nên quét toàn bộ bảng rẻ hơn nhiều lần tra cứu chỉ mục
  4. DTRUE bị chỉ mục coi là NULL
8.Khó

Khi nào việc phân rã R thành R1 và R2 được bảo đảm là không mất mát?

  1. AKhi mọi thuộc tính của R xuất hiện trong cả R1 và R2
  2. BKhi các thuộc tính chung của R1 và R2 tạo thành siêu khóa của R1 hoặc của R2
  3. CKhi R1 và R2 không có thuộc tính chung
  4. DKhi R1 và R2 có cùng số cột

Đáp án

  1. 1. D · Ngôn ngữ điều khiển dữ liệu (DCL)
  2. 2. C · UNION ALL giữ lại các hàng trùng lặp
  3. 3. C · Hoàn tác các thay đổi đã thực hiện kể từ khi giao dịch bắt đầu
  4. 4. C · 'unknown'
  5. 5. B · Atomicity (tính nguyên tử)
  6. 6. B · SELECT dept, MAX(salary) FROM emp GROUP BY dept
  7. 7. C · Hầu hết các hàng đều khớp, nên quét toàn bộ bảng rẻ hơn nhiều lần tra cứu chỉ mục
  8. 8. B · Khi các thuộc tính chung của R1 và R2 tạo thành siêu khóa của R1 hoặc của R2

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