Hàm do người dùng định nghĩa (UDFs: User Defined Functions)

Một phần của tài liệu Quản lý tổ chức thi trắc nghiệm trên máy tính (Trang 32)

II. SQL SERVER 2000:

5. Hàm do người dùng định nghĩa (UDFs: User Defined Functions)

− Hàm do người dùng định nghĩa là một đối tượng mới được bổ sung của phiên bản SQL Server 2000.

− Hàm do người dùng định nghĩa mang đầy đủ tính chất của một hàm nhưđa số

các ngôn ngữ lập trình khác nghĩa là một UDFs là một chương trình con đảm trách một xử lý nào đó với đặc tính là sẽ nhận một tham sốđầu vào và trả về một giá trị kết quả xử lý tính toán được dựa trên các tham sốđầu vào đã nhận.

− Cú pháp:

CREATE FUNCTION tên_hàm (danh_sách_tham_s) RETURNS kiu_DL_tr_v

AS BEGIN

--Các câu lnh bên trong hàm

RETURN END

Trong đó: kiu_DL_tr_v có thể là một giá trị kết quảđơn lẻ (như: một chuỗi, giá trị

logic, hay một giá trị kiểu số…) hay trả về một table. − Ví dụ:

CREATE FUNCTION TIMDIEMLONNHAT(@MAMH VARCHAR(6)) RETURNS INT

AS BEGIN

RETURN ( SELECT MAX(DIEM_THI)

FROM THI

WHERE MAMH = @MAMH )

Trần Thị Thanh Trúc – MSSV: 10460117 29 − Triggerlà một dạng đặc biệt của Stored Procedure, tuy nhiên khác với Stored

Procedure, trigger hoàn toàn không có tham số. Trigger được thực hiện tựđộng khi người dùng áp dụng câu lệnh sửa đổi dữ liệu lên một bảng có liên quan đến trigger.

− Trigger được dùng cho các việc sau:

• Kiểm tra ràng buộc toàn vẹn dữ liệu phức tạp.

• Trigger chỉ có thểđược kích hoạt một cách tựđộng bởi một trong các thao tác INSERT, UPDATE, DELETE xảy ra.

• Trigger cũng được dùng để thay thế các constraint trong trường hợp ta muốn việc kiểm tra ràng buộc dữ liệu kèm theo các câu thông báo theo ý muốn người dùng.

− Cú pháp:

CREATE TRIGGER tên_trigger

ON tên_bng

FOR INSERT, UPDATE, DELETE AS

Các_câu_lnh

− Ví dụ:

CREATE TRIGGER NgaySinh ON SINH_VIEN

FOR INSERT, UPDATE AS

IF NOT EXISTS ( SELECT * FROM INSERTED

WHERE YEAR(GETDATE()) – NGAY_SINH >= 18)

BEGIN

ROLLBACK TRANSACTION

RAISERROR (“Huy giao dich”, 16, 1) END

III.Microsoft Visual Studio 2005 (C#) 1.Khái quát: 1.Khái quát:

− Microsoft Visual Studio 2005 là một môi trường phát triển rất mạnh. Tất cả các công việc, từ thiết kế CSDL, thiết kế giao diện hay viết mã đều có thể thực hiện trong môi trường phát triển này.

− C# là một ngôn ngữ lập trình mới, được bắt đầu từ C và C++ nhưng thêm vào các

đặc tính mới làm cho ngôn ngữ này dễ sử dụng hơn, nhiều trong số những đặc tính này khá giống với những đặc tính có trong ngôn ngữ Java.

Trần Thị Thanh Trúc – MSSV: 10460117 30 • Đơn giản. • Hiện đại. • Hướng đối tượng. • Mạnh mẽ, mềm dẻo. • Có ít từ khóa. • Hướng module.

• Đặt trọng tâm vào internet, có khả năng thực thi cao cho môi trường .NET

− Ưu điểm:

• Tốc độ phát triển rất nhanh.

• Công cụ lập trình thân thiện, dễ sử dụng cùng với hệ thống thư

viện online MSDN có thểđáp ứng tối đa nhu cầu học hỏi của tất cả mọi người.

− Khuyết điểm:

• Các sản phẩm làm ra từ Visual Studio đều phải phụ thuộc vào nền .NET Framework.

• Visual Studio không phải là mã nguồn mở do đó rất khó tìm thấy một bộ mã nguồn hoàn chỉnh đâu đó trên mạng.

• Ngoài ra còn một khuyết điểm khá phiền phức của Visual Studio là Just In Time Debugger của nó, nó cứđòi debug một sốứng dụng đang chạy khiến cho ứng dụng đó bịđóng ngay lập tức.

2..NET Framework:

− .NET Framework là một platform mới mang tính cách mạng giúp cho việc phát triển các ứng dụng dễ dàng hơn.

− .NET Framework được thiết kếđểđáp ứng các quan điểm sau:

− .NET Framework cung cấp môi trường thực thi cho các ứng dụng, đảm nhận các công việc như:

• Dịch chương trình từđịnh dạng mã Microsoft Intermediate Language (MSIL) sang dạng mã máy.

• Quản lý bộ nhớ các chương trình .NET. • Bẫy lỗi và xử lý lỗi.

• Bảo mật.

− .NET Framework cung cấp một thư viện đầy đủ, bao phủ hầu hết các lĩnh vực như: hệ thống, giao diện, đồ hoạ, toán học, đa phương tiện, mạng, mã hoá và bảo mật.

− .NET Framework bao gồm:

• Năm ngôn ngữ chính thức: C#, VB, Visual C++, Visual J#, và JScript.NET.

Trần Thị Thanh Trúc – MSSV: 10460117 31 phát triển ứng dụng Windows và Web mà các ngôn ngữ có thể

chia sẻ sử dụng.

• Bộ thư viện Framework Class Library (FCL).

− Thành phần quan trọng nhất của .NET Framework là CLR, nó cung cấp môi trường cho ứng dụng thực thi, CLR là một máy ảo tương tự máy ảo Java. CLR kích hoạt đối tượng, thực hiện kiểm tra bảo mật, cấp phát bộ nhớ, thực thi và thu dọn chúng.

3.Biên dịch và Ngôn ngữ trung gian:

− Trong .NET, chương trình không biên dịch thành tập tin thực thi mà biên dịch thành ngôn ngữ trung gian (MSIL: Microsoft Intermediate Language, viết tắt là IL), sau đó được CLR thực thi. Các tập tin IL biên dịch từ C# đồng nhất với các tập tin IL biên dịch từ ngôn ngữ .NET khác.

− Khi biên dịch dự án, mã nguồn C# được chuyển thành tập tin IL lưu trên đĩa. Khi chạy chương trình, IL được biên dịch một lần nữa bằng trình Just In Time (JIT). Kết quả là mã máy và bộ xử lý sẽ thực thi.

− Trình biên dịch JIT chỉ thực hiện khi có yêu cầu. Khi một phương thức được gọi, JIT phân tích IL và sinh ra mã máy có hiệu quả cao, mã này có thể chạy rất nhanh. Trình biên dịch JIT đủ thông minh để nhận ra khi một mã đã được biên dịch, do vậy khi ứng dụng chạy thì việc biên dịch chỉ xảy ra khi cần thiết, tức là chỉ biên dịch mã IL chưa biên dịch ra mã máy. Khi đó một ứng dụng .NET thực hiện, chúng có xu hướng là chạy rất nhanh.

− CLS nghĩa là tất cả các ngôn ngữ .NET đều sinh ra mã IL giống nhau. Các đối tượng được tạo bởi ngôn ngữ nào đó sẽđược truy cập và kế thừa bởi các đối tượng của ngôn ngữ khác. Vì vậy ta có thể tạo một lớp cơ sở trong VB.NET và thừa kế nó từ C#.

4.Kết nối dữ liệu với ADO.NET:

− Trong thực tế có rất nhiều ứng dụng cần tương tác với CSDL, .NET Framework cung cấp một tập các đối tượng cho phép truy cập vào CSDL, tập các đối tượng này

được gọi chung là ADO.NET.

− ADO.NET tương tự như ADO, nhưng điểm khác biệt mấu chốt nhất là

ADO.NET là một kiến trúc dữ liệu rời rạc, không kết nối. Với kiến trúc này, dữ liệu

Trần Thị Thanh Trúc – MSSV: 10460117 32 dòng dữ liệu hay yêu cầu dữ liệu mới.

− Thuận lợi: giảm một lượng lớn truy cập vào CSDL cùng một lúc, tiết kiệm đáng kể tài nguyên bộ nhớ.

− .NET Framework hỗ trợ 2 trình cung cấp dữ liệu là SQL Server .NET Data Provider (dành cho SQL Server 7.0 trở lên) và OLEDB.NET Data Provider (dành cho hệ quản trị CSDL khác) để truy cập vào CSDL.

− Đối tượng quan trọng nhất trong mô hình ADO.NET là Dataset, Dataset được xem như là thể hiện của cả một CSDL con lưu trữ trên vùng nhớ cache của máy người dùng mà không kết nối đến CSDL.

− Đối tượng SqlConnectionđại diện cho một kết nối đến CSDL, đối tượng này có thểđược dùng chung cho các đối tương SqlCommand khác nhau.

− Đối tượng SqlCommand cho phép thực hiện một câu truy vấn trực tiếp (VD: SELECT, INSERT….) hay gọi Stored Procedure từ CSDL.

− Đối tượng SqlDataAdapterđược dùng như chiếc cầu nối trung gian giữa Dataset và DataSource, DataAdapter lấy dữ liệu từ CSDL rồi dùng phương thức Fill() đểđẩy dữ liệu cho Dataset

− Ví dụ: Đoạn mã lệnh dùng để kết nối CSDL và lấy về bảng dữ liệu SINH_VIEN

//tạo chuỗi kết nối đến CSDL “QLY TO CHUC THI TRAC NGHIEM TREN MAY

TINH”

string connectionString = "server = .;Trusted_Connection = yes; database = QLY TO

CHUC THI TRAC NGHIEM TREN MAY TINH;

SqlConnection sqlconnect = new SqlConnection(connectionString); sqlconnect.Open();

SqlCommand sqlCommand = new SqlCommand(); sqlCommand.Connection = sqlconnect;

commandString = "Select * From SIMH_VIEN" sqlCommand.CommandText = commandString;

SqlDataAdapter dataAdapter = new SqlDataAdapter(); DataSet dataset = new DataSet();

dataAdapter.SelectCommand = sqlCommand;

Trần Thị Thanh Trúc – MSSV: 10460117 33

Phần III: PHÂN TÍCH VÀ THIẾT KẾ

I.Phân tích mức ý niệm và mức logic(mức tổ chức):

CÁC MÔ HÌNH X

Mô Hình: MHXuLy_Quan Ly To Chuc Thi Trac Nghiem Tren May Tinh

Trần Thị Thanh Trúc – MSSV: 10460117 36

A.Các Mô Hình Xử Lý

A.1 Các mô hình con cha trong Mô hình:

Trần Thị Thanh Trúc – MSSV: 10460117 37

Trần Thị Thanh Trúc – MSSV: 10460117 38

Trần Thị Thanh Trúc – MSSV: 10460117 39

Trần Thị Thanh Trúc – MSSV: 10460117 40

Trần Thị Thanh Trúc – MSSV: 10460117 41

Trần Thị Thanh Trúc – MSSV: 10460117 42

B.Danh sách các đối tượng trong Mô Hình

B.1 Danh sách các đối tượng chung:

B.1.1 Danh sách các tác nhân

Tên Mã Kiểu Phòng Giáo Vụ PHONG_GIAO_VU Tác nhân nội Giảng Viên GIANG_VIEN Tác nhân nội Trung Tâm Khảo Thí TRUNG_TAM_KHAO_THI Tác nhân nội Sinh Viên SINH_VIEN Tác nhân nội Bô Phận Khác BO_PHAN_KHAC Tác nhân nội

B.1.2 Danh sách các sự kiện

Tên Mã Bí danh Kiểu

Yêu cầu ra đề thi YEU_CAU_RA_DE_THI Tác nhân nội Duyệt đề DUYET_DE Tác nhân nội

Đề đã duyệt DE_DA_DUYET Tác nhân nội

Thông báo Giảng Viên ra đề lại

THONG_BAO_GIANG_VIEN_RA_ DE_LAI

Tác nhân nội Hoàn tất, chờ ngày thi HOAN_TAT__CHO_NGAY_THI Tác nhân nội Danh sách Sinh Viên đủ

điều kiện tham gia thi

DANH_SACH_SINH_VIEN_DU_DI EU_KIEN_THAM_GIA_THI

Tác nhân nội Thủ tục thi THU_TUC_THI Tác nhân nội Hoàn tất làm bài HOAN_TAT_LAM_BAI Tác nhân nội Thi xong THI_XONG Tác nhân nội Báo cáo tổng hợp BAO_CAO_TONG_HOP Tác nhân nội Hoàn tất báo cáo HOAN_TAT_BAO_CAO Tác nhân nội Chuẩn bị tổ chức thi lần 2 CHUAN_BI_TO_CHUC_THI_LAN_

2

Tác nhân nội Kết thúc thi KET_THUC_THI Tác nhân nội

B.1.3 Danh sách dữ liệu

Tên Mã Kiểu Sinh viên SINH_VIEN Dữ liệu cấu trúc Môn học MON_HOC Dữ liệu cấu trúc Giảng viên GIANG_VIEN Dữ liệu cấu trúc Lớp LOP Dữ liệu cấu trúc

Đề thi DE_THI Dữ liệu cấu trúc

Câu hỏi CAU_HOI Dữ liệu cấu trúc Khoa KHOA Dữ liệu cấu trúc Học kỳ HOC_KY Dữ liệu cấu trúc Chương CHUONG Dữ liệu cấu trúc Lựa chọn LUA_CHON Dữ liệu cấu trúc Chứa CHUA Dữ liệu cấu trúc Trong TRONG Dữ liệu cấu trúc

Trần Thị Thanh Trúc – MSSV: 10460117 43 Bài thi chi tiết BAI_THI_CHI_TIET Dữ liệu cấu trúc Thi THI Dữ liệu cấu trúc

B.2 Danh sách các đối tượng ca Mô Hình Ý Nim Truyn Thông:

B.2.1 Danh sách dòng

Tên Mã Tác nhân nhận Tác nhân phát 3_Giao đề thi 3_GIAO_DE_THI Phòng Giáo Vụ Giảng Viên 1_Yêu cầu ra đề thi 1_YEU_CAU_RA_

DE_THI

Giảng Viên Phòng Giáo Vụ 2_Ra đề thi 2_RA_DE_THI Giảng Viên Giảng Viên 4_Duyệt đề thi 4_DUYET_DE_THI Phòng Giáo Vụ Phòng Giáo Vụ 5_Chuyển đề thi và

danh sách Sinh Viên dự thi

5_CHUYEN_DE_T HI_VA_DANH_SA CH_SINH_VIEN_D U_THI

Trung Tâm Khảo Thí Phòng Giáo Vụ

8_Thông báo kết quả điểm thi

8_THONG_BAO_K ET_QUA_DIEM_T HI

Sinh Viên Trung Tâm Khảo Thí 6A_Cập nhật đề thi 6A_CAP_NHAT_D

E_THI

Trung Tâm Khảo Thí Trung Tâm Khảo Thí 7_Làm bài thi và

nộp

7_LAM_BAI_THI_ VA_NOP

Trung Tâm Khảo Thí Sinh Viên 9A_Xuất báo cáo

tổng hợp tình hình thi

9A_XUAT_BAO_C AO_TONG_HOP_TI NH_HINH_THI

Bô Phận Khác Trung Tâm Khảo Thí 9B_Xuất báo cáo

tổng hợp tình hình thi

9B_XUAT_BAO_C AO_TONG_HOP_TI NH_HINH_THI

Phòng Giáo Vụ Trung Tâm Khảo Thí 6B_Cập nhật danh

sách sinh viên dự thi

6B_CAP_NHAT_D ANH_SACH_SINH_ VIEN_DU_THI

Trung Tâm Khảo Thí Trung Tâm Khảo Thí

B.3 Danh sách các đối tượng ca Mô Hình Ý Nim X Lý:

B.3.1 Danh sách các tác vụ

Tên Mã Đồng bộ hóa

Giảng Viên ra đề GIANG_VIEN_RA_DE Xem xét duyệt đề XEM_XET_DUYET_DE Cập nhật dữ liệu CAP_NHAT_DU_LIEU và Tiến trình làm bài thi TIEN_TRINH_LAM_BAI_THI

Xem điểm XEM_DIEM Báo cáo điểm Sinh Viên BAO_CAO_DIEM_SINH_VIEN Chuyển các báo cáo CHUYEN_CAC_BAO_CAO

Trần Thị Thanh Trúc – MSSV: 10460117 44

B.3.2 Danh sách các hành động

Tên Mã Danh sách các tác vụ -Chuyển cho các bộ phận CHUYEN_CHO_CAC_BO_PHAN Chuyển các báo cáo -In báo cáo _IN_BAO_CAO Chuyển các báo cáo -Báo cáo danh sách điểm

Sinh Viên

_BAO_CAO_DANH_SACH_DIE M_SINH_VIEN

Báo cáo điểm Sinh Viên -Báo cáo tỉ lệ điểm _BAO_CAO_TI_LE_DIEM Báo cáo điểm Sinh Viên -Tổng hợp các bài thi _TONG_HOP_CAC_BAI_THI Báo cáo điểm Sinh Viên -Xuất báo cáo điểm cho

sinh viên

_XUAT_BAO_CAO_DIEM_CHO _SINH_VIEN

Xem điểm

-Làm bài thi _LAM_BAI_THI Tiến trình làm bài thi -Đăng nhập _DANG_NHAP Tiến trình làm bài thi -Cập nhật danh sách sinh viên _CAP_NHAT_DANH_SACH_SIN H_VIEN Cập nhật dữ liệu -Cập nhật đề _CAP_NHAT_DE Cập nhật dữ liệu

-Xem xét đề _XEM_XET_DE Xem xét duyệt đề -Chuuyển cho phòng

Giáo Vụ

_CHUUYEN_CHO_PHONG_GIA O_VU

Giảng Viên ra đề -Giảng Viên ra đề _GIANG_VIEN_RA_DE Giảng Viên ra đề

B.4 Danh sách các đối tượng ca Mô Hình T Chc X Lý:

B.4.1 Danh sách các pha

Tên Mã Đồng bộ hóa Kiểu Giảng viên ra đề GIANG_VIEN_RA_DE Thủ công Xem xét duyệt đề XEM_XET_DUYET_DE Thủ công

Cập nhật dữ liệu CAP_NHAT_DU_LIEU và Tương tác giữa người và máy

Tiến trình làm bài thi

TIEN_TRINH_LAM_BAI _THI

Tương tác giữa người và máy

Xem điểm XEM_DIEM Tự động Báo cáo điểm sinh

viên

BAO_CAO_DIEM_SINH _VIEN

Tự động

Chuyển báo cáo CHUYEN_BAO_CAO Tương tác giữa người và máy

B.4.2 Danh sách các công việc

Tên Mã Danh sách các pha Kiểu -Giảng viên ra đề _GIANG_VIEN_RA_DE Giảng viên ra đề Thủ công -Chuyển cho phòng

giáo vụ

_CHUYEN_CHO_PHONG_ GIAO_VU

Giảng viên ra đề Thủ công -Xem xét đề _XEM_XET_DE Xem xét duyệt đề Thủ công -Cập nhật đề _CAP_NHAT_DE Cập nhật dữ liệu Thủ công -Cập nhật danh sách _CAP_NHAT_DANH_SAC Cập nhật dữ liệu Thủ công

Trần Thị Thanh Trúc – MSSV: 10460117 45 sinh viên H_SINH_VIEN

-Đăng nhập _DANG_NHAP Tiến trình làm bài thi Thủ công -Lảm bài thi _LAM_BAI_THI Tiến trình làm bài thi Thủ công -Xuất báo cáo điểm

cho sinh viên

_XUAT_BAO_CAO_DIEM _CHO_SINH_VIEN

Xem điểm Thủ công -Tổng hợp các bài

thi

_TONG_HOP_CAC_BAI_T HI

Báo cáo điểm sinh viên

Thủ công -Báo cáo tỉ lệ điểm _BAO_CAO_TI_LE_DIEM Báo cáo điểm sinh

viên

Thủ công -Báo cáo danh sách

điểm sinh viên

_BAO_CAO_DANH_SACH _DIEM_SINH_VIEN

Báo cáo điểm sinh viên

Thủ công -In báo cáo _IN_BAO_CAO Chuyển báo cáo Thủ công -Chuyển cho các bộ

phận khác

_CHUYEN_CHO_CAC_BO _PHAN_KHAC

Chuyển báo cáo Thủ công

C.Các tác vụ

C.1 Các tác v trong mô hình

C.1.1 Tác vụ Báo cáo điểm Sinh Viên

Tên Báo cáo điểm Sinh Viên

Mã BAO_CAO_DIEM_SINH_VIEN Lời bình luận

C.1.1.1 Danh sách các hành động của Tác vụ -Tổng hợp các bài thi

Tên Mã Danh sách các tác vụ -Tổng hợp các bài thi _TONG_HOP_CAC_BAI_THI Báo cáo điểm Sinh Viên -Báo cáo tỉ lệ điểm _BAO_CAO_TI_LE_DIEM Báo cáo điểm Sinh Viên -Báo cáo danh sách điểm

Sinh Viên

_BAO_CAO_DANH_SACH_DI EM_SINH_VIEN

Báo cáo điểm Sinh Viên

C.1.1.2 Danh sách các mô hình chứa Tác vụ Báo cáo điểm Sinh Viên

Tên Mã Mô Hình Ý Niệm Xử Lý_2 MO_HINH_Y_NIEM_XU_LY_2

C.1.1.3 Danh sách các truy cập đến dữ liệu

Tên Thêm Đọc Xóa Sửa

Môn học FALSE TRUE FALSE FALSE Sinh viên FALSE TRUE FALSE FALSE Thi FALSE TRUE FALSE FALSE

C.1.2 Tác vụ Chuyển các báo cáo

Tên Chuyển các báo cáo

Trần Thị Thanh Trúc – MSSV: 10460117 46 Lời bình luận

C.1.2.1 Danh sách các hành động của Tác vụ -In báo cáo

Tên Mã Danh sách các tác vụ -In báo cáo _IN_BAO_CAO Chuyển các báo cáo -Chuyển cho các bộ phận CHUYEN_CHO_CAC_BO_PHAN Chuyển các báo cáo

C.1.2.2 Danh sách các mô hình chứa Tác vụ Chuyển các báo cáo

Tên Mã Mô Hình Ý Niệm Xử Lý_2 MO_HINH_Y_NIEM_XU_LY_2

C.1.2.3 Danh sách các quy tắc phát hành

Tên Mã Bí danh Utilisé

Không có sinh viên rớt KHONG_CO_SINH_VIEN_ROT FALSE Có Sinh Viên rớt CO_SINH_VIEN_ROT FALSE

C.1.2.4 Quy tắc phát hành - Không có sinh viên rớt

Tên Không có sinh viên rớt

Mã KHONG_CO_SINH_VIEN_ROT Lời bình luận

C.1.2.5 Quy tắc phát hành - Có Sinh Viên rớt

Tên Có Sinh Viên rớt

Mã CO_SINH_VIEN_ROT Lời bình luận

C.1.2.6 Danh sách các truy cập đến dữ liệu

Tên Thêm Đọc Xóa Sửa

Thi FALSE TRUE FALSE FALSE

C.1.3 Tác vụ Cập nhật dữ liệu Tên Cập nhật dữ liệu Mã CAP_NHAT_DU_LIEU Lời bình luận C.1.3.1 Danh sách các hành động của Tác vụ -Cập nhật đề Tên Mã Danh sách các tác vụ -Cập nhật đề _CAP_NHAT_DE Cập nhật dữ liệu

Một phần của tài liệu Quản lý tổ chức thi trắc nghiệm trên máy tính (Trang 32)

Tải bản đầy đủ (PDF)

(162 trang)