Trigger là gì? Cách sử dụng trigger trong SQL

Nếu đã từng tìm hiểu hoặc có học tập về SQL thì thuật ngữ trigger đã không còn quá xa lạ với bạn. Không chỉ phổ biến trong SQL, trigger còn được dùng trong đa ngữ cảnh, đa lĩnh vực. Ở bài viết hôm nay, hãy cùng LPTech tìm hiểu "tất tần tật" về trigger và cách sử dụng nó trong ngữ cảnh SQL nhé!

Thuật ngữ Trigger là gì?

Trigger vốn là một từ tiếng Anh có nhiều nghĩa, tùy theo ngữ cảnh và bối cảnh mà người sử dụng và người giao tiếp cùng sẽ hiểu nghĩa của "trigger" như thế nào.

Trong tiếng Anh

Ở dạng danh từ, "trigger" có nghĩa là một sự vật, sự việc gây kích động cảm xúc một cách tiêu cực. Ở dạng động từ, "trigger" có nghĩa là một hành động khiến người ta cảm thấy sợ hãi, giận dữ và khó chịu.

Trong tâm lý học

Trong tâm lý học, trigger còn được gọi là thuật ngữ ‘bật công tắc’. Đây là một phương pháp giúp cho người bị sang chấn tâm lý phục hồi và nhớ lại được những ký ức đã quên, như chiếc bóng đèn để sáng thì cần phải bật công tắc.

Trên mạng xã hội

Tại Việt Nam, thuật ngữ trigger xuất hiện phổ biến từ năm 2018, trên các dòng trạng thái hoặc meme trên mạng xã hội Facebook. Những status theo hướng trigger nhằm mang ý kích động cảm xúc của người đọc, thường là trêu chọc hoặc làm họ tức giận.

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

Nguồn gốc của trigger

Trigger là thuật ngữ được xuất hiện lần đầu vào năm 1621, được dùng như một danh từ. Về nguồn gốc, trigger là cụm từ biến thể của tricker, đến từ chữ trekker trong ngôn ngữ Hà Lan. Trigger dùng để chỉ một sự vật có thể giật, kéo.

Sau WWII, thuật ngữ trigger được dùng rộng rãi hơn, trong đó, cụm từ ‘trigger warning’ được nhiều giáo sư Mỹ sử dụng để cảnh báo các nội dung trong bài giảng mà giáo sư cho là có thể gây nên sự phản cảm cho sinh viên bị hội chứng PTSD (Post-Traumatic Stress Disorder).

Trong lĩnh vực truyền thông, trigger warning được đặt trước các video, hình ảnh có mang tính bạo lực hoặc dùng cho các vấn đề nhạy cảm về tôn giáo, chính trị,...

Trigger là gì trong SQL?

Trigger trong SQL là một đoạn mã SQL được tự động thực thi khi một sự kiện nhất định xảy ra với một bảng trong cơ sở dữ liệu. Nói cách khác, đây là một "cơ chế phản hồi" tự động được kích hoạt khi có thay đổi dữ liệu trong bảng. Các sự kiện kích hoạt trigger thường gặp là:

  • INSERT: Khi có dòng dữ liệu mới được thêm vào bảng.
  • UPDATE: Khi dữ liệu trong bảng bị cập nhật.
  • DELETE: Khi một dòng dữ liệu bị xóa khỏi bảng.

Ví dụ: Bạn thêm một dòng dữ liệu mới vào bảng "Khách hàng". Một đoạn mã SQL được kích hoạt để tự động cập nhật bảng "Lịch sử giao dịch" với một dòng ghi nhận sự kiện thêm khách hàng mới.

Cách sử dụng trigger trong SQL

Trong SQL, trigger được sử dụng để kiểm tra mối quan hệ ràng buộc hoặc kiểm tra trên nhiều dòng trong cùng một bảng. Ngoài ra, trigger còn được sử dụng để phục vụ cho các hàm chạy ngầm.

Một số trường hợp cụ thể sử dụng đến trigger:

  1. Kiểm tra tính ràng buộc hoặc mối quan hệ về dữ liệu giữa các dòng trong bảng hoặc các bảng với nhau.
  2. Sử dụng trong trường hợp ngăn chặn thao tác xóa dữ liệu quan trọng.
  3. Xử lý các hàm chạy ngầm, phục vụ một số yêu cầu cụ thể của người dùng.

