TÌM HIỂU VỀ STORED PROCEDURE VÀ FUNCTION TRONG SQL SERVER

27 328 4
TÌM HIỂU VỀ STORED PROCEDURE VÀ FUNCTION TRONG SQL SERVER

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

MỤC LỤCNHẬN XÉT CỦA GIẢNG VIÊN2DANH MỤC KÝ HIỆU, CHỮ VIẾT TẮC4DANH MỤC CÁC BẢNG4DANH MỤC CÁC HÌNH ẢNH4MỞ ĐẦU1CHƯƠNG I: THỦ TỤC LƯU TRỮ (STORED PROCEDURE)21. Tổng quan về thủ tục22. Phân loại thủ tục23. Thủ tục lưu trữ hệ thống24. Thủ tục do người dùng định nghĩa54.1. Đặc điểm54.2. Tạo thủ tục64.3. Sửa và xóa thủ tục11CHƯƠNG II: HÀM (FUNCTION)131. Tổng quan về hàm132. Phân loại hàm133. Hàm hệ thống144. Hàm do người dùng định nghĩa154.1. Đặc điểm154.2. Tạo hàm164.3. Ví dụ tạo hàm174.4. Sửa và xóa hàm20KẾT LUẬN22TÀI LIỆU THAM KHẢO23 DANH MỤC KÝ HIỆU, CHỮ VIẾT TẮCKý hiệuTên tiếng anhTên tiếng ViệtDBADatabase AdministratorQuản trị viên cơ sở dữ liệuCSDLDatabaseCơ sở dữ liệuSQLStructured Query LanguageNgôn ngữ truy vấn có cấu trúcDANH MỤC CÁC BẢNGBảng 1. Các nhóm thủ tục lưu trữ hệ thống5Bảng 2. Các loại hàm hệ thống15DANH MỤC CÁC HÌNH ẢNHHình 1. Bảng thông tin sinh viên7Hình 2. Bảng thông tin lớp8Hình 3. Kết quả lời gọi thủ tục GT_Nam8Hình 4. Kết quả lời gọi thủ tục sp_sample9Hình 5. Kết quả lời gọi thủ tục sp_sample210Hình 6. Kết quả lời gọi thủ tục sp_sample310Hình 7. Kết quả lời gọi thủ tục sp_sample212Hình 8. Kết quả lời gọi hàm ChuviHT18Hình 9. Kết quả lời gọi hàm DDSV19Hình 10. Kết quả lời gọi hàm “Thong_ke”20Hình 11. Kết quả lời gọi hàm ChuviHT21  MỞ ĐẦUTrong quá trình vận hành cơ sở dữ liệu, đôi khi chúng ta cần thực hiện liên tục một câu hoặc khối lệnh dài, phức tạp để đáp ứng các nhu cầu quản trị dữ liệu. Tuy nhiên, việc một câu lệnh hoặc cấu trúc lệnh được sử dụng liên tục có thể sẽ khiến người dùng gặp phải nhiều vấn đề khó khăn, rắc rối trong quá trình thực hiện. Điều này cũng sẽ làm cho hiệu suất của việc thao tác cũng như hiệu suất của cơ sở dữ liệu giảm đáng kể. Vì thế một giải pháp hữu ích hơn đã được ra đời, đó chính là việc thực hiện các hàm (function) hoặc các thủ tục lưu trữ (stored procedure). Microsoft – một trong những nhà tiên phong trong hệ thống quản trị cơ sở dữ liệu với hệ quản trị cơ sở dữ liệu SQL Server cũng có những chức năng tuyệt vời trong việc sử dụng các đối tượng như là hàm hay thủ tục. Và để có thể hiểu rõ hơn cách sử dụng hai đối tượng này thì bài tiểu luận “Tìm hiểu về Stored Procedure và Function trong Microsoft SQL Server” sẽ giúp giải đáp được phần nào về vấn đề này. CHƯƠNG I: THỦ TỤC LƯU TRỮ (STORED PROCEDURE)1. Tổng quan về thủ tụcThủ tục là một nhóm các lệnh thực hiện chức năng nào đó, có thể được gom lại nhằm làm tăng khả năng xử lý, khả năng sử dụng chung, tăng tính bảo mật và an toàn dữ liệu, tiện ích trong quá trình sử dụng. Thủ tục có thể được lưu giữ ngay trong cơ sở dữ liệu như một đối tượng của cơ sở dữ liệu, sẵn sàng cho việc tái sử dụng. Thủ tục lúc này được gọi là thủ tục lưu trữ (stored procedure). Với các stored procedure, chúng đã được biên dịch thành dạng pcode vì thế có thể nâng cao khả năng thực hiện các thao tác ví dụ như thêm hoặc cập nhật các bản ghi.2. Phân loại thủ tụcCó thể phân loại cho thủ tục thành:Thủ tục do người dùng định nghĩa (Userdefined Stored Procedure): Là thủ tục do người dùng tạo ra để thực hiện các thao tác nhằm đáp ứng các nhu cầu hoặc công việc nào đó. Thủ tục lưu trữ tạm thời (Temporary Stored Procedure): Là một dạng thủ tục do người dùng xác định được lưu trữ trong CSDL tempdb. Có hai loại thủ tục tạm thời bao gồm: cục bộ và toàn cục. Các thủ tục lưu trữ tạm thời cục bộ có tiền tố là (); chúng chỉ hiển thị với kết nối người dùng hiện tại và sẽ bị xóa khi kết nối bị đóng. Các thủ tục tạm thời toàn cục có hai dấu số () là hai ký tự đầu tiên của tên chúng; chúng được hiển thị cho bất kỳ người dùng nào sau khi chúng được tạo và chúng sẽ bị xóa vào cuối phiên cuối cùng bằng cách sử dụng quy trình.Thủ tục lưu trữ hệ thống (System Stored Procedure): Đây là thủ tục được tích hợp sẵn trong SQL Server dưới dạng lưu trữ vật lý trong CSDL master và msdb. Trong hệ thống, các thủ tục này mang tiền tố là sp_, thường đóng vai trò hỗ trợ cho các DBA các vấn đề liên quan đến quản trị và an ninh dữ liệu.Thủ tục lưu trữ mở rộng (Extended UserDefined Stored Procedure): Các thủ tục mở rộng cho phép tạo các quy trình bên ngoài bằng ngôn ngữ lập trình chẳng hạn như C. Các thủ tục này là các thư viện liên kết động (DLL Dynamic Link Library) mà một phiên bản của SQL Server có thể tự động tải và khởi động. 13. Thủ tục lưu trữ hệ thốngTrong SQL Server, nhiều hoạt động quản trị và thông tin có thể được thực hiện bằng cách sử dụng các thủ tục được lưu trữ hệ thống. Các thủ tục được lưu trữ hệ thống được nhóm thành các loại như sau:LoạiMô tảActive GeoReplication Stored ProceduresĐược sử dụng để quản lý các cấu hình Active GeoReplication trong Cơ sở dữ liệu Azure SQLCatalog Stored ProceduresĐược sử dụng để triển khai các chức năng từ điển dữ liệu ODBC và tách các ứng dụng ODBC khỏi các thay đổi đối với các bảng hệ thống cơ bản.Change Data Capture Stored ProceduresĐược sử dụng để bật, tắt hoặc báo cáo về các đối tượng chứa dữ liệu thay đổi.Cursor Stored ProceduresĐược sử dụng để thực hiện chức năng biến con trỏ.Data Collector Stored ProceduresĐược sử dụng để làm việc với bộ thu thập dữ liệu và các thành phần sau: bộ thu thập, mục thu thập và loại bộ sưu tập.Database Engine Stored ProceduresĐược sử dụng để bảo trì chung của SQL Server Database Engine.Database Mail Stored Procedures (TransactSQL)Được sử dụng để thực hiện các hoạt động email từ bên trong một phiên bản của SQL Server.Database Maintenance Plan Stored ProceduresĐược sử dụng để thiết lập các nhiệm vụ bảo trì cốt lõi được yêu cầu để quản lý hiệu suất cơ sở dữ liệu.Distributed Queries Stored ProceduresĐược sử dụng để thực hiện và quản lý các truy vấn phân tán.Filestream and FileTable Stored Procedures Được sử dụng để cấu hình và quản lý các tính năng FILESTREAM và FileTable.Firewall Rules Stored Procedures Được sử dụng để cấu hình firewall của Cơ sở dữ liệu Azure SQL.FullText Search Stored ProceduresĐược sử dụng để triển khai và truy vấn các chỉ mục toàn văn.General Extended Stored ProceduresĐược sử dụng để cung cấp một giao diện từ một phiên bản của SQL Server đến các chương trình bên ngoài cho các hoạt động bảo trì khác nhau.Log Shipping Stored ProceduresĐược sử dụng để định cấu hình, sửa đổi và giám sát các nhật ký cấu hình vận chuyển.Management Data Warehouse Stored ProceduresDùng để cấu hình kho dữ liệu quản lý.OLE Automation Stored ProceduresĐược sử dụng để kích hoạt các đối tượng tự động hóa tiêu chuẩn để sử dụng trong một lô TransactSQL tiêu chuẩn.PolicyBased Management Stored ProceduresĐược sử dụng để quản lý dựa trên chính sách.PolyBase stored proceduresThêm hoặc xóa một máy tính khỏi nhóm PolyBase scaleout.Query Store Stored Procedures (TransactSQL)Được sử dụng để điều chỉnh hiệu suất.Replication Stored ProceduresĐược sử dụng để quản lý sao chép.Security Stored ProceduresDùng để quản lý bảo mật.Snapshot Backup Stored ProceduresĐược sử dụng để xóa bản sao lưu FILE_SNAPSHOT cùng với tất cả ảnh chụp nhanh của nó hoặc để xóa ảnh chụp nhanh tệp sao lưu riêng lẻ.Spatial Index Stored ProceduresĐược sử dụng để phân tích và cải thiện hiệu suất lập chỉ mục của các chỉ mục không gian.SQL Server Agent Stored ProceduresĐược sử dụng bởi SQL Server Profiler để theo dõi hiệu suất và hoạt động.SQL Server Profiler Stored ProceduresĐược sử dụng bởi SQL Server Agent để quản lý các hoạt động theo lịch trình và theo hướng sự kiện.Stretch Database Stored ProceduresĐược sử dụng để quản lý cơ sở dữ mở rộng.Temporal Tables Stored ProceduresSử dụng cho bảng thời gianXML Stored ProceduresĐược sử dụng để quản lý văn bản XML. 2Bảng 1. Các nhóm thủ tục lưu trữ hệ thống4. Thủ tục do người dùng định nghĩa4.1. Đặc điểm Bảo mật cao: Nhiều người dùng và chương trình khách có thể thực hiện các hoạt động trên các đối tượng cơ sở dữ liệu cơ bản thông qua một thủ tục đóng gói sẵn, ngay cả khi người dùng và chương trình không có quyền trực tiếp trên các đối tượng cơ bản đó. Thủ tục kiểm soát những quá trình và hoạt động được thực hiện và bảo vệ các đối tượng cơ sở dữ liệu bên dưới. Điều này loại bỏ yêu cầu cấp quyền ở cấp đối tượng riêng lẻ và đơn giản hóa các lớp bảo mật. Tái sử dụng: Sau khi một thủ tục được hình thành, chúng có thể được gọi ở nhiều nơi để sử dụng lại. Thực thi nhanh chóng: Máy chủ SQL Server tận dụng lợi thế của việc các đoạn mã trong thủ tục đã được biên dịch và lưu trữ sẵn trong cơ sở dữ liệu. Điều đó đồng nghĩa với việc thủ tục sẽ được thực thi nhanh hơn so do đã được biên dịch từ trước, thay vì phải mất nhiều thời gian để biên dịch các đoạn lệnh được gửi đến SQL Server mà chưa được lưu trữ.Tính nhất quán: Thủ tục lưu trữ thiết lập các ràng buộc dữ liệu để đảm bảo tính nhất quán. Người dùng không thể tùy tiện thao tác với dữ liệu để làm mất tính nhất quán của dữ liệu. Đồng thời người dùng cũng không biết được cấu trúc bên dưới của thủ tục làm cho việc sử dụng thủ tục đúng với mục đích nguyên bản.Giảm tải trên đường truyền: Các lệnh trong một thủ tục được thực hiện dưới dạng một loạt mã duy nhất. Điều này có thể làm giảm đáng kể lưu lượng mạng giữa máy chủ và máy khách vì chỉ có lệnh gọi thực thi thủ tục được gửi qua mạng.

Ngày đăng: 22/07/2021, 16:54

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan