Stored Procedure, View, Trigger là gì?

SQL Server cho phép bạn tạo ra 4 đối tượng bằng cách lập trình: Stored Procedure, View, Trigger, Function.

>> Xem thêm: Tôi đi học bằng lái xe ôtô 

SP là gì?

SP (Stored Procedure) là tên được đặt cho một nhóm các mệnh đề SQL được tạo ra và lưu trong server database.

SP cho phép truyền tham số, và có thể được gọi bởi nhiều Client qua mạng với các tham số khác nhau. Khi SP bị thay đổi, tất cả Client sẽ tự động nhận được bản mới, vì SP được lưu ở Server, chứ không phải Client.

Lợi ích của SP:

  • Giảm lưu lượng dữ liệu được truyền qua mạng và tăng hiệu năng (Performance). Client chỉ việc truyền tên SP và tham số (nếu có) thay vì gửi những câu SQL nhiều dòng dài ngoằng.
  • Có thể được sử dụng để đảm bảo tính toàn vẹn dữ liệu của Database.
  • Đối với những ứng dụng lớn kết nối với cơ sở dữ liệu, ta nên dùng SP, tôi liệt kê một vài lợi ích cụ thể như sau:
    • Dễ bảo trì, việc thay đổi SP hoàn toàn không ảnh hưởng đến người dùng cuối, trong suốt với họ.
    • Chuyên biệt công việc, ví dụ những Developer giỏi lập trình C# thì chuyên tâm lập trình C#, còn những Developer giỏi lập trình T-SQL thì chuyên viết SQL từ căn bản đến phức tạp.
    • Tăng khả năng bảo mật. Đối với những ứng dụng mà ta không muốn cho Developer biết thông tin về nghiệp vụ bên trong thì ta viết SP, Developer chỉ gọi SP sử dụng mà không biết ta xử lý gì bên trong.
    • Tái sử dụng Code. Đối với những đoạn Code thường xuyên được sử dụng thì SP rất hữu dụng.
  • VD: sp_spaceused, sp_renameddb…

View là gì?

View có thể được xem như một Table ảo mà dữ liệu của nó được lấy ra từ một câu truy vấn, có chứa cột và dữ liệu từ một hay nhiều Table khác nhau, hay từ những View khác nhau. Ðối với lập trình viên thì View không khác chi so với Table và có thể đặt ở vị trí của Table trong các câu lệnh SQL.

Ðặc điểm của View là ta có thể join dữ liệu từ nhiều Table và trả về một tập kết quả đơn. Ngoài ra ta có thể thao tác dữ liệu trước khi trả về cho user bằng cách dùng các lệnh SQL như where, case…

Lưu ý: View đơn giản là 1 Table ảo, nó không được lưu trữ lễn đĩa về mặt vật lý như Table thông thường.

Lợi ích của View.

  • Có khả năng tăng tính bảo mật. View giúp ta che giấu cấu trúc của câu truy vấn bên trong. Sau khi tạo xong View ta có thể Insert, Delete, Update như 1 Table bình thường.
  • Giảm độ phức tạp. Ví dụ như User chỉ muốn xem thông tin của một vài cột với một điều kiện nào đó, View cung cấp đúng dữ liệu họ muốn mà không có dữ liệu thừa.

Trigger là gì?

Trigger có thể hiểu đơn giản là một thủ tục SQL được thực thi ở phía Server khi có một sự kiện xảy ra như Insert, Delete, hay Update. Tuy nhiên khác với Stored Procedure, Trigger hoàn toàn không có tham số. Chúng ta không thể gọi thực hiện trực tiếp Trigger bằng lệnh EXECUTE như Stored Procedure hoặc bằng bất kỳ một lệnh nào khác, Thay vào đó trigger sẽ được thực hiện một cách tự động.

Trigger cũng có thể gọi thực thi Stored Procedure.

Trigger được lưu trữ và quản lý trong Server Database.

Trigger được dùng trong trường hợp ta muốn kiểm tra các ràng buộc toàn vẹn trong Database.

Function là gì?

Function có thể hiểu đơn giản là hàm trong ngôn ngữ lập trình để thực hiện một phép tính hay một xử lý nào đó

Advertisements