Cú pháp tạo trigger trong SQL

Để bắt đầu tạo trigger trong SQL, bạn có thể bắt đầu với cú pháp đơn giản nhất như sau:

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]}

Ưu và nhược điểm của trigger trong SQL

Trigger là một cơ chế trong SQL Server giúp tự động thực thi một đoạn mã (thường là một stored procedure) khi một sự kiện nhất định xảy ra với một bảng trong cơ sở dữ liệu:

Ưu điểm của trigger trong SQL

Các ưu điểm không thể không kể đến trong lĩnh vực lập trình, đặc biệt là trong SQL có thể kể đến như:

  1. Bảo vệ tính toàn vẹn của dữ liệu: Trigger giúp đảm bảo dữ liệu trong cơ sở dữ liệu luôn chính xác và nhất quán bằng cách thực thi các quy tắc nghiệp vụ.
  2. Tự động hóa các tác vụ: Nhiều tác vụ lặp đi lặp lại có thể được tự động hóa bằng trigger, giảm thiểu lỗi do con người gây ra.
  3. Thực hiện các kiểm tra phức tạp: Trigger có thể thực hiện các kiểm tra phức tạp trên dữ liệu trước khi cho phép cập nhật, đảm bảo rằng chỉ có dữ liệu hợp lệ được lưu trữ.
  4. Tăng cường tính bảo mật: Trigger có thể được sử dụng để kiểm soát quyền truy cập vào dữ liệu và ngăn chặn các hành động trái phép.
  5. Tích hợp các hệ thống: Trigger có thể được sử dụng để tích hợp các hệ thống khác nhau bằng cách gửi thông báo hoặc cập nhật dữ liệu trong các hệ thống khác.

Ngoài ra, trigger trong lập trình app thường được hiểu theo một cách rộng hơn so với khái niệm trigger trong SQL. Thay vì chỉ giới hạn trong cơ sở dữ liệu, trigger trong lập trình ứng dụng có thể được hiểu là một sự kiện hoặc hành động nào đó kích hoạt một phản hồi cụ thể từ ứng dụng

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

Dù có nhiều ưu điểm nhưng trigger vẫn có những nhược điểm nhất định, điển hình nhất là:

  1. Độ phức tạp: Viết trigger có thể phức tạp hơn so với việc viết các câu lệnh SQL đơn giản, đặc biệt khi các quy tắc nghiệp vụ trở nên phức tạp.
  2. Khó bảo trì: Khi cơ sở dữ liệu phát triển, các trigger có thể trở nên khó bảo trì và dễ gây ra lỗi.
  3. Giảm hiệu suất: Trigger có thể làm giảm hiệu suất của cơ sở dữ liệu, đặc biệt khi chúng được kích hoạt quá thường xuyên hoặc thực hiện các tác vụ phức tạp.
  4. Khó gỡ lỗi: Khi xảy ra lỗi liên quan đến trigger, việc tìm và sửa lỗi có thể khó khăn hơn so với các lỗi khác.
  5. Khó kiểm soát: Trigger hoạt động một cách tự động và có thể khó kiểm soát, đặc biệt khi có nhiều trigger được định nghĩa trong cơ sở dữ liệu.

Các thuật ngữ khác của trigger

Không chỉ được dùng trong SQL, trigger còn được dùng đa lĩnh vực và có nhiều ý nghĩa khác nhau ở từng lĩnh vực. Cùng LPTech tìm hiểu thêm các ý nghĩa khác của thuật ngữ trigger nhé!

Trigger Event

Trigger event được hiểu là các sự kiện hoặc hành động cụ thể trong cơ sở dữ liệu khi xuất hiện sẽ kích hoạt trigger. Ví dụ như: tất cả các sự kiện như Thêm mới dữ liệu (Insert), Cập nhật dữ liệu (Update) và Xóa dữ liệu (Delete) đã đề cập ở phần trên đều là trigger event.

Trigger Timing

Thuật ngữ này có thể được kích hoạt trước (Before) hoặc sau (After) khi sự kiện xảy ra. Trigger trước thường được dùng để kiểm tra hoặc thay đổi dữ liệu trước khi nó được thêm vào. Trigger sau sự kiện thường sử dụng để thực hiện hành động sau khi dữ liệu đã được xử lý xong.

Trigger Body

Đây là phần trigger có các lệnh và hành động cần được thực hiện để trigger kích hoạt. Trigger body có thể xác định được hành động khi sự kiện được xảy ra.

Trigger Syntax

Đây là loại cú pháp trigger được định nghĩa trong cơ sở dữ liệu như SQL. Cú pháp này phải tuân theo các quy tắc cụ thể để trigger hoạt động được chính xác.

Trigger là gì trong marketing?

Trong marketing, trigger được hiểu là thông điệp mà nhãn hàng muốn gửi đến khách hàng vào đúng người, đúng lúc. Trigger marketing là chiến lược tiếp thị tự động dựa trên các phần mềm. Phần mềm này sẽ kích hoạt khi email được mở, khi một chatbot bất kỳ được sử dụng hoặc ngay khi có giao dịch được tiến hành.

Trigger máy ảnh là gì?

Trigger máy ảnh chính là thiết bị để điều khiển đèn chụp máy ảnh, được các nhiếp ảnh gia với hiệu quả cao. Trigger này được ưa chuộng trong việc tìm kiếm, vì thế nhà sản xuất cũng đã tung ra thị trường các đầu phát sóng hồng ngoại để giắc tai nghe vào dữ liệu của smartphone. Trigger sẽ giúp bạn dễ dàng điều khiển việc sử dụng đèn chụp máy ảnh linh hoạt hơn.

Trigger point

Trigger point là hiện tượng trong lĩnh vực sức khỏe, y tế. Đây là những điểm nút cứng, có thể xảy ra tại bất kỳ vị trí nào của cơ thể và xuất hiện nhiều nhất tại các mô mềm của cơ bắp. Nếu cơ thể bạn được xem là tấm vải, trigger point chính là những điểm nút thắt chỉ trên vải. Khi trigger point xuất hiện, chúng có thể gây nên sự khó chịu cho cơ thể.

Trigger trong y học

Trigger trong y học được biết đến chính là các trigger point - những điểm gây nên đau đớn cho cơ thể và thường xuyên tồn tại trong các mô mềm ở cơ bắp. Các điểm trigger trong y học xuất hiện khi cơ thể có những vấn đề về sức khỏe, như bị stress, sai tư thế, chấn thương cấp hoặc rối loạn chuyển hóa,...\

Triggered (Bị trigger)

Triggered (Bị trigger) là một thuật ngữ được dùng trong lĩnh vực tâm lý học, nó đề cập đến các trải nghiệm có phản ứng cảm xúc mãnh liệt, đáng lo ngại về một vấn đề vào đó. Nói dễ hiểu hơn, triggered chính là cảm xúc hoảng loạn, lo ngại về vấn đề ảnh hưởng lớn đến tâm lý, ví dụ như bạo lực hoặc tự tử.

Có thể thấy, trigger là một thuật ngữ đã xuất hiện từ lâu và được dùng trong nhiều lĩnh vực khác nhau bởi sự đa dạng ý nghĩa của nó. Tuy nhiên, trigger được ứng dụng nhiều nhất trong lĩnh vực công nghệ thông tin, đặc biệt là trong hệ thống SQL.

Thông tin liên hệ

Nếu bạn có thắc mắc gì, có thể gửi yêu cầu cho chúng tôi, và chúng tôi sẽ liên lạc lại với bạn sớm nhất có thể .

Công ty TNHH TMĐT Công nghệ LP

Giấy phép kinh doanh số 0315561312/GP bởi Sở Kế Hoạch và Đầu Tư TP. Hồ Chí Minh.

Văn phòng: Lầu 4, Toà nhà Lê Trí, 164 Phan Văn Trị, Phường 12,Quận Bình Thạnh, HCMC

Hotline: 0338 586 864

Mail: sales@lptech.asia

Zalo:LP Tech Zalo Official

