SQL Server 2000 : Khái niệm về thủ tục nội tại   Leave a comment

Giống như ý nghĩa của việc sử dụng thủ tục dùng chung trong những ngôn ngữ lập trình khác, thủ tục nội tại trong Microsoft SQL Server dùng để tạo ra những xử lý thường dùng bên trong ứng dụng và nhằm để chia nhỏ các xử lý theo mô hình thiết kế xử lý top-down, một cách làm giúp chia nhỏ một xử lý phức tạp thành các xử lý nhỏ dần, đơn giản hóa các xử lý phức tạp.
1/- Thủ tục nội là gì ?

Thủ tục nội tại thật sự là một tập hợp chứa các dòng lệnh, các biến và các cấu trúc điều khiển bên trong ngôn ngữ Transaction-SQL dùng để thực hiện một hành động nào đó, tất cả các nội dung của thủ tục nội tại sẽ được lưu trữ tại cơ sở dữ liệu của Microsoft SQL Server.Các nét đặc trưng của một thủ tục nội tại cũng hoàn toàn giống các thủ tục trong các ngôn ngữ lập trình khác : tên thủ tục nội tại, tham số truyền giá trị vào và tham số đón nhận giá trị trả ra. Ngoài ra bên trong một thủ tục nội tại bạn cũng được phép gọi thực thi một thủ tục nội tại khác đã có trước đó. Phạm vi hoạt động của các thủ tục nội tại do người dùng tạo ra chỉ có tính cục bộ bên trong một cơ sở dữ liệu lưu trữ thủ tục đó.

Một nét riêng biệt của thủ tục nội tại là nó có thể được gọi thực hiện trong môi trường không phải là Microsoft SQL Server. Khi xây dựng giao diện màn hình trên các ngôn ngữ lập trình khác nhau, bạn vẫn có thể gọi thực hiện các thủ tục nội tại một cách dễ dàng.

Ngoài ra do thủ tục nội tại được lưu trữ vật lý trong cơ sở dữ liệu của Microsoft SQL Server, nên các thủ tục nội tại sẽ được thực thi khá nhanh bởi vì nội dung bên trong thủ tục nội tại đã được phân tích cú pháp các lệnh khi chúng được tạo mới. Lần đầu tiên khi thủ tục nội tại được gọi thực hiện thì nội dung các lệnh bên trong thủ tục nội tại sẽ được biên dịch và lưu lại trên bộ nhớ, kể từ các lần kế tiếp thì thủ tục nội tại sẽ được thực thi càng nhanh hơn (vì các mã lệnh đã được lưu lại trên bộ nhớ). Đây cũng là một trong những lý do mà tại sao chúng ta nên sử dụng thủ tục nội tại trong Microsoft SQL Server để thực thi các xử lý tính toán.

2/- Các thủ tục nội tại hệ thống :

Trong Microsoft SQL Server cung cấp cho chúng ta một số lớn các thủ tục nội tại hệ thống dùng để thực hiện các xử lý trong việc quản trị cơ sở dữ liệu. Một thủ tục nội tại hệ thống luôn luôn được bắt đầu bằng chữ sp_ và hầu hết tất cả các thủ tục nội tại hệ thống được lưu trữ bên trong cơ sở dữ liệu Master.

Việc làm quen và sử dụng nhuần nhuyễn các thủ tục hệ thống sẽ giúp bạn hiểu rõ thêm về cách tổ chức cấu trúc các bảng hệ thống bên dưới Microsoft SQL Server. Ngoài ra còn giúp bạn biết được các xử lý bí ẩn bên dưới tiện ích Enterprise Manager sau khi bạn thực hiện các hành động chọn lựa trong tiện ích đồ họa này.

Ví dụ :

Bạn có thể tạo mới một người dùng có tên là “TTTH”, với mật khẩu “T3HNVC” cho phép truy cập vào cơ sở dữ liệu NorthWind của Microsoft SQL Server bằng thủ tục hệ thống sp_addlogin như sau :


Các bài liên quan đến thủ tục nội tại hệ thống chỉ hướng dẫn bạn thực hiện việc triển khai một cơ sở dữ liệu trong Microsoft SQL Server. Do đó sẽ không đề cập đến các thủ tục nội tại hệ thống của Microsoft SQL Server mà chỉ trình bày cách thức tạo ra một thủ tục do người dùng định nghĩa để thực hiện các xử lý riêng biệt cho ứng dụng của bạn. Trong các bài kế tiếp, khi đề cập đến cụm từ thủ tục nội tại thì xem như nói đến các thủ tục nội tại do người dùng định nghĩa.

3/- Các lợi ích khi sử dụng thủ tục nội tại :

Bạn nên xem xét thật kỹ các lợi ích khi sử dụng thủ tục nội tại được mô tả bên dưới để có thể áp dụng vào đúng các trường hợp thực tế trong khi xây dựng các ứng dụng theo mô hình khách chủ.

• Tốc độ xử lý của các thủ tục nội tại sẽ rất nhanh bởi vì bản thân nội dung của các thủ tục nội tại được lưu trữ và thực hiện ngay tại máy chủ. Hơn thế nữa, các dữ liệu cũng được lưu trữ trên cùng máy chủ nên không cần mất thời gian để truyền dữ liệu qua hệ thống mạng cho các xử lý bên trong thủ tục nội tại bởi vì các xử lý và dữ liệu cùng được lưu trữ trên cùng một vị trí vật lý là máy chủ.

• Việc tổ chức và phân chia các xử lý thành hai nơi khác nhau : tại máy chủ hoặc tại máy trạm sẽ giúp các bạn có thể làm giảm thời gian xây dựng ứng dụng. Bởi vì bản thân một thủ tục nội tại trong Microsoft SQL Server có thể được gọi thực thi nhiều lần trên các màn hình khác nhau trong các ngôn ngữ lập trình khác nhau : Visual Basic, C++, Delphi, …

• Giống như những lợi ích khi sử dụng đối tượng bảng ảo (View), bạn có thể sử dụng thủ tục nội tại để phân cấp quyền hạn (security) cho những người sử dụng với các hành động cập nhật dữ liệu như : thêm, sửa, xóa dữ liệu hoặc xem chỉ có quyền xem nội dung của các báo cáo.

Hết

Posted July 15, 2010 by ngththien in Uncategorized

Tagged with

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: