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ễ

Khóa ứng viên (candidate key) là gì?

  1. AMột tập cột được chia sẻ giữa hai bảng để liên kết các hàng của chúng
  2. BMột tập cột tối thiểu xác định duy nhất từng hàng
  3. CBất kỳ cột nào chứa giá trị NULL
  4. DMột cột đang chờ trở thành khóa ngoại
2.Dễ

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

  1. ABắt đầu một bảng mới
  2. BLàm cho mọi thay đổi của giao dịch trở thành vĩnh viễn
  3. CKhóa toàn bộ cơ sở dữ liệu
  4. DHoàn tác mọi thay đổi đã thực hiện kể từ khi giao dịch bắt đầu
3.Dễ

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

  1. AMột khóa luôn được mã hóa
  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 cột tham chiếu đến khóa chính của bảng khác
  4. DMột khóa dùng cho người dùng nước ngoài
4.Trung bình

Một khóa ngoại được khai báo với ON DELETE CASCADE. Điều gì xảy ra khi một hàng cha bị xóa?

  1. AKhóa ngoại trong các hàng con được tự động đặt thành NULL
  2. BViệc xóa luôn bị từ chối
  3. CHàng cha được sao chép sang một bảng lưu trữ
  4. DCác hàng con tham chiếu đến nó được xóa tự động
5.Trung bình

SQL injection là gì?

  1. AMột kỹ thuật sao lưu cơ sở dữ liệu
  2. BMột cuộc tấn công trong đó dữ liệu người dùng nhập làm thay đổi cấu trúc của truy vấn SQL
  3. CMột kỹ thuật chèn nhanh nhiều hàng bằng một câu lệnh INSERT duy nhất
  4. DMột cách thêm chỉ mục
6.Trung bình

Sinh viên có thể học nhiều môn và môn học có nhiều sinh viên. Điều này được mô hình hóa trong các bảng như thế nào?

  1. ABằng cách gộp students và courses thành một bảng
  2. BBằng một danh sách id môn học lưu trong một cột
  3. CBằng một cột khóa ngoại course_id trong bảng students trỏ tới courses
  4. DBằng một bảng trung gian chứa các khóa ngoại tới cả students và courses
7.Khó

Bảng b chứa các giá trị 1, 2 và NULL trong cột y. SELECT * FROM a WHERE x NOT IN (SELECT y FROM b) trả về gì?

  1. AChỉ các hàng của a mà x là NULL
  2. BCác hàng của a mà x không phải 1 hoặc 2
  3. CHoàn toàn không có hàng nào
  4. DMọi hàng của a
8.Khó

Bảng employee(emp_id, dept_id, dept_name) có khóa emp_id, và dept_id → dept_name. Phát biểu nào đúng?

  1. ANó đạt BCNF và do đó đạt 3NF
  2. BNó đạt 2NF nhưng không đạt 3NF
  3. CNó không đạt 2NF
  4. DNó không đạt 1NF

Đáp án

  1. 1. B · Một tập cột tối thiểu xác định duy nhất từng hàng
  2. 2. B · Làm cho mọi thay đổi của giao dịch trở thành vĩnh viễn
  3. 3. C · Một cột tham chiếu đến khóa chính của bảng khác
  4. 4. D · Các hàng con tham chiếu đến nó được xóa tự động
  5. 5. B · Một cuộc tấn công trong đó dữ liệu người dùng nhập làm thay đổi cấu trúc của truy vấn SQL
  6. 6. D · Bằng một bảng trung gian chứa các khóa ngoại tới cả students và courses
  7. 7. C · Hoàn toàn không có hàng nào
  8. 8. B · Nó đạt 2NF nhưng không đạt 3NF

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