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ẾTKẾVÀ TRUY XUẤTCƠSỞDỮLIỆU I. Sơ lược về cơsởdữliệu : Một số đặc điểm của cơ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áo kết quả học tập của học sinh qua điện thoạ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ô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 điện thoạ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áo kết quả học tập của học sinh qua điện thoạ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ết quả nào đó thì hệ thống sẽ yêu cầu người gọi cung cấp một số thông số 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ông số này, hệ thống sẽ tạo ra một câu truy vấn SQL để tìm kết quả trong cơsởdữliệu và lấy về thông qua phương thức OpenRecordset(). Nếu không tìm thấy kết quả 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ọc sinh và đượ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ết quả 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ống có thể hoạt động liên tục kể cả lúc dữliệu đang được cập nhật vào. III. Chươ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ông báo kết quả 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ông qua 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ông qua 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ọc và 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ọc sinh 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áo kết quả học tập của học sinh qua điện thoại GVHD : Nguyễn Đức Thuần 1. Học sinh : - Dùng để cập nhật các thông tin chi tiết về học sinh - Khi thêm một học sinh mới vào lớp được chọn, chương trình sẽ tự sinh ra một mã số cho học sinh đó. 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ủa học sinh cuối cùng trong bảng HOCSINH rồi tăng lên một đơn vị để làm mã số cho học sinh 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ọc sinh có 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ọc sinh được thêm vào bảng HOCSINH thì mã số của học sinh đó 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ọc sinh đó thuộc lớp nào ở năm học nào. - Vì mỗi học sinh sẽ được gán cho một mã số duy nhất nên mỗi học sinh 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ọc sinh từ lớp này sang lớp khác ở cùng năm học. Nhờ đó mà các kết quả trước đó của học sinh 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ọc sinh 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ọc sinh vào bảng HS_LOP. 2. Nghỉ học : SVTH : Bùi Danh Đạt Trang 6 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 - Dùng để thêm các lần nghỉ học của học sinh - 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ủa học sinh - 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ủa học sinh - Dữliệu sẽ được ghi vào bảng KQKIEMTRA 5. Điểm thi : - Dùng để thêm điểm thi của học sinh - Dữliệu sẽ được ghi vào bảng KQTHI 6. Kết quả cuối tháng : - Dùng để thêm kết quả ở cuối tháng của học sinh - Dữliệu sẽ được ghi vào bảng KQTHANG 7. Kết quả cuối học kỳ : - Dùng để thêm kết quả ở cuối học kỳ của học sinh - Dữliệu sẽ được ghi vào bảng KQHOCKY 8. Kết quả cuối năm học : - Dùng để thêm kết quả ở cuối năm học của học sinh - 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 . cơ 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ữ. 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 số