Trigger Archives - Cao Đẳng FPT M?ng c c??c bng ? xét tuyển //westview-heights.com/tag/trigger Cao Đẳng FPT M?ng c c??c bng ? tuyển sinh theo hình thức xét tuyển h?sơ. Tiêu chí đào tạo: Thực học ?Thực nghiệp! Wed, 26 Jul 2023 11:03:01 +0000 vi hourly 1 //wordpress.org/?v=6.4.1 //westview-heights.com/wp-content/uploads/cropped-logo-fpt-32x32.png Trigger Archives - Cao Đẳng FPT M?ng c c??c bng ? xét tuyển //westview-heights.com/tag/trigger 32 32 Trigger Archives - Cao Đẳng FPT M?ng c c??c bng ? xét tuyển //westview-heights.com/tin-tuc-poly/tin-da-nang/tim-hieu-ve-trigger-trong-lap-trinh-game-unity.html //westview-heights.com/tin-tuc-poly/tin-da-nang/tim-hieu-ve-trigger-trong-lap-trinh-game-unity.html#respond Mon, 17 Jul 2023 04:04:16 +0000 //westview-heights.com/?p=244820 Trong công c?lập trình game Unity, trigger (kích hoạt) là một khái niệm được s?dụng đ?xác định s?va chạm hoặc tiếp xúc giữa các đối tượng trong môi trường game. Trigger không gây ảnh hưởng đến ...

The post Tìm hiểu v?Trigger trong lập trình game Unity appeared first on Cao Đẳng FPT M?ng c c??c bng ? xét tuyển.

]]>
Trong công c?lập trình game Unity, trigger (kích hoạt) là một khái niệm được s?dụng đ?xác định s?va chạm hoặc tiếp xúc giữa các đối tượng trong môi trường game. Trigger không gây ảnh hưởng đến s?va chạm vật lý, thay vào đó nó cho phép bạn kích hoạt các hành động và tương tác khi các đối tượng gặp nhau.

Trigger được áp dụng cho Collider (b?mặt va chạm) của các đối tượng trong Unity.

Các khái niệm quan trọng trong trigger

Dưới đây là các khái niệm quan trọng trong trigger:

Trigger Collider là một thành phần Collider trong Unity được đánh dấu như một trigger bằng cách bật thuộc tính “Is Trigger” trên đó. Trigger Collider không tạo ra va chạm vật lý đối tượng mà ch?tạo ra s?va chạm ảo thông qua các s?kiện.

OnTriggerEnter/OnTriggerExit là các hàm trong Unity được gọi khi một đối tượng bắt đầu hoặc kết thúc va chạm với một Trigger Collider. Khi một đối tượng đi qua trigger, hàm OnTriggerEnter s?được gọi. Tương t? khi đối tượng rời khỏi trigger, hàm OnTriggerExit s?được gọi. Bạn có th?s?dụng hai hàm này đ?kích hoạt các hành động như hiển th?thông báo, thay đổi điểm s?hoặc chuyển đổi trạng thái của đối tượng.

OnTriggerStay được gọi trong mỗi khung hình khi đối tượng tiếp tục tiếp xúc với trigger. Bạn có th?s?dụng hàm này đ?thực hiện các hành động liên tục khi đối tượng vẫn còn trong trigger, chẳng hạn như hồi phục mức máu, tạo hiệu ứng đặc biệt và nhiều hơn nữa.

Collider2D và Collider là các thành phần trong Unity mà bạn s?dụng đ?xác định vùng va chạm và trigger cho các đối tượng. Collider2D dùng cho các đối tượng 2D, trong khi Collider dùng cho các đối tượng 3D. Bạn có th?áp dụng trigger cho c?hai loại Collider này.

Layers là một khái niệm quan trọng trong trigger. Unity cho phép bạn tạo các lớp (layers) riêng biệt đ?phân loại các đối tượng. Bằng cách áp dụng các lớp khác nhau cho trigger và Collider, bạn có th?xác định các hành vi khác nhau dựa trên s?va chạm của các lớp c?th?

Với những khái niệm trên, bạn có th?tận dụng trigger trong Unity đ?tạo các đối tượng cùng nhóm, x?lý va chạm ảo, kích hoạt hành động và tạo ra các trạng thái khác nhau trong trò chơi của bạn.

B?môn Công ngh?thông tin
Trường Cao đẳng FPT M?ng c c??c bng ? cơ s?Đà Nẵng

