Chắc hẳn trong cuộc sống hay khi học SQL thì bạn đã từng nghe thấy thuật ngữ trigger. 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ẻ tới quý bạn toàn bộ các thông tin liên quan tới trigger.

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

Có thể thấy trigger là một thuật ngữ có rất nhiều ý nghĩa khác nhau mà chúng ta cần nắm rõ để tránh nhầm lẫn. Hiểu được ý nghĩa của từ trigger trong từng trường hợp sẽ giúp bạn có thể sử dụng đúng cách, đúng hoàn cảnh. Cụ thể:

Trigger là một danh từ trong tiếng anh được hiểu theo nghĩa cơ bản là cò súng. Còn khi hiểu theo ý nghĩa mở rộng thì từ trigger là một sự vật, sự việc gây kích động về mặt cảm xúc. 

Trigger là gì - Đây là thuật ngữ có nhiều ý nghĩa khác nhau
Trigger là gì – Đây là thuật ngữ có nhiều ý nghĩa khác nhau

Tương tự, trigger ở dạng động từ thì đây chính là từ dùng để chỉ việc khiến điều gì đó xảy ra. Đây là từ khiến người nào đó cảm thấy hoảng loạn, giận dữ, khó chịu, sợ hãi.

Trong Tâm lý học, từ trigger được dùng để chỉ về những thứ có thể tức thì “bật công tắc”, gợi nhớ quá khứ. Thứ giúp đưa người đã từng bị sang chấn tâm lý quay trở lại vùng ký ức tăm tối nhất của mình.

Ở Việt Nam, trigger hay triggered xuất hiện và phổ biến dần trong các 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.

Ngoài ra, bạn cũng có thể hiểu 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 được sử dụng lần đầu tiên vào năm 1621 với vai trò là một danh từ. Về mặt từ nguyên, thuật ngữ trigger chính là một biến thể của tricker, đến từ chữ trekker trong tiếng Hà Lan. Thuật ngữ này là từ dùng để nhằm chỉ một vật có thể kéo, giật. 

Đặc biệt là từ sau các cuộc chiến tranh thế giới đến những năm 2000, thuật ngữ trigger ngày càng phổ biến và xuất hiện rộng rãi. Thậm chí, cụm từ “trigger warning” được nhiều giáo sư đại học tại Mỹ sử dụng. Đây chính là cụm từ 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).

Trigger có nguồn gốc từ rất lâu trước đây
Trigger có nguồn gốc từ rất lâu trước đây

Trong lĩnh vực truyền thông, cụm từ “trigger warning” cũng thường được đặt trước các hình ảnh, video có tính chất bạo lực. Hay thường được đặt trước những video liên quan đến các vấn đề nhạy cảm như sắc tộc, chính trị, tôn giáo.

Tuy nhiên, nhiều người không hiểu rõ về thuật trigger này và đang sử dụng một cách bừa bãi, thậm chí bất chấp ý nghĩa của nó trong y khoa. Nhiều cá nhân sử dụng từ trigger như một tiếng lóng. Sử dụng từ nhằm mục đích trêu chọc bất kỳ người nào tỏ thái độ, cảm xúc trước một điều mà số đông xem là “bình thường thôi”.

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

Trigger chính là thủ tục SQL 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. Bên cạnh đó trong SQL thì Trigger còn được hiểu là một stored procedure dạng đặc biệt. Vì dạng trigger này không có tham số và được thực thi tự động ngay khi có sự kiện khiến cho dữ liệu bị thay đổi. Server DB chính là vị trí lưu trữ, quản lý Trigger. Và được sử dụng để kiểm tra sự ràng buộc toàn vẹn của DB.

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

Trong SQL thì thuật ngữ trigger thường được sử dụng để kiểm tra (check constraints) các quan hệ ràng buộc (nhiều bảng/table). Hay thực hiện kiểm tra trên nhiều dòng khác nhau (nhiều record) của bảng. 

