Bài giảng Microsoft SQL server - Bài 12: Thủ tục lưu trú, hàm và trigger
Số trang: 85
Loại file: pdf
Dung lượng: 6.42 MB
Lượt xem: 12
Lượt tải: 0
Xem trước 9 trang đầu tiên của tài liệu này:
Thông tin tài liệu:
"Bài giảng Microsoft SQL server - Bài 12: Thủ tục lưu trú, hàm và trigger" được biên soạn giúp người học nắm được về thủ tục lưu trú; hàm do người dùng định nghĩa, bẫy lỗi. Mời các bạn cùng tham khảo bài giảng để nắm chi tiết hơn nội dung nghiên cứu.
Nội dung trích xuất từ tài liệu:
Bài giảng Microsoft SQL server - Bài 12: Thủ tục lưu trú, hàm và trigger1Mục tiêu:- Kỹ băng: - Viết thủ tục lưu trú để giải quyết một vấn đề được đăt ra về CSDL. Bao gồm cả việc kiểm chứng dữ liệu khi cần thiết. - Viết các hàm kiểu vô hướng dựa trên một biểu thức hoặc công thức. - Viết hàm kiểu bảng để thay thế cho câu lệnh SELECT có điều kiện WHERE. - Viết trigger để ngăn chặn lỗi CSDL gây ra bởi một truy vấn hành động (Insert, Update, Delete). - Viết trigger ngăn chặn các lỗi CSDL gây ra bởi một câu lệnh định nghĩa dữ liệu (create, alter, v.v…)- Kiến thức: - Giải thích tại sao một thủ tục thực hiện nhanh hơn một SQL script tương ứng. - Mô tả các xử lý cơ bản để kiểm chứng dữ liệu trong một thủ tục lưu trú. - Mô tả ý nghĩa của một số thủ tục hệ thống. 2- Mô tả hai kiểu hàm do người dùng định nghĩa- Mô tả hai loại triggers- Giải thích ảnh hưởng của các mệnh đề WITH ENCRYPTION và WITH CHEMABINDING trong thủ tục, hàm và triger.- Giải thích tại sao chúng ta nên sử dụng câu lệnh ALTER hơn là xóa và tạo lại một thủ tục, hàm hoặc trigger. 2- Chúng ta có thể dùng T-SQL để viết các chương trình có tính thủ tục như scripts (tập lệnh/tệp lệnh), Store Procedures (Thủ tục lưu trú), User-defined functions (hàm do người dùng định nghĩa) và triggers (bẫy lỗi).- Các tệp lệnh hữu ích cho các NSD truy cập SQL Server thông qua các công cụ của Client như Management Studio. Các công cụ Client thường chỉ được dùng bởi những người lập trình SQL và quản trị CSDL, không được dùng bởi các chương trình ứng dụng hay NSD cuối.- Store Procedures (Thủ tục lưu trú), User-defined functions (hàm do người dùng định nghĩa) và triggers (bẫy lỗi) là các đối tượng CSDL chứa các câu lệnh SQL và có khả năng thực thi trên server. Các đối tượng này điều khiển và thực hiện tốt hơn tệp lệnh.- Bảng trên slide so sánh sự khác nhau của các chương trình có tính thủ tụctrong SQL. - Script: nhiều bó lệnh, được lưu trữ trên ổ đĩa, được thực hiện bởi các công cụ phía client, không có tham biến. - Store procedure (thủ tục lưu trú): một bó lệnh, được lưu trữ như một đối tượng trong CSDL, được thực hiện bởi một chương trình hoặc trong một script, có tham biến. - User- defined function (hàm do người dùng định nghĩa): một bó lệnh, được lưu trữ như một đối tượng trong CSDL, được thực hiện 3 bởi một chương trình hoặc trong một script, có tham biến.- Trigger: một bó lệnh, được lưu trữ như một đối tượng trong CSDL, được tự động thực hiện bởi server khi một truy vấn hành động được thực hiện, không có tham biến. 3- Thủ tục lưu trú được sử dụng bởi: - Các lập trình viên SQL để điều khiển ai sẽ truy cập CSDL và truy cập như thế nào. - Các lập trình viên ứng dụng để làm đơn giản hóa việc sử dụng CSDL của họ.- Hàm do NSD định nghĩa: - Được sử dụng thường xuyên bởi các lập trình viên SQL ở trong các thủ tục hoặc các trigger mà họ viết. - Cũng có thể được sử dụng bởi lập trình viên ứng dụng và NSD CSDL.- Các trigger được sử dụng bởi: - Các lập trình viên SQL để ngăn chặn các lỗi CSDL khi một truy vấn hành động được thực hiện. - Các lập trình viên SQL để cung cấp các view có thể cập nhật dữ liệu. 45Ví dụ cách tạo và thực thi thủ tục spInvoiceReport.- Thủ tục spInvoiceReport có nhiệm vụ là thực hiện một câu lệnh Select (như trên slide). Câu lệnh này lọc ra các hóa đơn còn nợ tiền. Thông tin trong kết quả lấy từ hai bảng Invoices và bảng Vendors. Kết quả được sắp xếp theo chiều tăng dần của VendorName.- Sau khi viết script như trên slide, chạy script để thủ tục spInvoiceReport được tạo ra và lưu trú trong CSDL AP (xem kết quả trong mục Programmability trong cửa sổ Object exprole). Chi tiết câu lệnh tạo thủ tục sẽ giới thiệu trong phần tiếp theo. 6Để thực hiện (chạy) thủ tục chúng ta dùng câu lệnh EXEC. Như trên slide, saukhi thực hiện thủ tục spInvoiceReport chúng ta thu được kết quả là một bảngdữ liệu các hóa đơn chưa trả hết tiền (kết quả của câu lệnh select trong thủtục).Trong lần chạy đầu tiên, các câu lệnh SQL trong thủ tục sẽ được biên dịch vàthực thi để tạo một kế hoạch thực thi (execution plan). Sau đó, thủ tục sẽ đượclưu trữ dưới dạng thực thi trong CSDL và ở những lần chạy thủ tục sau thì cáccâu lệnh SQL trong nó không cần phải b ...
Nội dung trích xuất từ tài liệu:
Bài giảng Microsoft SQL server - Bài 12: Thủ tục lưu trú, hàm và trigger1Mục tiêu:- Kỹ băng: - Viết thủ tục lưu trú để giải quyết một vấn đề được đăt ra về CSDL. Bao gồm cả việc kiểm chứng dữ liệu khi cần thiết. - Viết các hàm kiểu vô hướng dựa trên một biểu thức hoặc công thức. - Viết hàm kiểu bảng để thay thế cho câu lệnh SELECT có điều kiện WHERE. - Viết trigger để ngăn chặn lỗi CSDL gây ra bởi một truy vấn hành động (Insert, Update, Delete). - Viết trigger ngăn chặn các lỗi CSDL gây ra bởi một câu lệnh định nghĩa dữ liệu (create, alter, v.v…)- Kiến thức: - Giải thích tại sao một thủ tục thực hiện nhanh hơn một SQL script tương ứng. - Mô tả các xử lý cơ bản để kiểm chứng dữ liệu trong một thủ tục lưu trú. - Mô tả ý nghĩa của một số thủ tục hệ thống. 2- Mô tả hai kiểu hàm do người dùng định nghĩa- Mô tả hai loại triggers- Giải thích ảnh hưởng của các mệnh đề WITH ENCRYPTION và WITH CHEMABINDING trong thủ tục, hàm và triger.- Giải thích tại sao chúng ta nên sử dụng câu lệnh ALTER hơn là xóa và tạo lại một thủ tục, hàm hoặc trigger. 2- Chúng ta có thể dùng T-SQL để viết các chương trình có tính thủ tục như scripts (tập lệnh/tệp lệnh), Store Procedures (Thủ tục lưu trú), User-defined functions (hàm do người dùng định nghĩa) và triggers (bẫy lỗi).- Các tệp lệnh hữu ích cho các NSD truy cập SQL Server thông qua các công cụ của Client như Management Studio. Các công cụ Client thường chỉ được dùng bởi những người lập trình SQL và quản trị CSDL, không được dùng bởi các chương trình ứng dụng hay NSD cuối.- Store Procedures (Thủ tục lưu trú), User-defined functions (hàm do người dùng định nghĩa) và triggers (bẫy lỗi) là các đối tượng CSDL chứa các câu lệnh SQL và có khả năng thực thi trên server. Các đối tượng này điều khiển và thực hiện tốt hơn tệp lệnh.- Bảng trên slide so sánh sự khác nhau của các chương trình có tính thủ tụctrong SQL. - Script: nhiều bó lệnh, được lưu trữ trên ổ đĩa, được thực hiện bởi các công cụ phía client, không có tham biến. - Store procedure (thủ tục lưu trú): một bó lệnh, được lưu trữ như một đối tượng trong CSDL, được thực hiện bởi một chương trình hoặc trong một script, có tham biến. - User- defined function (hàm do người dùng định nghĩa): một bó lệnh, được lưu trữ như một đối tượng trong CSDL, được thực hiện 3 bởi một chương trình hoặc trong một script, có tham biến.- Trigger: một bó lệnh, được lưu trữ như một đối tượng trong CSDL, được tự động thực hiện bởi server khi một truy vấn hành động được thực hiện, không có tham biến. 3- Thủ tục lưu trú được sử dụng bởi: - Các lập trình viên SQL để điều khiển ai sẽ truy cập CSDL và truy cập như thế nào. - Các lập trình viên ứng dụng để làm đơn giản hóa việc sử dụng CSDL của họ.- Hàm do NSD định nghĩa: - Được sử dụng thường xuyên bởi các lập trình viên SQL ở trong các thủ tục hoặc các trigger mà họ viết. - Cũng có thể được sử dụng bởi lập trình viên ứng dụng và NSD CSDL.- Các trigger được sử dụng bởi: - Các lập trình viên SQL để ngăn chặn các lỗi CSDL khi một truy vấn hành động được thực hiện. - Các lập trình viên SQL để cung cấp các view có thể cập nhật dữ liệu. 45Ví dụ cách tạo và thực thi thủ tục spInvoiceReport.- Thủ tục spInvoiceReport có nhiệm vụ là thực hiện một câu lệnh Select (như trên slide). Câu lệnh này lọc ra các hóa đơn còn nợ tiền. Thông tin trong kết quả lấy từ hai bảng Invoices và bảng Vendors. Kết quả được sắp xếp theo chiều tăng dần của VendorName.- Sau khi viết script như trên slide, chạy script để thủ tục spInvoiceReport được tạo ra và lưu trú trong CSDL AP (xem kết quả trong mục Programmability trong cửa sổ Object exprole). Chi tiết câu lệnh tạo thủ tục sẽ giới thiệu trong phần tiếp theo. 6Để thực hiện (chạy) thủ tục chúng ta dùng câu lệnh EXEC. Như trên slide, saukhi thực hiện thủ tục spInvoiceReport chúng ta thu được kết quả là một bảngdữ liệu các hóa đơn chưa trả hết tiền (kết quả của câu lệnh select trong thủtục).Trong lần chạy đầu tiên, các câu lệnh SQL trong thủ tục sẽ được biên dịch vàthực thi để tạo một kế hoạch thực thi (execution plan). Sau đó, thủ tục sẽ đượclưu trữ dưới dạng thực thi trong CSDL và ở những lần chạy thủ tục sau thì cáccâu lệnh SQL trong nó không cần phải b ...
Tìm kiếm theo từ khóa liên quan:
Bài giảng Microsoft SQL server Microsoft SQL server Thủ tục lưu trú Thủ tục lưu hàm Hàm do người dùng định nghĩaGợi ý tài liệu liên quan:
-
150 trang 60 0 0
-
139 trang 50 0 0
-
Ebook Microsoft SQL server for dummies
433 trang 35 0 0 -
Bài giảng Microsoft SQL server: Chương 6 - Phạm Mạnh Cương
11 trang 29 0 0 -
Bài giảng Hệ quản trị cơ sở dữ liệu (Database Management Systems) - Bài 0: Giới thiệu
2 trang 28 0 0 -
3 trang 25 0 0
-
Bài giảng Microsoft SQL server: Chương 3 - Phạm Mạnh Cương
43 trang 25 0 0 -
Bài giảng Hệ quản trị cơ sở dữ liệu: Phần 1 - Trường ĐH Công nghiệp Quảng Ninh
151 trang 25 0 0 -
Bài giảng Lập trình C#: Phần 2 - ĐH Phạm Văn Đồng
48 trang 23 0 0 -
9 trang 20 0 0