The post Tìm hiểu v?Trigger trong lập trình game Unity appeared first on Cao Đẳng FPT M?ng c c??c bng ? xét tuyển.

]]>
//westview-heights.com/tin-tuc-poly/tin-da-nang/tim-hieu-ve-trigger-trong-lap-trinh-game-unity.html/feed 0
Trigger Archives - Cao Đẳng FPT M?ng c c??c bng ? xét tuyển //westview-heights.com/tin-tuc-poly/blog/nhung-dieu-can-biet-ve-trigger-trong-sql-server.html //westview-heights.com/tin-tuc-poly/blog/nhung-dieu-can-biet-ve-trigger-trong-sql-server.html#respond Tue, 22 Nov 2022 04:43:46 +0000 //westview-heights.com/?p=201479 Bạn đã biết những gì v?Trigger trong SQL Server? Nếu đang tìm hiểu v?chức năng này, hãy theo dõi bài viết dưới đây nhé! Trigger được xem như một chức năng quan trọng giúp đảm bảo tính toàn ...

The post Những điều cần biết v?Trigger trong SQL Server appeared first on Cao Đẳng FPT M?ng c c??c bng ? xét tuyển.

]]>
Bạn đã biết những gì v?Trigger trong SQL Server? Nếu đang tìm hiểu v?chức năng này, hãy theo dõi bài viết dưới đây nhé!

Trigger được xem như một chức năng quan trọng giúp đảm bảo tính toàn vẹn (Integrity) các ràng buộc (Constraint) và đảm bảo toàn vẹn d?liệu (Data Integrity). Vậy cách hoạt động, thực hiện, của nó s?như th?nào?

Trigger trong SQL Server là gì? 

Trigger có th?được hiểu giống như 1 cái bẫy, nó được sẵn sàng kích hoạt bất c?lúc nào khi có hành động tác động, thay đổi d?liệu trong bảng CSDL (Cơ s?d?liệu) SQL Server. Thông thường, mỗi bảng (Table) trong SQL Server có ba thao tác làm thay đổi d?liệu: Insert, Delete và Update. Khi có những hành động như vậy xảy ra, chúng ta s?tạo những Trigger ràng buộc đ?đảm bảo tính toàn vẹn của d?liệu.

Hãy xét trường hợp CSDL của chúng ta vô tình b?tấn công hoặc mất tài khoản quản tr? k?xấu xâm nhập và thực hiện thao tác Delete (xóa) các d?liệu hiện có trên CSDL, hoặc Insert (thêm mới) một thông tin tài khoản mạo danh vào bảng d?liệu của chúng ta, hay chúng Update (thay đổi) quyền truy cập của 1 tài khoản nào đó thay vào tài khoản quản tr? Lúc này, Trigger chính là một giải pháp tối ưu đ?lựa chọn s?dụng.

Trigger là gì?

Trigger là một dạng đặc biệt của th?tục lưu tr?trên SQL Server và nó được kích hoạt t?động. Các trigger thường được s?dụng cho việc ép buộc các quy tắc làm việc và toàn vẹn d?liệu. Tính toàn vẹn tham chiếu có th?được định nghĩa bằng cách s?dụng ràng buộc Foreign Key với câu lệnh Creative Table.

Hoạt động của Trigger

Nếu các ràng buộc tồn tại trong bảng có s?tác động của Trigger, nó được kiểm tra trước việc thực hiện Trigger. Nếu các ràng buộc b?vi phạm, Trigger s?không thực thi mà các Trigger được s?dụng trong những cách sau:
Các Trigger có th?thay đổi đồng loạt (cascade change) các bảng có liên h?trong một CSDL:

  • Các Trigger có th?không cho phép hoặc roll back những thay đổi vi phạm tính toàn vẹn tham chiếu, hủy b?giao tác sửa đổi d?liệu.
  • Các Trigger có th?áp đặt các giới hạn phức tạp hơn những giới hạn được định nghĩa bằng ràng buộc Check Khác với ràng buộc Check, các trigger có th?tham chiếu đến các cột trong các bảng khác.
  • Các Trigger còn có th?tìm s?khác biệt giữa các trạng thái của một bảng trước và sau khi sửa đổi d?liệu và lấy ra những tác động dựa trên s?khác biệt đó.
Trigger hoạt động như th?nào?

Bên cạnh đó, SQL Server đã cung cấp cho chúng ta ba loại Trigger đ?giải quyết vấn đ?

  • Triger Update: Trigger này s?được kích hoạt khi có hành động cập nhật trên d?liệu.
  • Trigger Insert: Trigger này s?được kích hoạt khi có hành động thêm mới d?liệu.
  • Trigger Delete: Trigger này s?được kích hoạt khi có hành động xóa d?liệu.

Tuy nhiên, mỗi Trigger có th?thực hiện nhiều hàm và gọi đến 16 th?tục. Mỗi Trigger ch?có th?áp dụng cho một bảng. Tuy nhiên, một trigger đơn có th?áp dụng cho c?3 công việc Update, Insert và Delete.

Phân biệt DDL Trigger và DML Trigger

DDL Trigger là Trigger xảy ra khi các biến c?đến t?Database hoặc Server. Bao gồm hai loại:

  • DDL Trigger mức Database, có câu lệnh Create, Alter và Drop,?được lưu trong CSDL đã tạo ra nó. Ví d? tạo DDL Trigger trên Database đ?mỗi khi người dùng tạo bảng/ sửa bảng/ xóa bảng thì ghi nhận lại thông tin của các thay đổi này.
  • DDL Trigger mức Server có câu lệnh Create User, Create Login,…được lưu trong CSDL master. Ví d? tạo DDL Trigger trên Server đ?không cho người dùng tạo Login.

DML Trigger là Trigger xảy ra với các hành động Insert, Update và Delete trên bảng:

  • Dùng đ?kiểm tra các ràng buộc toàn vẹn phức tạp.
  • Dùng đ?x?lý tính toán và cập nhật t?động, bao gồm After (for) Trigger và Instead of Trigger:
After (for) Trigger Instead of Trigger
  • Dùng cho việc cập nhật bảng
  • Chạy sau các hành động kiểm tra d?liệu của các Constraint
  • D?liệu đã b?tạm thời thay đổi trong bảng.
  •  Ch?áp dụng cho bảng
  • Dùng cho việc cập nhật bảng hoặc bảng ảo
  • Chạy trước các hành động kiểm tra d?liệu
  • D?liệu chưa b?thay đổi
  • Có th?thay th?hành động cập nhật d?liệu bằng các hành động khác
  • Có th?áp dụng cho bảng hoặc bảng ảo
  • Thường dùng cho việc cập nhật bảng ảo

Giới Thiệu Bảng Ảo Inserted và Deleted

SQL Server cung cấp 2 bảng ảo dành riêng cho trigger tên là Inserted và Deleted, 2 bảng này s?lưu tr?d?liệu của các row trước hoặc sau khi hành động xảy ra.

Bảng Inserted s?dụng cho lệnh Insert Bảng Deleted s?dụng cho lệnh Delete Bảng Inserted và Deleted s?dụng cho lệnh Update
  • Chứa d?liệu được thêm mới trong hành động Insert/Delete
  • Ch?có tại thời điểm xảy ra Trigger
  • Cấu trúc bảng giống với bảng của Trigger
  • Chứa d?liệu b?xoá trong hành động Delete/ Update
  • Ch?có tại thời điểm xảy ra Trigger
  • Cấu trúc bảng giống với bảng của Trigger
  • Bảng Inserted chứa các d?liệu mới (đã được cập nhật)
  • Bảng Deleted chứa các d?liệu cũ (trước khi cập nhật)
  • Update = Insert mới và Delete cũ

Cách tạo Trigger Trong SQL Server

Đ?tạo Trigger trong SQL Server chúng ta s?s?dụng database Northwind có sẵn, được cung cấp bởi Microsoft SQL Server đ?thực hiện tạo Trigger. Sau đây là cách tạo DML Trigger trong SQL Server. Đầu tiên, các bạn cần phải chuẩn b?tài nguyên bằng cách  s?dụng database NorthWind, được download t?đường link github.

Hãy nhấn vào đường link trên đ?tải

Tiếp đến, các bạn thực hiện theo các bước hướng dẫn sau:

  • Tạo bảng Backup thông tin b?thay đổi:

Chúng ta s?tạo 1 bảng có tên là Products_backup đ?lưu lại các d?liệu khi thao tác thay đổi d?liệu Insert hoặc Delete xảy ra trên bảng Products.

CREATE TABLE Products_backup (
Probak_ID int identity primary key,
ProductID int NOT NULL ,
ProductName nvarchar (40) NOT NULL ,
SupplierID int NULL ,
CategoryID int NULL ,
QuantityPerUnit nvarchar (20) NULL ,
UnitPrice money NULL ,
UnitsInStock smallint NULL,
UnitsOnOrder smallint NULL,
ReorderLevel smallint NULL,
Discontinued bit NOT NULL,
updated_at datetime not null,
operation char(3) not null,
check (operation = ‘INS’ or operation = ‘DEL’)
);
GO
  • Cú pháp tạo Trigger Trong SQL Server:
      • CREATE TRIGGER [schema_name.]trigger_name
        ON table_name
        AFTER {[INSERT],[UPDATE],[DELETE]}
        [NOT FOR REPLICATION] AS
        BEGIN
        {sql_statements}
        END
        Trong đó:
        [schema_name.]trigger_name là tên của trigger
        AFTER {[INSERT],[UPDATE],[DELETE]}là chọn hành động của trigger, bạn s?chọn nhiều hơn một trong ba loại (INSERT, UPDATE, DELETE).
        [NOT FOR REPLICATION]thiết lập không m?trình kích hoạt khi sửa đổi d?liệu được thực hiện như một phần của quy trình sao chép, cái này có th?có hoặc không.
        {sql_statements}là những lệnh T-SQL, nội dung chính của trigger
  •  Tạo DML trong Trigger

