Trang chủ » Kiến thức » Trigger là gì? Ý nghĩa và cách sử dụng bên trong SQL Server.

Trigger là gì? Ý nghĩa và cách sử dụng bên trong SQL Server.

Đại May

Đối với dân It hay làm việc với ngôn ngữ lập trình SQL trong lưu trữ và xử lý thông tin trong cơ sở dữ liệu. Trigger là một phần quan trọng trong SQL, tuy nhiên, cụ thể trigger là gì thì không phải ai cũng biết và đây cũng là thắc mắc của nhiều người. Do đó, trong bài luận dưới đây chúng tôi xin chia sẻ những thông tin trên.

trigger là gì? Vai trò của trigger trong SQL
Trigger là gì? Vai trò của trigger trong SQL

Phân tích chi tiết thuật ngữ trigger là gì?

Có khá nhiều cách hiểu khác nhau về trigger, có người hiểu Trigger là một sự vật, sự việc gây kích động về mặt cảm xúc. Trigger còn là một khái niệm trong Tâm lý học, nói về những thứ có thể ngay lập tức “bật công tắc” đưa người từng gặp sang chấn tâm lý trở về với vùng ký ức tăm tối của họ. Ở Việt Nam, Trigger hay Triggered là từ ngữ chỉ những dòng trạng thái, meme trên mạng xã hội từ 2018. Những status này nhằm biểu đạt những cảm xúc hứng thú hay cảm xúc bị kích động.

Thuật ngữ Trigger trong các lĩnh vực
Thuật ngữ Trigger trong các lĩnh vực

Trong ngành công nghệ thông tin, Trigger là một stored procedure không có tham số. Một trong ba câu lệnh Insert, Update, Delete sẽ được trigger thực thi một cách tự động và có thể làm thay đổi dữ liệu trên bảng có chứa trigger

Nguồn gốc xuất hiện của thuật ngữ trigger là gì?

Thuật ngữ Trigger ra đời lần đầu vào năm 1621 nhằm để chỉ một vật có thể kéo, giật. Sau chiến tranh thế giới cho đến năm những năm 2000. Trigger ngày càng được sử dụng một cách phổ biến hơn. Thậm chí các nhà giáo sư ở Mỹ còn sử dụng “trigger warning” để giảng dạy cho sinh viên của mình. Điều này nhằm cảnh báo trước các nội dung trong bài giảng mà các giáo sư này cho là có thể gây phản cảm đối với sinh viên gặp hội chứng PTSD (Post-Traumatic Stress Disorder).

Nghiêm trọng hơn, trong lĩnh vực truyền thông, cụm từ “Trigger warning” được dùng để cảnh báo những hình ảnh, video có tính chất bạo lực, liên quan đến các vấn đề nhạy cảm như sắc tộc, chính trị, tôn giáo.

Tìm hiểu chi tiết trigger trong SQL là gì?

Trong ngôn ngữ lập trình lưu trữ và xử lý thông tin trong kho cơ sở dữ liệu và được thực hiện ở phía máy chủ khi xuất hiện bất kỳ sự kiện nào xảy ra như: Update Insert, Delete. Trong ngôn ngữ lập trình này thì Trigger còn được hiểu là một stored procedure dạng đặc biệt. Các trigger không hề có tham số và được tự động thực hiện khi có bất kỳ lý do nào làm cho dữ liệu ban đầu bị thay đổi. Đa phần các máy chủ sử dụng server DB là vị trí lưu trữ và đồng thời quản lý Trigger

Trigger trong SQL được sử dụng như thế nào?

Trigger trong SQL là gì?
Trigger trong SQL là gì?

Vai trò chính của Trigger bên trong SQL được sử dụng để làm check constraints để kiểm tra các mối quan hệ ràng buộc. Hay thực hiện kiểm tra trên nhiều dòng khác nhau (nhiều record) của bảng. 

Bên cạnh đó, việc sử dụng trigger để chương trình có những hàm chạy ngầm. Thao tác này của các lập trình viên nhằm phục vụ những trường hợp hữu hạn. Trigger trong trường hợp này không sử dụng cho mục đích kinh doanh hay giao dịch.

Ưu và nhược điểm của Trigger

Ưu điểm của trigger là gì?

