Bài Tập Trigger Có Lời Giải Trường KHTN

Bài tập trigger là một phần quan trọng trong môn Cơ sở dữ liệu tại trường KHTN, giúp sinh viên hiểu sâu hơn về tính toàn vẹn dữ liệu và cách thức hoạt động của hệ quản trị cơ sở dữ liệu. Trong bài viết này, chúng ta sẽ cùng nhau tìm hiểu về trigger, cách giải các dạng bài tập trigger thường gặp và cung cấp một số lời giải chi tiết để bạn đọc tham khảo.

Trigger là gì?

Trigger, hay còn được gọi là bộ kích phát, là một loại đối tượng đặc biệt trong cơ sở dữ liệu (CSDL), được tự động thực thi khi có một sự kiện nào đó xảy ra trên bảng dữ liệu. Sự kiện này có thể là thêm mới dữ liệu (INSERT), cập nhật dữ liệu (UPDATE) hoặc xóa dữ liệu (DELETE). Trigger được sử dụng để đảm bảo tính toàn vẹn dữ liệu, kiểm tra dữ liệu đầu vào, ghi log các thay đổi trên bảng dữ liệu và thực hiện các tác vụ khác liên quan đến nghiệp vụ.

Các thành phần của trigger

Một trigger bao gồm các thành phần chính sau:

  • Tên trigger: Mỗi trigger đều phải có một tên duy nhất trong CSDL.
  • Sự kiện kích hoạt: Xác định sự kiện nào sẽ kích hoạt trigger.
  • Bảng dữ liệu: Xác định bảng dữ liệu mà trigger sẽ được gắn vào.
  • Thân trigger: Chứa các câu lệnh SQL hoặc PL/SQL sẽ được thực thi khi trigger được kích hoạt.

Các loại trigger

Có hai loại trigger chính:

  • Trigger mức dòng (Row-level trigger): Được kích hoạt mỗi khi một dòng dữ liệu trong bảng được tác động bởi sự kiện.
  • Trigger mức câu lệnh (Statement-level trigger): Được kích hoạt một lần cho mỗi câu lệnh SQL, bất kể câu lệnh đó tác động đến bao nhiêu dòng dữ liệu.

Cách giải bài tập trigger

Để giải bài tập trigger, bạn cần nắm vững các bước sau:

  1. Phân tích yêu cầu bài toán: Xác định rõ ràng yêu cầu của bài toán, bao gồm:
    • Sự kiện nào cần kích hoạt trigger?
    • Trigger cần thực hiện những tác vụ gì?
    • Dữ liệu nào cần được kiểm tra hoặc xử lý?
  2. Xác định loại trigger: Dựa vào yêu cầu bài toán, bạn cần xác định sử dụng trigger mức dòng hay trigger mức câu lệnh.
  3. Viết mã trigger: Sử dụng ngôn ngữ SQL hoặc PL/SQL để viết mã trigger, bao gồm các thành phần đã được đề cập ở trên.
  4. Kiểm thử trigger: Sau khi viết xong mã trigger, bạn cần kiểm thử để đảm bảo trigger hoạt động chính xác theo yêu cầu.

Ví dụ bài tập trigger có lời giải

Bài tập: Tạo một trigger để kiểm tra điểm số của sinh viên khi thêm mới hoặc cập nhật điểm trong bảng DIEM. Điểm số phải nằm trong khoảng từ 0 đến 10. Nếu điểm số không hợp lệ, hãy hủy bỏ thao tác thêm mới hoặc cập nhật.

Lời giải:

CREATE OR REPLACE TRIGGER TR_KIEMTRA_DIEM
BEFORE INSERT OR UPDATE ON DIEM
FOR EACH ROW
BEGIN
  IF :NEW.DIEM < 0 OR :NEW.DIEM > 10 THEN
    RAISE_APPLICATION_ERROR(-20001, 'Điểm số phải nằm trong khoảng từ 0 đến 10.');
  END IF;
END;
/

Giải thích:

  • CREATE OR REPLACE TRIGGER TR_KIEMTRA_DIEM: Tạo hoặc thay thế trigger có tên là TR_KIEMTRA_DIEM.
  • BEFORE INSERT OR UPDATE ON DIEM: Trigger sẽ được kích hoạt trước khi thêm mới hoặc cập nhật dữ liệu trên bảng DIEM.
  • FOR EACH ROW: Trigger mức dòng, được kích hoạt cho mỗi dòng dữ liệu.
  • :NEW.DIEM: Tham chiếu đến giá trị mới của cột DIEM trong dòng dữ liệu đang được thêm mới hoặc cập nhật.
  • RAISE_APPLICATION_ERROR: Hàm dùng để hủy bỏ thao tác và hiển thị thông báo lỗi.

Kết luận

Bài viết đã giới thiệu về trigger trong cơ sở dữ liệu, cách giải các dạng bài tập trigger và cung cấp một số lời giải chi tiết để bạn đọc tham khảo. Việc nắm vững kiến thức về trigger sẽ giúp bạn rất nhiều trong việc thiết kế và phát triển cơ sở dữ liệu một cách hiệu quả.

Bạn cần hỗ trợ thêm về bài tập trigger hoặc các vấn đề liên quan đến bóng đá? Hãy liên hệ Số Điện Thoại: 02033846993, Email: [email protected] Hoặc đến địa chỉ: X2FW+GGM, Cái Lân, Bãi Cháy, Hạ Long, Quảng Ninh, Việt Nam. Chúng tôi có đội ngũ chăm sóc khách hàng 24/7.