Bước 1: Khai báo tên trigger như sau: CREATE TRIGGER trg_product_backup
Bước 2: Ch?ra tên bảng s?đặt trigger này: ON products
Bước 3: chọn hành động s?kích hoạt trigger, chúng ta s?chọn là INSERT và DELETE: AFTER INSERT, DELETE
Bước 4: Bắt đầu phần code chính của trigger: AS BEGIN
Bước 5: Thường khi chạy một trigger thì kết qu?tr?v?là s?lượng row b?tác động, chúng ta tắt thông báo này đ?tr?v?một thông báo khác nên thiết lập thông s? SET NOCOUNT ON;.
Bước 6: Viết nội dung của trigger là s?thêm một row mới vào bảng products_backup khi có bất kì hành động INSERT hoặc DELETE t?bảng products. Vì trigger này dùng cho c?hai trường hợp INSERT và DELETE nên chúng ta phải dùng toán t?UNION đ?gộp d?liệu của 2 table ảo inserted và deleted.

Câu lệnh đầy đ?như sau:

CREATE TRIGGER trg_product_backup
ON products
AFTER INSERT, DELETE
AS
BEGIN
SET NOCOUNT ON;
INSERT INTO Products_backup (
ProductID,
ProductName,
SupplierID,
CategoryID,
QuantityPerUnit,
UnitPrice,
UnitsInStock,
UnitsOnOrder,
ReorderLevel,
Discontinued,
updated_at,
operation
)
SELECT
i.ProductID,
i.ProductName,
i.SupplierID,
i.CategoryID,
i.QuantityPerUnit,
i.UnitPrice,
i.UnitsInStock,
i.UnitsOnOrder,
i.ReorderLevel,
i.Discontinued,
GETDATE(),
‘INS’
FROM
inserted i
UNION ALL
SELECT
d.ProductID,
d.ProductName,
d.SupplierID,
d.CategoryID,
d.QuantityPerUnit,
d.UnitPrice,
d.UnitsInStock,
d.UnitsOnOrder,
d.ReorderLevel,
d.Discontinued,
GETDATE(),
‘DEL’
FROM
deleted d;
END

Hoặc chúng ta cũng có th?tách riêng viết 2 Trigger cho 2 hành động Insert và Delete riêng biệt. Sau khi thực thi câu lệnh thành công, chúng ta có kết qu?1 Trigger được tạo trên bảng Products:

Gi?chúng ta hãy th?kiểm tra hoạt động của Trigger bằng cách xóa d?liệu trong bảng Products đ?xem Trigger s?hoạt động như th?nào. Hãy thực hiện câu lệnh insert thêm 1 bản ghi vào bảng products:

INSERT INTO Products VALUES
(‘THUNG’,1,1,’10 boxes x 20 bags’,18,39,0,10,0)

Chúng ta có d?liệu trong bảng products được thêm vào:

Đồng thời trong bảng products_backup chúng ta có d?liệu tương ứng và nếu chúng ta thực hiện câu lệnh xóa bản ghi này:

DELETE FROM Products WHERE ProductID = 78

Lúc đó, trong bảng Products_backup s?có 2 bản ghi được lưu tr?với thời gian và 2 trạng thái INS và DEL.


Trên đây là các bước chi tiết tạo DML Trigger. Trong phần tiếp theo, chúng ta s?học cách tạo các DDL Trigger ?mức Server đ?kiểm soát người dùng tạo tài khoản login và DDL Trigger ?mức Database đ?mỗi khi người dùng tạo/ sửa/ xóa bảng thì ghi nhận lại thông tin của các thay đổi này. Hãy đón xem những bài viết tiếp theo nhé!

B?môn Ứng dụng phần mềm

Cao đẳng FPT M?ng c c??c bng ? Hà Nội

The post Những điều cần biết v?Trigger trong SQL Server appeared first on Cao Đẳng FPT M?ng c c??c bng ? xét tuyển.

]]>
//westview-heights.com/tin-tuc-poly/blog/nhung-dieu-can-biet-ve-trigger-trong-sql-server.html/feed 0