Những ưu điểm của Trigger có thể kể đến như:

  • Viết code đơn giản. Trigger về cơ bản đã được mã hóa như Stored Procedure. Do đó giúp cho quá trình bắt đầu làm việc với Trigger trở nên thuận tiện, dễ dàng và nhanh chóng hơn bao giờ hết.
  • Trigger có đến 32 cấp độ lồng vào nhau, Trigger được cho là lồng vào nhau khi nó thực hiện hành động kích hoạt Trigger khác
  • Hỗ trợ người dùng gọi các Hàm lưu trữ, Stored Procedure trong một Trigger
  • Trigger được ứng dụng để thực thi vẹn toàn tham chiếu dữ liệu
  • Việc tạo Trigger trong SQL Server trở nên hữu ích hơn khi người dùng thêm xác nhận các dữ liệu thêm hoặc mới được cập nhật theo batch.
  • Hữu ích trong các trường hợp các sự kiện xảy ra khi có sự điều chỉnh dữ liệu như thêm vào, cập nhật, xóa dữ liệu
  • Thông qua CLR Trigger , người dùng được phép làm Trigger bằng cách tận dụng code bên ngoài. Đây là giúp chỉ định phương thức hợp ngữ được viết bằng .NET có sự liên kết với Trigger

Nhược điểm của trigger là gì?

  • Trigger không hiển thị ở giao diện mà chỉ hoạt động ngầm trong cơ sở dữ liệu. Do đó khi xảy ra vấn đề ở tần cơ sở dữ liệu thì rất khó chỉ ra được.
  • Trigger chỉ đóng một phần vai trò trong cơ sở dữ liệu. Nó không thể thay thế cho hoạt động này hoàn toàn
  • Trigger cũng là một yếu tố làm cho hệ thống làm việc bị chậm lại bởi hoạt động chính của nó là cập nhật bảng dữ liệu, làm tăng lên khối lượng công việc cho cơ sở dữ liệu

Cú pháp của Trigger trong SQL Server

Cú pháp thực hiện Trigger là gì?
Cú pháp thực hiện Trigger là gì?

Cú pháp của Trigger sẽ có dạng như sau:

CREATE TRIGGER <Tên Trigger>

ON <Tên bảng>

{FOR | AFTER | INSTEAD OF} {[INSERT] [,] [UPDATE] [,] [UPDATE]}

AS

<Câu lệnh>

Trong đó:

  • <Câu lệnh>  là một hoặc một chuỗi lệnh. Câu lệnh này sẽ được thực hiện khi thời điểm kích hoạt được xác định (INSERT, FOR, UPDATE,…).
  • FOR và AFTER sẽ thực thi Trigger sau khi câu lệnh kích hoạt kết thúc.
  • INSTEAD OF: được sử dụng để thay thế cho câu lệnh kích hoạt, giúp cho việc tham chiếu chéo toàn vẹn dữ liệu.
  • INSERT, UPDATE, UPDATE lệnh được sử dụng để kích hoạt cho Trigger khi chạy có thể dùng một hoặc nhiều tùy chọn.

Do Trigger được chạy một cách tự động, nên bạn có thể ứng dụng như sau:

  • Update các giá trị trong bảng giúp thực hiện các thao tác bổ sung sau khi chèn.
  • Kích hoạt Insert xong có thể thêm một số câu lệnh đi kèm sau khi đã chèn
  • Cập nhật các giá trị sau khi đã xóa xong
  • Kiểm tra các bản ghi liên quan trước đó

Thông thường, mọi người chỉ sử dụng Trigger cho các hoạt động Update, Insert và Delete. Việc hoạt động ngầm của Trigger đôi khi sẽ khiến hệ thống chậm lại, do đó không phải cơ sở dữ liệu nào cũng nên dùng Trigger nhé!

Như vậy trên đây là những thông tin chi tiết nhất về Trigger là gì và cũng như những ứng dụng và ưu nhược điểm của Trigger trong SQL Server dành cho bạn. Mong rằng những thông tin trên hữu ích và nếu bạn đang muốn bắt đầu với công việc Tester thì có thể tham khảo ngay Khóa học Tester cho người mới bắt đầu của chúng tôi nhé!

Vai trò của Trigger trong SQL Server và những điều bạn cần rõ

Đặc điểm cơ bản của các quan hệ dữ liệu chính là tính nhất quán. Có nghĩa là toàn bộ thông tin được lưu trữ trong database phải đồng bộ với các session, transaction. Do đó, để thực hiện, đồng thời đảm bảo tính nhất quán của SQL Server. Chính là cần phải có sự ràng buộc giữa các foreign key cùng với primary key.

Thực chất bên trong SQL Server, khi xảy ra trường hợp 2 bảng nằm trên 2 database, khác máy chủ. Việc thực thi tính toàn vẹn tham chiếu giữa các bản này bằng foreign key sẽ không thể thực hiện được. Do đó, đối với trường hợp này thì chỉ có thể dùng Trigger trong SQL Server, đây chính là giải pháp duy nhất. 

Đánh giá bài viết
Từ khóa:
Bình luận
Đăng ký nhận ưu đãi hấp dẫn
Đăng ký nhận ưu đãi hấp dẫn

    Icon Phone