Trigger là gì, Trigger được sử dụng để kiểm tra các mối quan hệ ràng buộc
Trigger là gì, Trigger được sử dụng để kiểm tra các mối quan hệ ràng buộc

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

Trong SQL Server trigger được sử dụng như thế nào?

Trong SQL Trigger được sử dụng trong một số trường hợp cụ thể dưới đây:

  • Như chúng tôi đã chia sẻ trước đó, trigger được sử dụng trong các trường hợp kiểm tra tính ràng buộc của nhiều quan hệ với nhau. Kiểm tra mối quan hệ giữa các bảng hoặc nhiều dòng của bảng với nhau.
  • Trigger được sử dụng trong trường hợp để ngăn chặn thao tác xóa các dữ liệu quan trọng.
  • Trigger được tận dụng để có các hàm chạy ngầm. Để từ đó có thể phục vụ đối với một số trường hợp cụ thể của người dùng.

Trigger trong SQL với cú pháp tạo cơ bản nhất

Dưới đây là đoạn code mẫu tạo Trigger cơ bản nhất màn bạn có thể dễ dàng thực hiện được. Cụ thể:  

CREATE TRIGGER tên_trigger  

ON { Tên_bảng }   

[ WITH <Options> ]  

{ FOR | AFTER | INSTEAD OF }   

{ [INSERT – chèn], [UPDATE – Cập nhật] , [DELETE – Xóa]}

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

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

Ngoài ra, trong SQL Server, trường hợp 2 bảng nằm trên 2 database hoặc máy chủ khác nhau.  Lúc này việc thực thi tính toàn vẹn tham chiếu giữa hai bảng 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. 

Trigger trong SQL và những ưu điểm nổi bật

  • Điều dễ thấy nhất của trigger đó chính là viết code đơn giản. Xét về bản chất, trigger đã được mã hóa như stored procedure. Từ đó giúp cho quá trình bắt đầu làm việc với Trigger trở nên dễ dàng, thuận lợi và nhanh chóng hơn bao giờ hết.
  • Một ưu điểm nổi bật khác đó chính là trigger hỗ trợ người dùng gọi các store procedure, hàm lưu trữ trong một Trigger.
  • Tạo Trigger trong SQL Server khi người dùng xác thực các dữ liệu thêm hoặc mới cập nhật theo batch  trở nên hữu ích.
  • trigger Được ứng dụng để thực thi tính toàn vẹn tham chiếu dữ liệu.
  • Đối với 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. Hay các trường hợp cập nhật hoặc xóa dữ liệu thì Trigger đóng vai trò vô cùng hữu ích.
  • Người dùng được phép làm Trigger bằng cách tận dụng code bên ngoài thông qua CLR Trigger. Được biết thì đây chính là loại Trigger chỉ định phương thức hợp ngữ viết bằng .NET có sự liên kết với Trigger.
  • Các Trigger có tới 32 cấp độ lồng vào nhau. Trong đó, Trigger được nhận định là lồng vào nhau khi nó thực hiện hành động kích hoạt Trigger khác.
  • Các công việc hẹn giờ theo lịch sẽ được thay thế khi sử dụng Trigger.

Nhược điểm của Trigger trong SQL

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

Lời kết

Trên đây là toàn bộ thông tin giúp bạn hiểu rõ trigger là gì mà chúng tôi có thể tổng hợp được. Hy vọng với những chia sẻ trên sẽ giúp quý bạn hiểu rõ hơn về định nghĩa của trigger. Đồng thời cũng từ đó có thể giúp cho việc học SQL hiệu quả hơn. 

FPT Aptech trực thuộc Tổ chức Giáo dục FPT có hơn 25 năm kinh nghiệm đào tạo lập trình viên quốc tế tại Việt Nam, và luôn là sự lựa chọn ưu tiên của các sinh viên và nhà tuyển dụng.
0981578920
icons8-exercise-96