Liên hệ qua Zalo: 0338586864 ( hoặc bấm vào link này: http://lptech.asia/zalo-lptech). Hoặc nhập thông tin mà bạn cần hỗ trợ vào ô liên hệ bên dưới để lên lạc với LPTech nhé.

Bài viết cùng chuyên mục

Hibernate ORM là gì? Khi nào nên dùng hibernate...

Hibernate ORM là một khung làm việc mã nguồn mở hoạt động như một tầng trung gian giữa ứng dụng và cơ sở dữ liệutrong Java dùng để ánh...

cURL là gì? Các câu lệnh cơ bản để sử dụng cURL

cURL là công cụ mạnh mẽ giúp bạn gửi và nhận dữ liệu qua nhiều giao thức khác nhau. Tìm hiểu chi tiết về cURL và các tính năng, giao thức...

CQRS Pattern là gì? Design pattern chuyên tách...

Tìm hiểu thông tin chi tiết về CQRS Pattern. CQRS (Command Query Responsibility Segregation) là một pattern giúp tách biệt command và...

Bool là gì? Tìm hiểu về kiểu dữ liệu bool trong...

Boolean là một kiểu dữ liệu cơ bản trong lập trình với C/C++, Jav,... Bool dùng để biểu diễn các giá trị logic đúng (true) hoặc sai...

Unit Test là gì? Tìm hiểu về khái niệm kiểm thử...

Unit Test sẽ giúp người dùng có thể xây dựng dự án một cách hiệu quả, để biết được những thông tin hữu ích về Unit Test. Hãy theo dõi...

Middleware là gì? Tầm quan trọng của middleware...

Middleware là một đoạn mã trung gian nằm trong các ứng dụng web được thiết kế trên mô hình client-server. Tìm hiểu middleware là gì và...

Bài viết mới nhất


Hibernate ORM là gì? Khi nào nên dùng hibernate...

Hibernate ORM là một khung làm việc mã nguồn mở hoạt động như một tầng trung gian giữa ứng dụng và cơ sở dữ liệutrong Java dùng để ánh xạ các đối...

cURL là gì? Các câu lệnh cơ bản để sử dụng cURL

cURL là công cụ mạnh mẽ giúp bạn gửi và nhận dữ liệu qua nhiều giao thức khác nhau. Tìm hiểu chi tiết về cURL và các tính năng, giao thức mà nó hỗ...

CQRS Pattern là gì? Design pattern chuyên tách...

Tìm hiểu thông tin chi tiết về CQRS Pattern. CQRS (Command Query Responsibility Segregation) là một pattern giúp tách biệt command và query cực...

Chúc mừng sinh nhật Sếp Phú

Một hành trình mới bắt đầu cùng nhiều thử thách mới. Với sự tự tin, kiên cường và bản lĩnh, LPTech tin chắc rằng Sếp Phú của LPTech sẽ có nhiều...

Bool là gì? Tìm hiểu về kiểu dữ liệu bool trong...

Boolean là một kiểu dữ liệu cơ bản trong lập trình với C/C++, Jav,... Bool dùng để biểu diễn các giá trị logic đúng (true) hoặc sai (false). Xem...

Unit Test là gì? Tìm hiểu về khái niệm kiểm thử...

Unit Test sẽ giúp người dùng có thể xây dựng dự án một cách hiệu quả, để biết được những thông tin hữu ích về Unit Test. Hãy theo dõi thông tin...

CSRF là gì? Tìm hiểu cách chống tấn công giả...

CSRF (Cross-Site Request Forgery) là một dạng tấn công trong các ứng dụng web. Tìm hiểu chi tiết về CSRF và cách bảo vệ ứng dụng khỏi nguy cơ này.

Middleware là gì? Tầm quan trọng của middleware...

Middleware là một đoạn mã trung gian nằm trong các ứng dụng web được thiết kế trên mô hình client-server. Tìm hiểu middleware là gì và ứng dụng của...

JWT là gì? Tìm hiểu về khái niệm JSON Web Token

JWT (JSON Web Token) là một phương thức xác thực bằng mã hóa phổ biến trong các ứng dụng web, giúp truyền tải thông tin, xác thực và ủy quyền một...

Shell là gì? Các loại môi trường dòng lệnh phổ...

Shell còn được gọi là môi trường dòng lệnh. Đây là nơi cho phép người dùng tương tác với hệ điều hành thông qua các dòng lệnh. Tìm hiểu về shell và...