Thông báokếtquảhọctậpcủahọcsinhquađiệnthoại GVHD : Nguyễn Đức Thuần THIẾTKẾVÀTRUYXUẤTCƠSỞDỮLIỆU I Sơ lược về cơsởdữliệu : Một số đặc điểm củacơsởdữliệu dùng trong chương trình này : - Mô hình cơsởdữliệu được chọn là mô hình cơsởdữliệu quan hệ - Được cài đặt trong hệ quản trị cơsởdữliệu Microsoft Access 97. - Phông chữ được sử dụng trong cơsởdữliệu này thuộc bảng mã VNI Windows (2 byte). Mặc dù bảng mã này sử dụng 2 byte để mã hóa một ký tự tiếng Việt , nhưng toàn bộ các ký tự hoa và ký tự thường đều cùng nằm trong một phông chữ. Còn bảng mã TCVN3 (ABC) chỉ sử dụng 1 byte cho mỗi ký tự tiếng Việt nhưng lại phân ra thành 2 phông khác nhau : một phông cho chữ hoa và một phông cho chữ thường. Điều này sẽ gây khó khăn cho cả việc thiếtkếvà việc nhập dữliệu từ người dùng. Bảng mã Unicode cũng sử dụng 2 byte cho mỗi ký tự tiếng Việt nhưng giá trị chênh lệch mã ASCII giữa ký tự hoa và ký tự thường không đồng đều. Còn bảng mã VNI thì giá trị chênh lệch này luôn là 20h. Ví dụ : chữ “A” có mã ASCII là 41h, chữ “a” có mã ASCII là 61h ; chữ “B” có mã ASCII là 42h, chữ “b” có mã ASCII là 62h . Sự chênh lệch đồng đều này sẽ thuận lợi cho việc chuyển đổi giữa chữ hoa và chữ thường. SVTH : Bùi Danh Đạt Trang 1 Thông báokếtquảhọctậpcủahọcsinhquađiệnthoại GVHD : Nguyễn Đức Thuần I. Mô hình quan niệm dữliệu : SVTH : Bùi Danh Đạt Trang 2 Thôngbáokếtquảhọctậpcủahọcsinhquađiệnthoại GVHD : Nguyễn Đức Thuần II SVTH : Bùi Danh Đạt Trang 3 Thôngbáokếtquảhọctậpcủahọcsinhquađiệnthoại GVHD : Nguyễn Đức Thuần - T e ân H K y ø H O ÏC K Y Ø - - H o ï H S - T e ân H S - N g a øy s i n h - G i ô ùi t í n h M a õ H S H O ÏC S I N H - - T e ân N H M a õ N H N A ÊM H O ÏC - - T e ân N S M a õ N S N Ô I S I N H - - T e ân l ô ùp M a õ l ô ùp L Ô ÙP - - - M a õ H S M a õ l ô ùp M a õ N H H S - L Ô ÙP - T e ân k h o ái K H O ÁI - - - - - Ñ i e åm t h i M a õ H S M a õ M H M a õ N H H K T h i T H I - - - - - - - Ñ i e åm K T M a õ H S M a õ M H M a õ L K T M a õ N H T h a ùn g K T L a àn K T K I E ÅM T R A - - T e ân L K T M a õ L K T L O A ÏI K T - - T e ân M H M a õ M H M O ÂN H O ÏC - - M a õ M H T e ân k h o ái M H - K H O ÁI - - T e ân L D M a õ L D L Y Ù D O - - - - Ñ T B t h a ùn g - H a ïn g t h a ùn g M a õ H S T e ân T h a ùn g M a õ N H - M a õ H K - M a õ H L K Q T H A ÙN G - - - Ñ T B H K y ø - H a ïn g H K y ø M a õ H S T e ân H K y ø - - M a õ H K - M a õ H L M a õ N H K Q H O ÏC K Y Ø - - - Ñ T B N H - H a ïn g N H ø M a õ H S M a õ N H - M a õ H K - M a õ H L K Q N A ÊM H O ÏC - T e ân t h a ùn g T H A ÙN G - - T e ân H K M a õ H K H A ÏN H K I E ÅM - - T e ân H L M a õ H L H O ÏC L Ö ÏC 1 1 1 1 1 n n n n n n n n n n 1 n n 1 1 1 n n 1 1 1 1 1 1 n 1 1 1 1 n n n n 1 1 n n 1 1 1 1 n n n n n n nn 1 1 1 1 1 - - - S o á n g a øy n g h æ - G i a áy p h e ùp M a õ H S N g a øy N H N G H Æ H O ÏC n - - - M a õ H S N g a øy V P L a àn V P V I P H A ÏM - - T e ân l o ãi M a õ l o ãi L O ÃI n 1 1 n SVTH : Bùi Danh Đạt Trang 4 Thông báokếtquảhọctậpcủahọcsinhquađiệnthoại GVHD : Nguyễn Đức Thuần Hoạt động truyxuấtcơsởdữliệu : Đối tượng truyxuấtdữliệu được sử dụng trong chương trình này là Microsoft DAO 3.6. Khi hệ thống bắt đầu hoạt động, cơsởdữliệu sẽ được mở bằng phương thức OpenDatabase() để sẵn sàng phục vụ cho các hoạt động truyxuấtdữ liệu. Và khi hệ thống ngừng hoạt động, cơsởdữliệu cũng sẽ được đóng lại bằng phương thức Close. Mỗi khi có người gọi tới muốn nghe một kếtquả nào đó thì hệ thống sẽ yêu cầu người gọi cung cấp một sốthôngsố cần thiết như : mã sốhọc sinh, tên tháng hoặc tên học kỳ muốn biết, vv Từ những thôngsố này, hệ thống sẽ tạo ra một câu truy vấn SQL để tìm kếtquả trong cơsởdữliệuvà lấy về thôngqua phương thức OpenRecordset(). Nếu không tìm thấy kếtquả nào, thuộc tính EOF của biến đối tượng Recordset sẽ mang giá trị TRUE và ngược lại sẽ mang giá trị FALSE. Vì mỗi lần truy vấn, hệ thống chỉ truy vấn trên một họcsinhvà được giới hạn bởi một tháng hoặc một học kỳ nào đó nên tốc độ truy vấn khá nhanh, người gọi có thể nhận được kếtquả ngay mà không phải chờ lâu. Ngoài ra, vì cơsởdữliệu được cài đặt bằng Access nên được hỗ trợ cơ chế cập nhật dữliệu động, hệ thốngcó thể hoạt động liên tục kể cả lúc dữliệu đang được cập nhật vào. IIIChương trình cập nhật dữliệu : Nhằm tạo điều kiện thuận lợi cho người quản trị hệ thống, ngoài chương trình chính là thôngbáokếtquả còn có thêm một chương trình phụ kèm theo để cập nhật dữliệu vào cơsởdữ liệu. Người dùng có thể mở chương trình này thôngqua menu của chương trình chính, kể cả lúc hệ thống đang hoạt động. Các phần cập nhật dữliệu trong chương trình này đều sử dụng đối tượng truy cập dữliệu Microsoft DAO 3.6 . Mọi thao tác với cơsởdữliệu đều thôngqua các phương thức có sẵn của DAO , đồng thời kết hợp với các câu lệnh SQL. Trước khi thực hiện cập nhật dữ liệu, người sử dụng cần phải chọn năm họcvà lớp ở năm học đó. Mọi thao tác cập nhật sẽ ảnh hưởng tới một trong các họcsinh thuộc lớp đó. Chương trình cập nhật dữliệu tổ chức dạng menu gồm 8 phần : SVTH : Bùi Danh Đạt Trang 5 Thông báokếtquảhọctậpcủahọcsinhquađiệnthoại GVHD : Nguyễn Đức Thuần 1. Họcsinh : - Dùng để cập nhật các thông tin chi tiết về họcsinh - Khi thêm một họcsinh mới vào lớp được chọn, chương trình sẽ tự sinh ra một mã số cho họcsinh đó. Mã số này được đánh theo số thứ tự tăng dần. Vì vậy, chương trình sẽ lấy mã sốcủahọcsinh cuối cùng trong bảng HOCSINH rồi tăng lên một đơn vị để làm mã số cho họcsinh mới sắp sửa thêm vào. Mã số này sẽ luôn được chương trình quản lý, người dùng không thể tự ý thay đổi. - Ở phần ngày sinh, để người sử dụng không phải lúng túng trong việc gõ ngày tháng theo kiểu của Mỹ (tháng/ngày/năm) , em đã viết thêm một hàm chuyển từ kiểu ngày/tháng/năm sang kiểu tháng/ngày/năm để lưu vào cơsởdữ liệu. Nhờ đó, người dùng có thể gõ vào ngày sinh bình thường theo kiểu Việt Nam. Song song đó, em cũng phải viết thêm hàm chuyển ngược lại từ tháng/ngày/năm sang ngày/tháng/năm nhằm hiển thị ra màn hình ngày sinh được lấy từ cơsởdữ liệu. - Trong phần nơi sinh, tên của tất cả 61 tỉnh/thành phố đã được nạp sẵn vì một họcsinhcó thể học tại trường thuộc tỉnh/thành phố này nhưng lại được sinh ra ở một tỉnh/thành phố khác. - Ứng với mỗi họcsinh được thêm vào bảng HOCSINH thì mã sốcủahọcsinh đó cùng với mã lớp và mã năm học sẽ được cập nhật vào trong bảng HS_LOP để biết họcsinh đó thuộc lớp nào ở năm học nào. - Vì mỗi họcsinh sẽ được gán cho một mã số duy nhất nên mỗi họcsinh chỉ được thêm vào trong bảng HOCSINH một lần. Do đó, nút “Chuyển lớp” được dùng để chuyển một họcsinh từ lớp này sang lớp khác ở cùng năm học. Nhờ đó mà các kếtquả trước đó củahọcsinh sẽ vẫn được bào toàn. Công việc này đơn giản chỉ là cập nhật lại mã lớp mới thay cho mã lớp cũ. - Tương tự , nút “Học sinh cũ” sẽ cho phép thêm tất cả các họcsinh thuộc một lớp nào đó ở năm học trước vào lớp hiện tại ở năm học hiện tại. Lúc này chương trình chỉ cập nhật các họcsinh vào bảng HS_LOP. 2. Nghỉ học : SVTH : Bùi Danh Đạt Trang 6 Thông báokếtquảhọctậpcủahọcsinhquađiệnthoại GVHD : Nguyễn Đức Thuần - Dùng để thêm các lần nghỉ họccủahọcsinh - Phần nhập ngày nghi học được thiếtkế tương tự như phần ngày sinh ở trên - Dữliệu sẽ được ghi vào bảng NGHIHOC 3. Lỗi vi phạm : - Dùng để thêm các lần vi phạm nội quy củahọcsinh - Phần nhập ngày vi phạm được thiếtkế tương tự như phần ngày sinh ở trên - Dữliệu sẽ được ghi vào bảng VIPHAM 4. Điểm kiểm tra : - Dùng để thêm điểm kiểm tra củahọcsinh - Dữliệu sẽ được ghi vào bảng KQKIEMTRA 5. Điểm thi : - Dùng để thêm điểm thi củahọcsinh - Dữliệu sẽ được ghi vào bảng KQTHI 6. Kếtquả cuối tháng : - Dùng để thêm kếtquả ở cuối tháng củahọcsinh - Dữliệu sẽ được ghi vào bảng KQTHANG 7. Kếtquả cuối học kỳ : - Dùng để thêm kếtquả ở cuối học kỳ củahọcsinh - Dữliệu sẽ được ghi vào bảng KQHOCKY 8. Kếtquả cuối năm học : - Dùng để thêm kếtquả ở cuối năm họccủahọcsinh - Dữliệu sẽ được ghi vào bảng KQNAMHOC Ngoài ra, nhằm tạo sự linh động cho người dùng, chương trình còn cho phép thêm mới một số loại dữliệu sau : năm học, lớp, lý do nghỉ học, lý do vi phạm nội quy, môn học, loại kiểm tra. SVTH : Bùi Danh Đạt Trang 7 . Thông báo kết quả học tập của học sinh qua điện thoại GVHD : Nguyễn Đức Thuần THIẾT KẾ VÀ TRUY XUẤT CƠ SỞ DỮ LIỆU I Sơ lược về cơ sở dữ liệu : Một. Thông báo kết quả học tập của học sinh qua điện thoại GVHD : Nguyễn Đức Thuần II SVTH : Bùi Danh Đạt Trang 3 Thông báo kết quả học tập của học sinh qua