Các cấu trúc điều khiển chương trình:

Một phần của tài liệu Thiết kế hệ thống quản lý thư viện (Trang 28 - 42)

C. VBSCRIPT

C.7.Các cấu trúc điều khiển chương trình:

1. If…then…Else

Nếu ta muốn chạy một lệnh đơn khi điều kiện If là đúng thì ta chỉ sử dụng một lệnh If…then

Ví dụ :

Sub FixDate() Dim myDate

myDate = #2/13/95#

If myDate < Now Then myDate = Now End sub

Nếu muốn thực thi nhiều hơn một dòng lệnh thì phải sử dụng End If

Ví dụ : Sub AlertUser(value) If value = 0 Then AlertLabel.ForeColor = vbRed AlertLabel.Font.Bold = True AlertLabel.Font.Italic = True End If End Sub

Ta cũng có thể dùng If…then …Else để xác định thực thi một trong hai khối lệnh. Một khối thực thi khi điều kiện IfTrue, khối còn lại thực thi khi điều kiện If

False Ví dụ : Sub AlertUser(value) If value = 0 Then AlertLabel.ForeColor = vbRed AlertLabel.Font.Bold = True AlertLabel.Font.Italic = True Else

AlertLabel.Font.Italic = False

End If

End Sub

2.Do…Loop : Lặp trong khi hoặc cho đến khi điều kiện là True Cách dùng While

Ví dụ :

Sub ChkFirstWhile() Dim counter, myNum counter = 0 myNum = 20 Do While myNum > 10 myNum = myNum - 1 counter = counter + 1 Loop End Sub Sub ChkLastWhile() Dim counter, myNum counter = 0 myNum = 9

Do

myNum = myNum - 1 counter = counter + 1

Loop While myNum > 10

End Sub

Cách dùng Until

Ví dụ :

Sub ChkFirstUntil() Dim counter, myNum counter = 0

myNum = 20 Do Until myNum = 10 myNum = myNum - 1 counter = counter + 1 Loop End Sub Sub ChkLastUntil() Dim counter, myNum counter = 0

myNum = 1

Do

myNum = myNum + 1 counter = counter + 1

Loop Until myNum = 10

End Sub

Cách dùng Exit Do : Thoát khỏi vòng lặp Do . . . Loop

Ví dụ : (adsbygoogle = window.adsbygoogle || []).push({});

Sub ExitExample() Dim counter, myNum counter = 0 myNum = 9 Do Until myNum = 10 myNum = myNum - 1 counter = counter + 1 If myNum < 10 Then Exit Do

Loop End Sub

3. For . . .Next : Được sử dụng khi biết trước số lần lặp. Sau mỗi lần lặp biến đếm sẽ tự động tăng lên một

Ví dụ :

Dim x

For x = 1 To 50

MyProc

Next

End Sub

Từ khoá Step : Sau mỗi lần lặp, biến đếm được tăng thêm một giá trị bằng với Step. Ví dụ :

Sub TwosTotal() Dim j, total

For j = 2 To 10 Step 2

total = total + j

Next MsgBox "The total is " & total End Sub

Sub NewTotal() Dim myNum, total

For myNum = 16 To 2 Step -2

total = total + myNum

Next MsgBox "The total is " & total End Sub

Từ khoá Exit For : Thoát khỏi vòng lặp For . . . Next. C.8. Procedures

Trong VBScript có hai loại procedure là Sub và Function.

1. Sub Procedure

Một Sub procedure là một loạt các lệnh VBScript được đặt trong hai từ khoá Sub và End Sub. Sub procedure thực thi các lệnh bên trong nó nhưng không trả lại giá trị. Sub có các đối số là hằng, biến hoặc là biểu thức được truyền vào khi ta thực hiện lệnh gọi Sub. Nếu Sub không có đối số thì sau tên Sub phải kèm theo cặp dấu ngoặc rỗng.

Trong Sub procedure có thể sử dụng hai Built-in của VBScript có sẵn là MsgBox và InputBox để thông báo thông tin cho user.

Ví dụ :

Sub ConvertTemp()

Temp = InputBox("Please enter the temperature in degrees F.", 1) MsgBox "The temperature is " & Celsius(temp) & " degrees C." End Sub

2. Function Procedure

Function là một loạt các lệnh VBScript được đặt trong hai từ khóa Function và End Function. Function có thể trả lại giá trị. Function có các đối số là hằng, biến hoặc là biểu thức được truyền vào khi ta thực hiện lệnh gọi Function. Nếu Function không có đối số thì sau tên Function phải kèm theo cặp dấu ngoặc rỗng. Một Function trả lại giá trị bằng cách gán giá trị cho tên của nó. Kiểu giá trị trả lại của Function luôn luôn là Variant.

Trong ví dụ sau đây, hàm Celsius tính toán và chuyển đổi nhiệt độ từ Fahrenheit sang Celsius.

Sub ConvertTemp() (adsbygoogle = window.adsbygoogle || []).push({});

temp = InputBox("Please enter the temperature in degrees F.", 1) MsgBox "The temperature is " & Celsius(temp) & " degrees C." End Sub

Function Celsius(fDegrees) Celsius = (fDegrees - 32) * 5 / 9 End Function

3.Cách dùng Sub và Function.

- Function : Phải luôn luôn được đặt bên phải của phép gán. Ví dụ :

Temp = Celsius(fDegrees)

Hoặc

MsgBox "The Celsius temperature is " & Celsius(fDegrees) & " degrees."

- Để gọi một Sub từ một Procedure khác, ta gõ tên của Sub kèm theo các đối số mà không cần dấu ngoặc. Nếu dùng lệnh Call, ta phải đặt các đối số trong dấu ngoặc.

Ví dụ :

Call MyProc(firstarg, secondarg) MyProc firstarg, secondarg

D. CƠ SỞ DỮ LIỆU SQL SERVER 2000* Giới thiệu sơ lược về SQL Server * Giới thiệu sơ lược về SQL Server

SQL Server viết tắt bởi : Structure Query Language – ngôn ngữ cấu trúc truy vấn. Microsoft SQL Server 2000 là một công cụ thiết kế, điều khiển và quản trị cơ sở dữ liệu, các biến cố server, các MS SQL Server Object và SQL Server với tính thực thi cao.

1. Mô hình cơ sở dữ liệu Client-Server

SQL Server là hệ quản trị cơ sở dữ liệu theo mô hình client-server. Phân chia công việc giữa client và server như sau:

a. Client-side :

- Phải xác định thông tin cần server cung cấp trước khi gửi yêu cầu tới server. - Có trách nhiệm hiển thị toàn bộ thông tin cho user.

- Phải làm việc với các result set hơn là làm việc trực tiếp trên các bảng của database.

- Phải làm mọi thao tác xử lý dữ liệu.

- Cung cấp tất cả định dạng của dữ liệu và thông tin cần thiết để tạo report. b. Server-side :

- Database engine đảm nhiệm việc lưu trữ (storage), cập nhật (update) và cung cấp (retrieval) thông tin trong hệ thống.

- Tạo result set theo yêu cầu của ứng dụng client.

- Không có giao diện người dùng (user interface). Tự thân SQL Server là không có giao diện người dùng, ngoại trừ một số tool giúp admin quản trị hệ thống.

- Hoàn toàn độc lập với các ứng dụng client.

- Không chịu trách nhiệm việc hiển thị thông tin cho người dùng từ các kết quả thực thi các query.

2. Làm việc với SQL Server

- DB-Library - ODBC - SQL OLE

a. DB-Library Interface.

DB- Library hoặc gọi tắt DB-LIB là một thư viện API cho cả hai C và VB cho phép làm việc trực tiếp với SQL Server. Thư viện API cung cấp nhiều tool cần thiết giúp ta có thể gửi các query và nhận thông tin trả lời từ SQL Server, cũng như cho phép trích lọc dữ liệu từ các result set.

Để sử dụng DB-LIB cần include những file sau đây vào project:

C Visual Basic (adsbygoogle = window.adsbygoogle || []).push({});

SQLDB.H VBSQL.OCX

SQLFRONT.H VBSQL.BAS

b. Open Database Connecttivity (ODBC)

ODBC là một giao diện lập trình (programming interface) cho phép ứng dụng có thể truy xuất data từ các hệ quản trị cơ sở dữ liệu sử dụng SQL như là phương thức chuẩn để truy xuất data.

ODBC có thể xem như là một lớp trừu tượng những ứng dụng và hệ quản trị cơ sở dữ liệu. ODBC chịu trách nhiệm nhận yêu cầu từ ứng dụng và chuyển đổi nó sang ngôn ngữ (SQL) mà database engine có thể hiểu được và dùng nó để lấy thông tin từ database. Làm việc với ODBC ta chỉ cần viết các phát biểu SQL chuẩn và sau đó chuyển các phát biểu đó đến ODBC, toàn bộ công việc hậu trường, làm thế nào để lấy được thông tin từ database do ODBC đảm nhiệm.

Mỗi loại database engine có một ODBC driver tương ứng. Database kết hợp với ODBC tương ứng cho nó được gọi là Data Source Name (DSN). Ứng dụng muốn làm việc với ODBC trước hết phải mở một connection đến ODBC, trong đó cần khai báo DSN, UserID và Password.

Web server là client của SQL Server cho dù cùng chạy trên một hệ thống. Các ứng dụng Web đều truy xuất database thông qua ODBC, ADO là một ví dụ, các sản phẩm front-end như Borland’s Delphi, Microsoft Visual Basic đều dùng ODBC để truy xuất SQL Server. ODBC thực sự đã trở thành một chuẩn trong việc truy xuất

database.

c. SQL OLEInterface :

SQL OLE interface là công cụ phát triển mới cho các nhà phát triển ứng dụng dựa trên SQL Server theo tiếp cận hướng đối tượng. SQL OLE interface cho phép ta làm việc với SQL Server thông qua sử dụng các object, method và collection của database làm việc.

3. Bảo mật truy xuất dữ liệu trên SQL Server.

Khi xây dựng các ứng dụng Web-database, cần chú ý đến việc bảo mật, có 3 mức độ bảo mật tại 3 nơi gồm :

- Web Server (do IIS đảm nhiệm)

- Hệ điều hành (ở đây là Windows NT Server đảm nhiệm) - Truy xuất dữ liệu (do SQL Server đảm nhiệm)

Mức thứ nhất : Bảo mật trên Web server được kể đến là dịch vụ SSL (Secure Socket Layer) cung cấp cơ chế mã hoá dữ liệu truyền giữa server và client.

Múc thứ hai : Windows NT Server kiểm tra account và ngăn cấm các login không hợp lệ vào các domain không được phép.

Mức thứ ba : Là mức truy xuất dữ liệu trên các object của database. SQL Server có 3 chế độ bảo mật gồm :

a. Standard :

Là default mode, ở chế độ này SQL Server đảm trách toàn bộ việc quản lý các account của nó, SQL Server xác nhận một user và kiểm tra password/login trên tất cả connection đến SQL Server.

b. Windows NT Integrated :

Chế độ này sử dụng cơ chế kiểm tra của Windows NT server cho tất cả connection. Khi SQL Server chạy ở chế độ này, Windows NT sẽ quản lý tất cả user kết nối vào thông qua ACL (Access Control List) của nó. Tiện ích của chế độ bảo mật này là cho phép user sử dụng một password duy nhất để truy xuất tới tài nguyên trong domain và thời gian cũng như việc mã hoá password qua mạng. Như vậy, user không cần login lần thứ 2 khi truy xuất SQL Server. Một user login vào Windows NT server hoặc được gán connection hoặc bị từ chối kết nối đến SQL Server dựa trên

thuộc tính của account trên NT server. Việc gán các quyền truy cập vào SQL Server cho một login vào NT Server tạo ra một login uỷ quyền, connection thông qua login được uỷ quyền gọi là kết nối được uỷ thác (trusted connection). Khi một user thiết lập được một connection uỷ thác đến SQL Server, user có thể :

- Được gắn với một login của SQL Server hiện hành trên server nếu tên login được so trùng với account của user.

- Kết nối với login mặc định (thường là guest)

- Kết nối với login SA nếu user là Adminitrator trên NT server.

Hầu hết các thao tác gán quyền cho mỗi user như quyền truy xuất vào các bảng, view, hay các object khác của database đều được quản lý bằng SQL server giống như trong chế độ Standard.

c. Mixed :

Kết hợp cả hai chế độ Standard và Integrated. Khi một user kết nối đến SQL Server trong chế độ mixed, trước tiên NT sẽ kiểm tra xem login name đã có thiết lập một kết nối uỷ thác nào hay không. Nếu không tìm thấy kết nối uỷ thác nào thì sau đó SQL Server sẽ kiểm tra login name và password. Nếu cũng không nhận biết login được yêu cầu trên server, truy xuất bị từ chối.

4. Tạo và quản lý các user account :

SQL Server có 2 mức (level) của một user : (adsbygoogle = window.adsbygoogle || []).push({});

Mức thứ nhất của user là login. Một login được phép thiết lập một connection với SQL Server. Tất cả login được lưu trữ trong bảng SYSLOGINS (nằm trong database MASTER).

Mức thứ hai của user là user. Mức này SQL dùng để quản lý các quyền truy xuất tới các object của SQL Server như : table, view, stored procedure trong một database.

Một user có thể ở trong một hoặc nhiều database, nhưng một user phải có một login của database mà nó được quyền truy xuất. Tất cả user được lưu trữ trong bảng SYSUSERS của mỗi database mà các user có quyền truy xuất.

SQL tổ chức 2 mức user mục đích cho phép một user có nhiều mức độ truy xuất khác nhau trên các database mà user kết nối vào, và vẫn duy trì một password duy nhất. Để lmf được điều này, một user có một login đi kèm với một password. Khi

một login yêu cầu kết nối, SQL Server sẽ kiểm tra login này kèm với password. Khi không có một login hợp lệ, user không thể tru xuất vào bất cứ database nào trên SQL Server.

Khi tạo một login cũng như user của login đó ta có thể sử dụng tiện ích SQL Enterprise Manage hoặc sử dụng hàm hệ thống sp_addlogin và sp_adduser, khi sử dụng hàm này ta có thể tạo một login từ một connection có qyuền tương đương như SA. Điều này rất thuận lợi khi ta viết ứng dụng Web, từ ứng dụng Web ta có thể tạo, xoá, cũng như gán quyền cho các user.

Cú phám của sp_addlogin là :

sp_addlogin login_id[,password [,defaultdb [,defaultlanguage]]] trong đó :

- login_id là tên của login sẽ được tạo.

- password là mật khẩu được gán cho login sẽ tạo, thông số này là tuỳ chọn. - defaultdb là tên của database mà login sẽ được làm việc sau khi kết nối vào,

nếu để NULL thì SQL Server sẽ mặc định là MASTER database.

- defaultlanguage nếu để là NULL thì SQL Server sẽ lấy mặc định là default language của server

Cú pháp của sp_adduser là :

sp_adduser login_id[,username [,grpname]] Trong đó :

- login_id là tên của login sẽ được thêm vào database, nếu login chưa có thì tác vụ này không thành công.

- Username được cung cấp để cho phép login gắn với một database, điều này cho phép một login có thể kết nối vào nhiều database khác nhau, và với một database thì nó có một user.

- Grpname cho phép định nghĩa tên một nhóm mà user thuộc vào nhóm đó. Để loại bỏ một login hoặc user ta có thể sử dụng các hàm sp_droplogin hay

sp_dropuser với cú phápsp_droplogin login_id và sp_dropuser username.

Sử dụng GROUP để quản lý các user :

Một nhóm bao gồm các user có quyền giống nhau, thay vì ta phải gán quyền riêng cho từng user mỗi khi user đó được tạo, ta chỉ cần tạo nhóm và phân quyền cho nhóm đó, nếu có them một user mới, thì khi tạo sẽ gắn nó với nhóm đã phân quyền.

5. Gán quyền cho user và group :

Trong SQL Server có các đối tượng như : table, view (bảng ảo), stored procedure, mỗi một user hay group sẽ có quyền hạn khác nhau đối với từng object. SQL Server có các quyền hạn sau cho mỗi user :

- SELECT cho phép user có thể đọc dữ liệu từ table hoặc view. Quyền SELECT có thể được gán riêng cho từng cột trong table hoặc view.

- INSERT cho phép user thêm một dòng mới vào table hoặc view.

- UPDATE cho phép user thay đổi dữ liệu trong bảng hoặc view. Quyền UPDATE có thể được gán riêng cho từng cột.

- DELETE cho phép user xoá dữ liệu của table hoặc view. - EXECUTE cho phép user thi hành một stored procedure.

- DRI/REFERENCES (Declarative Referential Integrity - DRI) là một phương thức duy trì ràng buộc toàn ven database, khi được gán quyền này user có thể thêm vào bảng một khoá ngoại (foreign key). Một cách khác duy trì toàn vẹn dữ liệu là trigger.

- DLL/Data Definition Language cho phép user có thể tạo mới, thêm vào, hoặc xoá các object trong database. Ví dụ : CREATE TABLE, ALTER TABLE, DROP TABLE.

- ALL cho phép user có toàn quyền trên object. Chỉ có user SA mới có quyền ALL khi sử dụng các phát biểu DLL.

MÔ HÌNH THỰC THỂ CHỨC NĂNG (adsbygoogle = window.adsbygoogle || []).push({});

Đây là mô hình mô tả dữ liệu được lưu trữ trong cơ sở dữ liệu, biểu diễn mối quan hệ chặt chẽ và logic giữa các dữ liệu đó.

Từ quá trình phân tích ở trên, mô hình thực thể liên kết có thể được biểu diễn như sau:

( Một thư viện có nhiều sách, nhiều sách có cùng phân loại, môn loại, ngôn ngữ, nhà xuất bản. Một cuốn sách chỉ được viết một lần bởi một tác giả, một tác giả có thể viết nhiều sách. Một cuốn sách có duy nhất một vị trí để trong kho, một kho có nhiều vị trí. Một cuốn sách có thể được mượn trả nhiều lần. Một năm có nhiều độc giả đến làm thẻ đọc sách, mỗi độc giả, độc giả có thể có nhiều lần mượn trả sách. Một độc giả có thể có nhiều lần vi phạm kỷ luật, mỗi hồ sơ kỷ luật chỉ có một lý do kỷ luật và một hình thức kỷ luật.).

Trêng §¹i häc Kinh tÕ Quèc d©n

Một phần của tài liệu Thiết kế hệ thống quản lý thư viện (Trang 28 - 42)