Đề tài: Quản lý tổ chức thi trắc nghiệm trên máy tính về một số môn học trong kỳ thi cuối học phần các Khoa trường Đại Học Mở Thành Phố Hồ Chí Minh.. − Xây dựng một phần mềm tổ chức việc
Trang 1Trường Đại Học Mở Thành Phố Hồ Chí Minh
Khoa Công Nghệ Thông Tin
Thành Phố Hồ Chí Minh – Năm 2009
Trang 2Để có thể hoàn tất tốt bài khóa luận tốt nghiệp này em xin gửi lời cám ơn chân thành nhất đến các thầy cô khoa Công Nghệ Thông Tin trường Đại Học Mở Thành Phố Hồ Chí Minh đã truyền đạt và chỉ dạy tận tình những kiến thức vô cùng bổ ích cho chúng
em trong quá trình học tập tại trường cũng như tạo điều kiện cho em thực hiện đề tài này
Đặc biệt em xin gửi lời cám ơn sâu sắc đến cô Phan Mỹ Trinh là người đã hướng dẫn, chỉ dạy cho em những kiến thức, kinh nghiệm quý báu trong suốt quá trình làm khóa luận này
Em xin gởi lời cám ơn đến các bạn bè đã giúp đỡ tài liệu, học thuật trong suốt quá trình em làm đề tài này
Dù đã nỗ lực, cố gắng hết sức để có thể hoàn thành bài khóa luận tốt nghiệp này nhưng chắc chắn vẫn còn thiếu sót, giải thuật chưa thật hoàn hảo Em rất mong nhận được ý kiến đánh giá của quý thầy cô
Trang 3MỤC LỤC
PHầN I: PHÂN TÍCH HIỆN TRẠNG 1
I Mô tả bộ máy tổ chức: 1
1 Sơ đồ tổ chức 1
2 Chức năng của các bộ phận: 3
II Chức năng của bộ phận đảm nhận công tác quản lý: 4
III Nghiệp vụ tổ chức thi cuối học phần: 4
IV Danh sách các hồ sơ: 6
1 Các hồ sơ bao gồm: 6
2 Các mẫu hồ sơ: 6
V Bảng mô tả hồ sơ: 10
VI Bảng mô tả công việc: 10
VII Lưu đồ hồ sơ công việc & Tự điển dữ liệu: 11
PHầN II: TỔNG QUAN CÁC CÔNG CỤ SỬ DỤNG 21
I PowerAMC 12.1 21
1 Khái quát: 21
2 Phương pháp MERISE (Méthode pour Rassembler les Idées Sans Effort _ Phương pháp tập hợp các ý tưởng không cần cố gắng): 21
3 Giới thiệu sơ lược về Màn hình chính của PowerAMC: 22
II SQL SERVER 2000: 23
1 Khái quát: 23
2 Khái niệm về cơ sở dữ liệu: 23
3 Giới thiệu về các lệnh trong SQL Server 2000: 24
4 Thủ tục lưu trữ (Stored Procedure): 27
5 Hàm do người dùng định nghĩa (UDFs: User Defined Functions) 28
6 Trigger 29
III Microsoft Visual Studio 2005 (C#) 29
1 Khái quát: 29
2 .NET Framework: 30
3 Biên dịch và Ngôn ngữ trung gian: 31
4 Kết nối dữ liệu với ADO.NET: 31
PHầN III: PHÂN TÍCH VÀ THIẾT KẾ 33
I Phân tích mức ý niệm và mức logic(mức tổ chức): 33
ÍCÁC MÔ HÌNH XỬ LÝ A.Mô Hình Ý Niệm Dữ Liệu 36
B.Danh sách các đối tượng trong Mô Hình 42
C.Các tác vụ 45
D.Các pha: 49
ÍMÔ HÌNH Ý NIỆM DỮ LIỆU A.Mô Hình Ý Niệm Dữ Liệu 55
B.Danh sách các đối tượng trong mô hình 56
C.Thực thể Error! Bookmark not defined
Trang 4Trần Thị Thanh Trúc – MSSV: 10460117
A.Mô Hình Vật Lý Dữ Liệu 77
B.Danh sách các đối tượng trong mô hình 78
C.Bảng 83
D.Quan hệ 134
Error! No table of contents entries found
Trang 5Đề tài: Quản lý tổ chức thi trắc nghiệm trên máy tính về một số môn học trong kỳ thi cuối học phần các Khoa trường Đại Học Mở Thành Phố Hồ Chí Minh
Phần I: PHÂN TÍCH HIỆN TRẠNG
Trường Đại Học Mở Thành Phố Hồ Chí Minh là cơ sở đào tạo Sau Đại Học,
Đại Học, Cao Đẳng và Trung Học chuyên nghiệp, có các phương thức đào tạo chính quy, đào tạo không chính quy, đào tạo từ xa, đào tạo tập trung….nhằm đáp ứng nhu cầu học tập ngày càng đa dạng của xã hội
Trường hiện chia thành nhiều khoa để đào tạo như : Khoa Kinh Tế, Khoa Quản
Trị Kinh Doanh, Khoa Ngoại Ngữ, Khoa Công Nghệ Thông Tin, Khoa Đông Nam Á học…
Mỗi khoa có nhiều môn học, mỗi môn học lại có một hình thức thi, có môn thi
thực hành, có môn thi lý thuyết, có môn thi cả lý thuyết lẫn thực hành Trong thi lý thuyết lại chia thành 2 dạng: thi tự luận hoặc thi trắc nghiệm
I Mô tả bộ máy tổ chức:
1 Sơ đồ tổ chức:
Trang 6MÔN HỌC LỚP HỌC SINH VIÊN
Trung Tâm QUẢN LÝ
HỆ THỐNG THÔNG
TIN
BAN THANH TRA Phòng KẾ TOÁN
Trang 72 Chức năng của các bộ phận:
Ä Ban giám hiệu trường:
− Quản lý chung các hoạt động của nhà trường…
Ä Phòng Quản Lý & Đào Tạo:
− Quản lý việc đăng ký môn học, bổ sung, điều chỉnh lớp học, môn học
− Xin gia hạn đóng học phí, bảo lưu kết quả học tập
− Chuyển trường, chuyển ngành, chuyển điểm……
Ä Trung tâm quản lý hệ thống thông tin:
− Cập nhật điểm thi, lịch thi, thời khóa biểu,hoc phí… lên trang web trường để sinh viên tra cứu
− Tổ chức sinh viên Đăng ký môn học trực tuyến vào đầu mỗi học kỳ…
Ä Ban thanh tra:
− Thực hiện nhiệm vụ tiếp công dân, giải quyết các khiếu nại
− Nhận giấy đề nghị xem lại bài thi cho Sinh Viên Đại Học, Cao Đẳng, Trung Học chính quy
− Phản ánh những vấn đề sinh viên cảm thấy bức xúc trong học tập……
Ä Phòng Kế Toán:
− Hoàn học phí
− Xác nhận đã đóng học phí
− Đăng ký cấp bảng điểm, cấp lại thẻ sinh viên…
Ä Trung tâm khảo thí:
− Tổ chức thi kết thúc học phần, thi lại, thi cải thiện điểm
− Quản lý tất cả các điểm thi
− Kết hợp với Ban Thanh Tra tổ chức cho sinh viên xem lại bài thi, chấm lại bài thi khi có yêu cầu………
Trang 8Trần Thị Thanh Trúc – MSSV: 10460117 4
− Quản lý câu hỏi
− Quản lý đề thi
− Quản lý giảng viên giảng dạy môn học
− Quản lý danh sách sinh viên tham gia thi
− Tổ chức cho sinh viên thi trắc nghiệm trên máy tính
− Quản lý điểm thi sinh viên
− Lập các báo cáo về kết quả thi
− Lập các báo cáo về tình hình chung của các môn học trong học kỳ
III Nghiệp vụ tổ chức thi cuối học phần:
− Vào đầu mỗi học kỳ, Trung Tâm Quản Lý Hệ Thống Thông Tin tổ chức cho
sinh viên có thể chọn đăng ký các môn học trong học kỳ Sau khi việc đăng ký hoàn tất, sinh viên phải tự in phiếu nộp tiền để có thể đóng học phí cho học kỳ đó Môn học nào được sinh viên đóng đầy đủ học phí thì mới có tên trong danh sách để tham gia thi kết thúc học phần
− Vào cuối học kỳ, Trung Tâm Khảo Thí tổ chức thi kết thúc học phần cho các
sinh viên Giáo vụ khoa kết hợp với Phòng Quản Lý Đào Tạo đưa ra danh sách sinh viên có thể tham gia thi (tức là đã đóng đầy đủ học phí cho môn thi) và gởi danh sách cho Trung Tâm Khảo Thí
− Đề thi do giảng viên ra, nộp cho khoa, trưởng (hay phó khoa) xem xét và
duyệt rồi chuyển giao cho Trung Tâm Khảo Thí Trung Tâm Khảo Thí tiến hành nhập danh sách sinh viên và đề thi vào máy để quản lý việc thi trắc nghiệm trên máy
− Nhiều lớp có thể thi chung một đề hoặc một lớp có thể có nhiều đề khác
nhau
− Đề thi trắc nghiệm trên máy chỉ có hai dạng:
• Dạng 1: Chọn 1 lựa chọn đúng nhất (trong số các lựa chọn)
• Dạng 2: Chọn nhiều lựa chọn đúng
− Nguyên tắc tạo đề thi:
Trang 9phân bổ một cách tương đối theo từng chương
• Có 2 trường hợp tạo đề thi trắc nghiệm trên máy tính:
o Tạo từ ngân hàng câu hỏi
o Do giảng viên soạn và quy định cụ thể cho mỗi lần thi: lần thi ngày nào sẽ thi những đề nào
Nguyên tắc chấm điểm:
• Thông thường các câu trong một bài thi trắc nghiệm có điểm bằng nhau và bằng với tổng điểm chia cho tổng số câu trong bài đó Hoặc điểm của từng câu hỏi do chính giảng viên chỉ định
• Đối với dạng đề thi trắc nghiệm nào (dạng 1 lựa chọn hay dạng nhiều lựa chọn) đều chấm theo nguyên tắc:
o Chọn đúng đáp án: cho trọn điểm
o Chọn bất kỳ một đáp án sai nào: không cho điểm
Ví dụ câu hỏi: Muốn sao chép một file ta dùng cách nào sau đây:
c/ Ctrl + C d/ Ctrl + A Đáp án đúng là (a) & (c) Nhưng nếu thí sinh chỉ chọn (a) hoặc chọn (a) & (d)… Thì vẫn tính câu này là sai và không cho điểm
− Về thời gian làm bài: Mỗi đề thi có một thời gian làm bài nhất định và thời gian này do giảng viên (người ra đề) quyết định
Quy trình làm bài thi trắc nghiệm trên máy:
• Khi thí sinh ngồi vào máy làm bài, thí sinh cần nhập Mã số sinh viên
Trang 10Trần Thị Thanh Trúc – MSSV: 10460117 6
thúc) thì bài làm sẽ bị khóa và thí sinh không thể chỉnh sửa bất kỳ câu trả lời nào nữa
• Nếu thí sinh muốn xem kết quả thì ấn nút lệnh Xem Kết Quả, máy tính
sẽ hiển thị Tên, MSSV, , điểm và thí sinh sẽ biết được ngay mình đậu hay rớt
− Sau khi sinh viên thi xong, máy tính sẽ tổng hợp điểm và TT Khảo Thí sẽ giao điểm cho Trung Tâm Quản Lý Hệ Thống Thông Tin cập nhật lên trang web của trường
khoa cũng tiến hành tổng hợp các sinh viên đậu, rớt để có thể lên danh sách cho đợt thi lần 2
− Trong trường hợp sinh viên muốn xem lại bài thi thì liên hệ với Trung Tâm Khảo Thí để được hướng dẫn các bước thực hiện
− Nếu thi không đạt (dưới 5 điểm), sinh viên có cơ hội thi lại một lần nữa, nếu vẫn chưa qua được, sinh viên phải tiến hành đăng ký học lại ở các học kỳ sau
IV Danh sách các hồ sơ:
1 Các hồ sơ bao gồm:
− Đề thi do giáo viên gởi lên khoa
− Danh sách sinh viên đủ tiêu chuẩn thi
− Đề thi cho sinh viên thi
− Phiếu báo kết quả thi của một sinh viên
− Báo cáo về tỉ lệ đạt/trượt sinh viên sau khi thi
− Báo cáo về tỉ lệ điểm thi của sinh viên
Thời gian:………
Trang 11Thời gian:………
Chọn câu trả lời đúng nhất (hoặc: Chọn các câu trả lời đúng)
Câu 1: Ngôn ngữ nào sau đây được nói nhiều nhất trên thế giới:
Trang 12Trần Thị Thanh Trúc – MSSV: 10460117 8
PHIẾU BÁO KẾT QUẢ THI TÊN HỌC KỲ Môn:… Mã MH:… Mã Nhóm:… Lần thi:… Mã đề thi:… Phòng thi:… Số máy:… Họ và tên:………
MSSV:………
Lớp:………
Khoa:………
Số câu trả lời đúng:……
Số câu trả lời sai:………
Tổng điểm:………
Điểm làm tròn Báo cáo về tỉ lệ điểm thi của sinh viên: Trường Đại học Mở TP HCM Khoa:… TỈ LỆ VỀ ĐIỂM SỐ Môn:… Mã MH: Mã Nhóm: Học Kỳ:… Lần Thi:… Tổng số sinh viên dự thi:…………
Điểm 0: …sinh viên, chiếm …………% trên tổng số
Điểm 1: …sinh viên, chiếm …………% trên tổng số
Điểm 2: …sinh viên, chiếm …………% trên tổng số
Trang 13Điểm 4: …sinh viên, chiếm …………% trên tổng số
Điểm 5: …sinh viên, chiếm …………% trên tổng số
Điểm 6: …sinh viên, chiếm …………% trên tổng số
Điểm 7: …sinh viên, chiếm …………% trên tổng số
Điểm 8: …sinh viên, chiếm …………% trên tổng số
Điểm 9: …sinh viên, chiếm …………% trên tổng số
Điểm 10: …sinh viên, chiếm …………% trên tổng số
0 20 40 60 80 100
1st Qtr 2nd Qtr 3rd Qtr4th Qtr
East West North
Báo cáo về tỉ lệ đạt/trượt của sinh viên sau khi thi:
Trường Đại học Mở TP HCM Khoa:…
TỈ LỆ SINH VIÊN ĐẠT/TRƯỢT
Tổng số sinh viên dự thi:…………
Tổng số sinh viên đậu (từ 5 trở lên):………… chiếm …………% trên tổng số
Tổng số sinh viên rớt (dưới 5):……… chiếm …………% trên tổng số
0 20 40 60 80 100
1st Qtr 2nd Qtr 3rd Qtr 4th Qtr
East West North
Trang 14đáp án và được chia rõ các câu hỏi theo chương
CV1, CV2, CV3
HS4
Phiếu báo kết quả: Báo cáo về kết quả môn thi trắc nghiệm,
bao gồm Họ Tên, MSSV, …, điểm tổng kết của từng sinh
viên (máy tính xuất ra)
CV5,CV6
VI Bảng mô tả công việc:
1-2lần /HKỳ HS1(đã
duyệt), HS2
làm)
viên
Trung Tâm Khảo Thí
Trang 15VII Lưu đồ hồ sơ công việc & Tự điển dữ liệu:
Trang 16HS2: Danh sách SV đủ điều kiện dự thi
HS1: Đề thi
do GV gởi (đã duyệt)
CV3: Nhập đề và danh sách
SV tham gia thi vào máy tính
LƯU ĐỒ HỒ SƠ CÔNG VIỆC
Sự kiện Giảng Viên Phòng Giáo Vụ Trung Tâm Khảo Thí Sinh Viên Máy Tính / Bộ Phận Khác
Tổ chức
thi
Trang 17Trần Thị Thanh Trúc – MSSV: 10460117 13
HS3: Đề thi cho sinh viên thi
CV4: Thi
HS3: Đề thi cho sinh viên thi (đã làm)
CV5: Báo điểm cho sinh viên
HS4: Phiếu báo kết quả
Thi và
báo điểm
cho sinh
viên
Trang 18Trần Thị Thanh Trúc – MSSV: 10460117 14
CV6: Tổng hợp các bài thi của môn thi
HS5: Phiếu báo cáo tổng hợp
HS5: Phiếu báo cáo tổng hợp
HS4: Phiếu báo kết quả
HS5: Phiếu báo cáo tổng hợp
Trang 19NGAY_SINHSV Ngày sinhSV Ngày Ngày, tháng,
năm Sơ cấp GIOI_TINHSV Giới tính sinh viên Logic Sơ cấp 1–Nữ ; 0 – Nam
DIA_CHISV Địa chỉ sinh viên Chuỗi 100 Sơ cấp Số nhà, đường, phường,
quận, tỉnh TP
SDTSV Số điện thoại sinh
EMAILSV E-mail sinh vien Chuỗi 100 Sơ cấp
MSGV Mã số giảng viên Chuỗi 8 Sơ cấp Thuộc tính nhận dạng giảng
viên TEN_GIANG_VIEN Tên giảng viên Chuỗi 50 Sơ cấp
NGAY_SINHGV Ngày sinh giảng
viên Ngày
Ngày, tháng, năm Sơ cấp GIOI_TINHGV Giới tính giảng Logic Sơ cấp 1–Nữ ; 0 – Nam
Trang 20Trần Thị Thanh Trúc – MSSV: 10460117 16
DIA_CHIGV Địa chỉ giảng viên Chuỗi 100 Sơ cấp Số nhà, đường, phường,
quận, tỉnh TP
SDTGV Số điện thoại giảng
EMAILGV E-mail giảng vien Chuỗi 100 Sơ cấp
MA_MON_HOC Mã môn học Chuỗi 6 Sơ cấp Thuộc tính nhận dạng môn
học TEN_MON_HOC Tên môn học Chuỗi 50 Sơ cấp
MA_KHOA Mã khoa Chuỗi 2 Sơ cấp Thuộc tính nhận dạng khoa TEN_KHOA Ten Khoa Chuỗi 50 Sơ cấp
MA_LOP Mã lớp Chuỗi 6 Sơ cấp Thuộc tính nhận dạng lớp
Trang 21Trần Thị Thanh Trúc – MSSV: 10460117 17
MA_HK Mã học kỳ Chuỗi 5 Sơ cấp Thuộc tính nhận dạng học
kỳ TEN_HOC_KY Tên học kỳ Chuỗi 50 Sơ cấp
MA_CAU_HOI Mã câu hỏi Chuỗi 10 Sơ cấp Thuộc tính nhận dạng câu
hỏi
SO_THU_TU_CAU_HOI Số thứ tự câu hỏi Số
nguyên 3 Sơ cấp
Tăng dần và là duy nhất trong 1 đề thi
NOI_DUNG_CAU_HOI Nội dung câu hỏi Chuỗi 1000 Sơ cấp
THOI_GIAN_LAM_CAU_HOI Thời gian làm câu
ĐiemCH = 0: điểm mỗi câu
= Tổng điểm / số câu hỏi của đề thi
ĐiemCH <>0: điểm mỗi câu chính là số <>0 đó
MA_LUA_CHON Mã lựa chọn Chuỗi 3 Sơ cấp Thuộc tính nhận dạng lựa
chọn NOI_DUNG_LUA_CHON Nội dung lựa chọn Chuỗi 500 Sơ cấp
DAP_AN Đáp án Logic Sơ cấp 1–Đáp án đúng
0–Không phải đáp án
Trang 22Trần Thị Thanh Trúc – MSSV: 10460117 18
TEN_DE_THI Tên đề thi Chuỗi 50 Sơ cấp
THOI_GIAN_LAM_BAI Thời gian làm bài Số
MA_CHUONG Mã chương của
môn học Chuỗi 10 Sơ cấp
Thuộc tính nhận dạng chương
TEN_CHUONG Tên chương của
môn học Chuỗi 100 Sơ cấp MO_TA_CHUONG Mô tả chương Chuỗi 500 Sơ cấp
NGAY_THI Ngày thi Ngày Ngày, tháng,
Trang 24Trần Thị Thanh Trúc – MSSV: 10460117 20
¼Xác định yêu cầu tin học hóa:
− Với nhịp sống vội vã hiện nay thì nhu cầu tin học hóa ngày càng được áp dụng
nhiều trong các lĩnh vực để có thể tiết kiệm thời gian và tiền bạc Theo như những
phân tích trên, ta có thể tiến hành đưa việc tin học hóa vào nhiều khâu như: giúp đỡ
giảng viên tạo đề từ thư viện câu hỏi soạn sẵn hay tổ chức cho sinh viên thi trắc
nghiệm trên máy tính…., từ đó đưa ra kết quả điểm cho sinh viên ngay sau khi thi
xong Mặt khác cũng giúp cho Phòng Quản Lý & Đào Tạo tổng hợp danh sách sinh
viên đậu/rớt môn thi đó một cách nhanh chóng
− Xây dựng một phần mềm tổ chức việc thi trắc nghiệm trên máy tính gồm các
nội dung sau:
Ó Xây dựng bộ đề thi từ đề thi giảng viên đưa ra, lưu trữ các câu hỏi để tạo
một ngân hàng câu hỏi
Ó Tiến hành cho sinh viên làm bài thi trắc nghiệm trên máy
Ó Chấm điểm bài thi sau khi sinh viên kết thúc làm bài
Ó Có thể tra cứu danh sách sinh viên dự thi, bài thi của sinh viên, đề thi…
Ó Tạo một số báo cáo chi tiết, báo cáo tổng hợp điểm sinh viên tham gia
thi
Trang 25Phần II: TỔNG QUAN CÁC CÔNG CỤ SỬ DỤNG
− Phân tích và thiết kế: Dùng chương trình PowerAMC 12.1
− Môi trường: Chương trình được thực hiện trên môi trường Windows
− Ngôn ngữ:
I PowerAMC 12.1
1 Khái quát:
− PowerAMC là công cụ đồ họa thiết kế ý niệm hệ thống thông tin trong môi
trường Windows cho phép phác thảo các mô hình, dựa vào phương pháp luận
MERISE có khả năng tạo CSDL
− PowerAMC giúp người thiết kế phát thảo các mô hình mà thực tế yêu cầu
Trang 26Mô hình
Biểu tượng
Hồ sơ
Tham chiếu
Công cụ
Cửa sổ
Trợ giúp
Không gian vẽ
Trang 27II SQL SERVER 2000:
1 Khái quát:
− SQL Server 2000 là một hệ quản trị cơ sở dữ liệu quan hệ (RDBMS: Relational Database Managerment System) mạng máy tính hoạt động theo mô hình khách chủ
cho phép đồng thời cùng lúc có nhiều người dùng truy xuất đến dữ liệu, quản lý việc
truy nhập hợp lệ và các quyền hạn của từng người dùng trên mạng
− Ưu điểm:
• Giảm chi phí: Với mô hình Client-Server, các công ty có thể sử dụng các máy chủ là máy tính cá nhân, thay vì phải sử dụng máy tính lớn Các phần mềm sẽ không quá đắt tiền khi chạy trên máy tính cá nhân vì đã có khá nhiều công ty phát triển phần mềm hệ thống cho máy tính cá nhân
• Tốc độ nhanh: việc phân chia các xử lý ra làm 2 phần (máy Client
và Server) sẽ làm giảm bớt việc tắt nghẽn thông tin trong hệ thống mạng máy tính Các xử lý phức tạp tác động nhiều lên cơ sở dữ liệu sẽ được lưu trữ ngay trên máy chủ, các xử lý đơn giản sẽ được thực hiện ngay trong ứng dụng bên máy khách Khi đó sẽ làm cho hệ thống ứng dụng vận hành với hiệu quả cao hơn
• SQL Server 2000 được tối ưu có thể chạy trên môi trường cơ sở
dữ liệu rất lớn (lên đến Tera-Byte)
• Tính tương thích cao: Với mô hình Client-Server, việc chọn lựa các phần mềm để phát triển ứng dụng có thể hoàn toàn độc lập từ ngôn ngữ lập trình
− Khuyết điểm:
• Là phần mềm thương mại, có tính phí
2 Khái niệm về cơ sở dữ liệu:
− Một CSDL của SQL Server là tập hợp dùng để chứa các đối tượng: Bảng dữ liệu (Table), Khung nhìn (View), thủ tục (Stored Procedure)….cho phép người sử dụng lưu trữ và khai thác các thông tin dữ liệu được tổ chức và lưu trữ bên trong đó
− Một CSDL chỉ cho một người dùng tạo ra, tuy nhiên trong CSDL này được phép
có nhiều người truy cập, sử dụng…
− Các kiểu dữ liệu dùng trong SQL Server 2000:
Trang 28Trần Thị Thanh Trúc – MSSV: 10460117 24
Char Nchar Text
Decimal Nvarchar Varbinary
Float Real Varchar
SELECT Đây là lệnh thường dùng nhất, nó được dùng để lấy dữ liệu từ CSDL
Các lệnh này còn được gọi là các lệnh của ngôn ngữ thao tác dữ liệu
(DML: Data Manipulation Language)
Ä Các lệnh của ngôn ngữ định nghĩa dữ liệu (DDL: Data Definition
• DEFAULT: quy định giá trị mặc định cho một cột, giá trị này sẽ
tự động gán cho cột khi người dùng thêm mới một bảng ghi mà không chỉ định giá trị cho cột
Trang 29• PRIMARY KEY: định nghĩa khóa chính của bảng, đảm bảo
không có giá trị trùng lặp giữa các trường dữ liệu
• UNIQUE: Thay vì sử dụng khóa chính, có thể sử dụng ràng buộc
UNIQUE để đảm bảo tính toàn vẹn thực thể
• FOREIGN KEY: Khóa ngoại, cho phép kiểm tra tính tồn tại của
dữ liệu, dữ liệu này bắt buộc phải có bên một bảng khác (còn gọi
là bảng tham chiếu), điều này ngăn cản người dùng nhập một giá trị dữ liệu không có trong một bảng dữ liệu khác
• CHECK: cho phép kiểm tra miền giá trị của các cột dữ liệu trong
bảng Điều này ngăn cản việc người dùng nhập một giá trị dữ liệu vượt khỏi phạm vi mà chúng ta định trước đó
− Ví dụ:
TEN_LOP và bảng SINH_VIEN với 5 cột MSSV,TENSV, NGAY_SINH,
NGAY_SINH DATETIME NOT NULL
CONSTRAINT Check_nam_sinh CHECK(YEAR(NGAY_SINH) BETWEEN
1945 AND 1991),
MA_LOP VARCHAR(6) FOREIGN
KEY(MA_LOP) REFERENCES LOP(MA_LOP) )
(hay bớt) một cột, ví dụ như thêm cột DIA_CHI vào bảng SINH_VIEN
USE QLY TO CHUC THI TRAC NGHIEM TREN MAY TINH ALTER TABLE SINH_VIEN
ADD GIOI_TINH BIT NOT NULL
hết cả định nghĩa bảng và dữ liệu trong bảng
USE QLY TO CHUC THI TRAC NGHIEM TREN MAY TINH DROP TABLE SINH_VIEN
Ä Các lệnh của ngôn ngữ điều khiển dữ liệu (DCL: Data Control
Language):
Trang 30Trần Thị Thanh Trúc – MSSV: 10460117 26
REVOKE
DENY
− Ví dụ:
SELECT đối với bảng SINH_VIEN
USE QLY TO CHUC THI TRAC NGHIEM TREN MAY TINH GRANT SELECT
ON SINH_VIEN
TO PUBLIC
Role SELECT đối với bảng SINH_VIEN
USE QLY TO CHUC THI TRAC NGHIEM TREN MAY TINH DENY SELECT
ON SINH_VIEN
TO PUBLIC
hay từ chối trước đó
USE QLY TO CHUC THI TRAC NGHIEM TREN MAY TINH REVOKE SELECT
ON SINH_VIEN
TO PUBLIC
Ä Các lệnh của ngôn ngữ thao tác dữ liệu (DML: Data Manipulation
Language):
SELECT [ALL / DISTINCT] danh_sách_chọn
FROM tên_bảng [, tên_bảng….]
[WHERE mệnh_đề]
[GROUP BY mệnh_đề]
[HAVING BY mệnh_đề]
[ORDER BY mệnh_đề]
− Trong mệnh đề WHERE thường sử dụng:
• Các toán tử so sánh (VD: >, <, >=(lớn hơn hoặc bằng),
<>(khác)… )
− Ví dụ: Lấy những sinh viên là nữ mà trong tên của sinh viên đó có chứa chữ
‘T’
SELECT MSSV, TENSV FROM SINH_VIEN SV WHERE GIOI_TINH = 1 AND TENSV LIKE ‘%’ + ‘T’ + ‘%’
INSERT INTO tên_bảng_cần_thêm_DL
VALUES (giá_trị_1, giá_trị_2,… )
− Ví dụ: Chèn một dòng dữ liệu vào bảng SINH_VIEN
INSERT INTO SINH_VIEN
Trang 311)
UPDATE tên_bảng_cần_ sửa_DL
SET tên_cột = biểu thức [,tên_cột = biểu thức ….]
WHERE điều_kiện
− Ví dụ: Sửa một dòng dữ liệu trong bảng SINH_VIEN
UPDATE SINH_VIEN SET DIA_CHI = ‘Bà Rịa Vũng Tàu’
4 Thủ tục lưu trữ (Stored Procedure):
− Stored Procedure 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ữ Transact_SQL
− Stored Procedure có thể có các khả năng sau:
• Nhận tham số đầu vào, thực thi các câu lệnh và trả về các giá trị
• Bên trong mỗi Stored Procedure có thể chứa các câu lệnh nhằm thực hiện thao tác trên CSDL (kể cả việc gọi đến các Stored Procedure)
• 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, có thể gọi thực hiện các Stored Procedure một cách dễ dàng (ví dụ: trong C#)
− Ưu điểm khi sử dụng Stored Procedure:
• Stored Procedure được phân tích tối ưu và biên dịch khi tạo ra nên việc thực thi chúng nhanh hơn nhiều so với việc sử dụng một tập các câu lệnh SQL theo cách thông thường
• Stored Procedure cho phép thực hiện cùng một yêu cầu bằng một câu lệnh đơn giản thay vì phải sử dụng nhiều dòng lệnh SQL
Điều này làm giảm thiểu sự lưu thông trên mạng
− Thay vì cấp phát quyền trực tiếp cho người sử dụng trên các câu lệnh SQL, ta có thể cấp phát quyền cho người sử dụng thông qua các thủ tục lưu trữ, nhờ đó tăng khả năng bảo mật đối với hệ thống
Trang 32Trần Thị Thanh Trúc – MSSV: 10460117 28
Trong đó:
• biến_cục_bộ được sử dụng tính toán tạm thời bên trong Stored
Procedure, biến này chỉ có phạm vi cục bộ bên trong Stored Procedure
• Các_lệnh: dùng để xử lý tính toán theo một yêu cầu nào đó
− Ví dụ: lấy thông tin của sinh viên có một MSSV nào đó (tùy nhập)
CREATE PROCEDURE DS_SV
@MSSV VARCHAR(8)
AS SELECT * FROM SINH_VIEN WHERE MSSV = @MSSV
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
Trong đó: kiểu_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 )
END
Trang 33− Trigger là 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
AS
IF NOT EXISTS ( SELECT * FROM INSERTED
WHERE YEAR(GETDATE()) – NGAY_SINH >=
18) BEGIN
− 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
Trang 34• 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
Trang 35• Common Language Runtime_CLR: nền tảng hướng đối tượng cho 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
được nhận về từ CSDL và được lưu trên cache của máy người dùng Người dùng có
Trang 36Trầ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
SqlDataAdapter dataAdapter = new SqlDataAdapter ();
DataSet dataset = new DataSet ();
dataAdapter.SelectCommand = sqlCommand;
dataAdapter.Fill(dataset, "SV"); //đẩy Dữ liệu vào dataset
Trang 37Phầ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):
Trang 38
CÁC MÔ HÌNH XỬ LÝ
Mô Hình: MHXuLy_Quan Ly To Chuc Thi Trac
Nghiem Tren May Tinh
Trang 39A Các Mô Hình Xử Lý
A.1 Các mô hình con chứa trong Mô hình:
A.1.1 Mô Hình Ý Niệm Truyền Thông:
Trang 40Trần Thị Thanh Trúc – MSSV: 10460117 37
A.1.2 Mô Hình Ý Niệm Xử Lý: