Luận văn Thiết kế hệ thống quản lý công chức-Tiền lương của UBDS-GĐ&TE
Bạn đang xem 20 trang mẫu của tài liệu "Luận văn Thiết kế hệ thống quản lý công chức-Tiền lương của UBDS-GĐ&TE", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tài liệu đính kèm:
- luan_van_thiet_ke_he_thong_quan_ly_cong_chuc_tien_luong_cua.pdf
Nội dung text: Luận văn Thiết kế hệ thống quản lý công chức-Tiền lương của UBDS-GĐ&TE
- Luận văn: Thiết kế hệ thống quản lý công chức-tiền lương của UBDS-GĐ&TE
- LỜI NÓI ĐẦU Thế giới ngày nay đã có nhiều tiến bộ mạnh mẽ về công nghệ thông tin (CNTT) từ một tiềm năng thông tin đã trở thành một tài nguyên thực sự, trở thành sản phẩm hàng hoá trong xã hội tạo ra một sự thay đổi to lớn trong lực lƣợng sản xuất, cơ sở hạ tầng, cấu trúc kinh tế, tính chất lao động và cả cách thức quản lý trong các lĩnh vực của xã hội. Trong những năm gần đây, nền CNTT nƣớc ta cũng đã có phát triển trên mọi lĩnh vực trong cuộc sống cũng nhƣ trong lĩnh vực quản lý xã hội khác. Một trong những lĩnh vực mà máy tính đƣợc sử dụng nhiều nhất là các hệ thống thông tin quản lý nói chung .Tuy các hệ thống này xét về mặt nào đó cũng đã đáp ứng đƣợc nhu cầu của ngƣời sử dụng trong những phần mềm đƣợc lập trình chủ yếu trên môi trƣờng foxpro, các hệ thống đó có quy mô nhỏ, độc lập và tính thừa kế không cao. Nhƣng hiện nay, do quy mô, tính phức tạp của công việc ngày càng cao nên việc xây dựng hệ thống thông tin quản lý không chỉ là việc lập trình đơn giản mà phải xây dựng một cách có hệ thống. Các giai đoạn phân tích, thiết kế đƣợc tiến hành một cách tỷ mỷ và chính xác. Trong đồ án này tôi sẽ trình bày quá trình phân tích, thiết kế cho hệ thống quản lý công chức - tiền lƣơng của UBDS-GĐ&TE với hệ quản trị cơ sở dữ liệu MS Access của hãng Microsoft. Và ngôn ngữ để xây dựng cho phần mềm này là Visual basic Nội dung của đồ án bao gồm: - Chƣơng I: Nhiệm vụ và vai trò của bài toán - Chƣơng II: Cơ sở lý thuyết và công cụ phát triển - Chƣơng III: Phân tích hệ thống chƣơng trình quản lý công chức - tiền lƣơng của UBDS –GĐ&TE Thành Phố - Chƣơng IV: Thiết kế hệ thống quản lý - Chƣơng V: An toàn dữ liệu Do kiến thức và kinh nghiệm của bản thân còn hạn chế nên đồ án không tránh khỏi những thiếu xót. Rất mong đƣợc sự đóng góp của quý thầy cô trong khoa công nghệ thông tin trƣờng Đại Học Bách Khoa Hà Nội, các quý thầy cô trong bộ môn tin học trƣờng Đại Học Thuỷ Sản và bạn bè đồng nghiệp. Cuối cùng, tôi xin chân thành cảm ơn TS: Nguyễn Kim Anh, ông Huỳnh Trung Phƣơng, ông Huỳnh Nguyễn Minh Trí cùng toàn thể nhân viên trong cơ quan đã trực tiếp hƣớng dẫn tôi thực hiện đồ án này Hà Nội ngày 26 tháng 7 năm 2003 NgƣờI thực hiện SV: Đào Thị Hƣng
- CHƢƠNG I NHIỆM VỤ VÀI TRÕ CÙNG CÁC ĐẶC TẢ CỦA BÀI TOÁN A. Nhiệm vụ và vai trò của bài toán I. Nhiệm vụ cơ bản của bài toán Bài toán quản lý công chức - tiền lƣơng có nhiệm vụ quản lý, theo dõi quá trình làm việc và quá trình lƣơng của các công chức trong cơ quan cùng các hoạt động khác có liên quan đến công việc đó. Bài toán bao gồm: * Đầu vào: - Các thông tin về hồ sơ của công chức - Các thông tin về quá trình quản lý của từng công chức - Các thông tin về quá trình quản lý lƣơng của từng công chức - Sửa đổi, bổ sung cán bộ - Chỉnh sửa đổi mức lƣơng của từng công chức * Đầu ra: - Tìm kiếm tra cứu các thông tin cần thiết về công chức, tiền lƣơng theo yêu cầu của ban lãnh đạo trong cơ quan. Từ thông tin đầu ra cho ta thấy đƣợc quá trình công tác của từng công chức trong cơ quan để giúp cho việc tra cứu công chức đƣợc cập nhật một cách nhanh chóng, chính xác, cũng nhƣ các vấn đề liên quan đến công chức. II. Vai trò của bài toán Để đảm bảo và tiện lợI cho quá trình hoạt động chung của cơ quan có hiệu quả thì việc quản lý công chức - tiền lƣơng đòi hỏi phảI thƣờng xuyên và chính xác. Vị trí của bài toán này trong việc quản lý công chức, tiền lƣơng của cơ quan đƣợc xuất phát từ thực tế khách quan của hoạt động quản lý, cần phảI đƣa tin học vào trong các lĩnh vực quản lý nói chung trong cơ quan, bên cạnh đó yếu tố con ngƣờI và tiền lƣơng do con ngƣờI làm ra càng không thể đƣợc xem nhẹ chính vì vậy cần có một chính sách quản lý thật khoa học nên bài toán quản lý công chức - tiền lƣơng giúp cho việc điều hành chung trong cơ quan ngày một hiệu quả hơn. B. Đặc tả các yêu cầu của bài toán I. Khái quát chung về chức năng, nhiệm vụ quyền hạn và tổ chức bộ máy của UBDSGĐ&TE Thành phố Nha trang tỉnh Khánh hoà 1. Chức năng Uỷ ban Dân số, Gia đình và Trẻ em tỉnh, thành phố trực thuộc trung ƣơng ( gọI tắt là Uỷ ban Dân số, Gia đình và Trẻ em ) là cơ quan chuyên môn thuộc Uỷ ban nhân dân tỉnh, có chức năng giúp Uỷ ban nhân dân tỉnh quản lý nhà nƣớc về lĩnh vực dân số, gia đình, trẻ em trên địa bàn tỉnh, tổ chức phốI hợp giữa các cơ quan nhà nƣớc, tổ chức chính trị - xã hộI, tổ chức xã hộI của tỉnh nhằm thực hiện luật, công ƣớc quốc tế, các chính sách, chƣơnh trình, dự án, kế hoạch về dân số, gia đình và trẻ em ở tỉnh.
- Uỷ ban Dân số, Gia đình và Trẻ em tỉnh chịu sự lãnh đạo toàn diện của Uỷ ban nhân dân tỉnh và chịu sự lãnh đạo, hƣớng dẫn về chuyên môn nghiệp vụ của Uỷ ban Quốc gia Dân số và Kế hoạch hoá gia đình và Uỷ ban Bảo vệ và chăm sóc trẻ em Việt Nam. Uỷ ban Dân số, Gia đình và Trẻ em có con dấu và tài khoản tạI Kho bạc Nhà nƣớc. 2. Nhiệm vụ, quyền hạn Uỷ ban Dân số, Gia đình và Trẻ em tỉnh có nhiệm vụ và quyền hạn nhƣ sau 2.1.Trình Uỷ ban nhân dân tỉnh kế hoạch 10 năm, 5 năm, hàng năm, chƣơng trình mục tiêu, các dự án về dân số, gia đình và trẻ em theo chƣơng trình mục tiêu quốc gia; tổ chức việc thực hiện kế hoạch, chƣơng trình đó sau khi đƣợc phê duyệt. 2.2. Trình Uỷ ban nhân dân tỉnh ban hành các văn bản qui phạm pháp luật để cụ thể hoá một số chủ trƣơng, chính sách, chiến lƣợc về dân số, gia đình và trẻ em, phù hợp vớI tình hình đặc điểm của tỉnh. Ban hành các văn bản nghiệp vụ chuyên môn về công tác dân số, gia đình và trẻ em ở tỉnh và tổ chức hƣớng dẫn thực hiện. 2.3. Kiểm tra thanh tra việc thực hiện các qui định của pháp luật, cơ chế chính sách và chƣơng trình hành động về lĩnh vực dân số, gia đình và trẻ em; giảI quyết đơn thƣ khiếu nạI, tố cáo của công dân thuộc phạm vi và nhiệm vụ và thẩm quyền. 2.4. Tổ chức thực hiện kế hoạch phốI hợp vớI các ngành, đoàn thể và các tổ chức xã hộI ở tỉnh về công tác tuyên truyền, giáo dục, vận động mọI tầng lớp nhân dân, các gia đình nhằm thực hiện chính sách dân số, gia đình và trẻ em; tổ chức thực hiện “ Ngày Dân số”, “ Ngày Gia đình Việt Nam” và “ Tháng hành động về trẻ em” hàng năm. 2.5. Ở những tỉnh có các HộI hoạt động về lĩnh vực dân số, gia đình và trẻ em thì Uỷ ban Dân số, Gia đình và Trẻ em có nhiệm vụ giúp Uỷ ban nhân dân tỉnh quản lý nhà nƣớc đốI vớI các HộI này. 2.6. Thực hiện dịch vụ tƣ vấn về dân số, gia đình, trẻ em 2.7. Vận động các tổ chức và cá nhân trong nƣớc, nƣớc ngoài để bổ sung nguồn lực cho quỹ Bảo trợ trẻ em, hƣớng dẫn và kiểm tra việc quản lý và sử dụng Quỹ bảo trợ trẻ em. 2.8. Tổ chức thu thập, xử lý, lƣu trữ và phổ biến thông tin về dân số, gia đình, trẻ em phục vụ cho việc quản lý, điều phốI chƣơng trình dân số, gia đình và trẻ em tỉnh và cả nƣớc. Tổ chức phân tích, đánh giá tình hình thực hiện luật, công ƣớc, chính sách chƣơng trình, kế hoạch hành động, về dân số gia đình và trẻ em; thực hiện kế hoạch báo cáo định kỳ về Uỷ ban nhân dân tỉnh, Uỷ ban Quốc gia dân số và Kế hoạch hoá gia đình và Uỷ ban Bảo vệ và Chăm sóc trẻ em Việt nam. 2.9. Tổ chức việc nghiên cứu, ứng dụng kết quả nghiên cứu, tiến bộ khoa học kỹ thuật vào công tác dân số, gia đình và trẻ em ở tỉnh.
- 2.10. Hƣớng dẫn bồI dƣỡng nghiệp vụ chuyên môn cho cán bộ làm công tác dân số, gia đình và trẻ em ở tỉnh. 3. Sơ đồ cơ cấu tổ chức của cơ quan UBND Thành Phố Tƣ pháp HLHPN Uỷ Ban Dân Số Gia Đình Tổ chức lđ Giáo dục & Trẻ Em Thành Phố Văn hoá tt Y tế Tài chính Mặt trận Ban Dân Số GĐ & TE Xã Phƣờng UBND Chỉ đạo Các ban, ngành Xã Phƣờng Cán bộ chuyên trách đoàn thể, tổ chức xã hội Cộng tác viên
- 4. Sơ đồ quản lý của cơ quan UBDSGĐ & TE THÀNH PHỐ CHỦ NHIỆM PHÓ CHỦ NHIỆM PHÓ CHỦ NHIỆM ( Thƣờng trực ) ( Chuên môn ) Truyền Các Dịch Văn Thống Kế Tổng hoạt vụ 02 thông thƣ kê toán hợp động xã hội * Nhiệm vụ của các đơn vị trong cơ cấu quản lý của cơ quan: - Chủ nhiệm: Do phó chủ tịch UBND kiệm nhiệm có nhiệm vụ quản lý chung cho cơ quan - Phó chủ nhiệm Thƣờng trực: Phụ trách tổng hợp về chỉ đạo và tham mƣu cho cơ quan - Phó chủ nhiệm Chuyên môn: Phụ trách về mảng chuyên môn - Dịch vụ 02: Theo dõi tƣ vấn tình hình thực hiện biện pháp tránh thai, phi lâm sàng hiện đạI, tiến bộ thực hiện, vận động sử dụng biện pháp tránh thai có kế hoạch, biện pháp đẩy mạnh chƣơng trình ( truyền thông, tƣ vấn ) - Truyền thông: Có kế hoạch tổ chức hoạt động và tổng hợp kết quả triển khai để đề xuất, kiến nghị phƣơng hƣớng thờI gian tới. - Thống kê: Tổng hợp, nắm bắt các số liệu biến động dân số, sinh tử tạI các xã phƣờng theo từng thờI gian cụ thể. - Văn thƣ: Có nhiệm vụ thu phát và lƣu trữ các tài liệu do Ban tổ chức – Cán bộ Chính phủ Uỷ ban Quốc gia DS&KHHGĐ, Uỷ ban BV&CSTE Việt Nam đƣa đến. - Kế toán: Phụ trách về mặt tài chính của cơ quan cụ thể Kinh phí thực hiện các mục tiêu chƣơng trình
- Kinh phí từng hoạt động cụ thể để báo cáo Kinh phí vận động ủng hộ quỹ bảo trợ trẻ em thành phố Kinh phí UBDSGĐ & TE tỉnh, quỹ bảo trợ TE tỉnh hỗ trợ trẻ em có hoàn cảnh đặc biệt khó khăn. - Tổng hợp: Soạn thảo, tiếp nhận các thông tin tham mƣu báo cáo cho các cấp II. Đặc tả các vấn đề của bài toán Trong một cơ quan hành chính sự nghiệp việc quản lý công chức - tiền lƣơng của mỗI nhân viên trong cơ quan trên máy vi tính không phảI là dễ.Khâu quản lý công chức do phòng tổ chức trong cơ quan nắm giữ, còn khâu quản lý tiền lƣơng do phòng tài vụ nắm giữ. Để hiểu rõ việc quản lý thì mỗI phân tích viên cần phảI khảo sát và nắm đƣợc những thông tin sau: Quản lý công chức: Để quản lý một công chức trong cơ quan trƣớc hết phảI nắm đƣợc lý lịch của mỗI ngƣờI, ngoài ra cần phảI hiểu thêm các thông tin khác để quản lý. Những thông tin cần quản lý bao gồm: Họ và tên công chức Dân tộc GiớI tính Tôn giáo Ngày sinh Chính trị Nơi sinh Trình độ văn hoá Địa chỉ Chuyên môn Điện thoạI Ngoại ngữ Số CMND Cựu chiến binh Ngày vào cơ quan Chức vụ Ngày vào biến chế Các quan hệ của bản thân Qúa trình công tác ở nƣớc ngoài Khen thƣởng Bảo hiểm Kỷ luật Lƣơng cơ bản Nghỉ phép Trong lý lịch, quản lý các thông tin một cách cụ thể hơn: - Điện thoạI: Quản lý tất cả các số điện thoạI của công chức - Chính trị: Đoàn viên, Đảng viên, Đoàn viên chỉ quản lý có hay không. Nếu là đảng viên thì quản lý: Ngày vảo đảng, ngày chính thức, nơi vào đảng - Chuyên môn: Quản lý tất cả các chuyên môn mà công chức đã đƣợc đào tạo bao gồm: Chuyên môn gì? Nơi đào tạo ( Trƣờng nào )? Văn bằng hay chứng chỉ đƣợc cấp, ThờI gian dào tạo. - Ngoại ngữ: Quản lý trình độ tất cả các ngoạI ngữ mà công chức biết đƣợc. - Qúa trình công tác ở nƣớc ngoài: Để quản lý những chuyến đi nƣớc ngoài của công chức. Nếu công chức nào đi thì quản lý: Thời gian, lý do, nƣớc đi - Cựu chiến binh: Để quản lý những công chức nào đã đi bộ đội. Công chức nào đã đi bộ độI thì quản lý: Ngày xuất ngũ, ngày nhập ngũ, binh chủng, cấp bậc khi xuất ngũ.
- - Quan hệ nhân thân: Bao gồm cha mẹ, vợ chồng, anh chị em ruột, con: Họ tên, ngày sinh, nghề nghiệp, cơ quan, chức vụ tại cơ quan của từng ngƣời. Nếu cha mẹ, vợ chồng, anh em,con của công chức không làm việc tạI cơ quan nào, không có chức vụ gì thì phần cơ quan, chức vụ ghi: Không. Nếu cha mẹ chết thì nghề nghiệp nghi chết. - Khen thƣởng, kỷ luật: Ngày, hình thức, cấp, lí do khen thƣởng, kỷ luật. Ngày xoá kỷ luật - Nghỉ phép: ThờI gian và nơi nghỉ phép của tất cả các lần nghỉ phép của công chức. Nơi nghỉ phép chỉ quản lý cấp tỉnh Quản lý tiền lƣơng: Để quản lý tốt khâu tiền lƣơng của mỗi công chức trong cơ quan thì bộ phận tài vụ dựa vào bảng chấm công của công chức. Bảng chấm công gồm: Số ngày làm việc, số ngày nghỉ không phép, số tiền thƣởng, phụ cấp chức vụ. Ngoài ra còn dựa vào quá trình lƣơng của một công chức gồm: Ngạch, bậc, ngày lên lƣơng để đƣa ra danh sách lƣơng của công chức trong cơ quan Công việc Tin học hoá hệ thống nhắm đáp ứng: - Định kỳ tự động hoá đƣa ra danh sách công chức đƣợc tăng lƣơng - Bất kỳ lúc nào cũng có thể trả lời các thông tin chính xác về tình hình công tác, lý lịch của một công chức.
- CHƢƠNG II CƠ SỞ LÝ THUYẾT VÀ CÔNG CỤ PHÁT TRIỂN A. Cơ sở lý thuyết I. Các khái niệm cơ bản + Thực thể: Là một đốI tƣợng cụ thể nào đó + Thuộc tính thực thể: Tính chất xác định thực thể + Lớp thực thể: Các thực thể cùng thuộc tính + Lƣợc đồ quan hệ: Thuộc tính: Tên thuộc tính, miền xác định của thuộc tính Lƣợc đồ một quan hệ gồm các thuộc tính của thực thể ( Tên miền xác định ) cùng vớI các mệnh đề rang buộc. Lƣợc đồ quan hệ: R= =(A1:D1,A2:D2, An:Dn,M) Ai: Tên thuộc tính Di: Miền xác định của thuộc tính M: Mệnh đề ràng buộc NộI dung của lƣợc đồ quan hệ gọI là các bộ + Các phép toán tốI thiểu: Tìm kiếm dữ liệu theo tiêu chuẩn đã chọn, không làm thay đổI trạng thái CSDL. Thay đổI cấu trúc CSDL. Thay đổI nộI dung CSDL. Xử lý, tính toán trên CSDL. II. Khái niệm phụ thuộc dữ liệu và các dạng chuẩn - Một thuộc tính gọI là phụ thuộc vào các thuộc tính khác khi giá trị của các thuộctính này phụ thuộc vào giá tri của phụ thuộc kia. Sự phụ thuộc này có thể là gIán tiếp hay trực tiếp. - Một quan hệ bao giờ cũng có một nhóm thuộc tính mà giá trị của chúng qui định giá trị các thuộc tính khác, nhóm thuộc tính đó gọI là khoá. - VớI một quan hệ tuỳ vào các phụ thuộc của các thuộc tính vào khoá có trong đó mà ta phân chia các quan hệ đó thành các dạng chuẩn khác nhau. Các dạng chuẩn cơ bản. Dạng chuẩn 1 Dạng chuẩn 2 Dạng chuẩn 3 Các dữ liệu lƣu trữ dƣớI dạng chuẩn 3 tránh đƣợc hiện tƣợng dƣ thừa dữ liệu, tạo cho dữ liệu có tính độc lập cao. Các quan hệ nếu chƣa ở dạng chuẩn 3 sẽ đƣợc phân rã thành các quan hệ nhỏ hơn ở dạng chuẩn 3. III. Khái niện chỉ dẫn và khoá chỉ dẫn - Để có thể tìm kiếm thông tin nhanh theo một tiêu chuẩn nào đó chúng ta tạo ra các thông tin chỉ dẫn theo tiêu chuẩn nào đó. Các thông tin chỉ dẫn là các thông tin giúp ta tìm kiếm dữ liệu nhanh. Các thông tin này gọI là khoá chỉ dẫn. Khoá
- chỉ dẫn có thể là một trƣờng, hoặc nhiều trƣờng trong trƣờng hợp này phảI chỉ ra thứ tự. VớI cách tạo ra khoá chỉ dẫn theo tiêu chuẩn nào đó ta có thể tìm kiếm nhanh dữ liệu theo tiêu chuẩn nào đó. IV. Mục tiêu và tính ƣu việt của mô hình quan hệ - Cho một lƣợc đồ dữ liệu dễ sử dụng, mô hình đơn giản, ngƣờI dùng không cần biết cấu trúc vật lý của dữ liệu. Tiện lợI cho ngƣờI dùng không chuyên tin học - Tăng cƣờng tính độc lập của dữ liệu, đặc biệt là vật lý. - Cho một khả năng có một ngôn ngữ thao tác bậc cao. - TốI ƣu việc tìm kiếm dữ liệu trong CSDL, hệ quản trị tự tìm cách truy nhập. - CảI thiện nâng cao toàn vẹn dữ liệu và bảo mật dữ liệu. - Có thể phục vụ cho nhiều chƣơng trình ứng dụng. - Có cơ sở toán học phong phú chắc chắn: * Lý thuyết quan hệ * Dạng chuẩn có độ bền vững và đầy đủ thông tin B. Công cụ phát triển I. Lựa chọn công cụ phát triển và các vấn đề kỹ thuật 1. Lựa chọn công cụ phát triển Hiện nay các chƣơng trình đƣợc ứng dụng phục vụ cho UBDS-GĐ&TE đƣợc viết bằng ngôn ngữ FoxPro LAN 2.0, chạy trên mạng Novell Netware. Ưu điểm: . Rẻ tiền . Tiện lợI cho các ứng dụng có tính chất cá nhân hoặc nhóm nhỏ. Dễ bảo trì, bảo hành. . Đồng bộ: Phát triển trên một thiết kế và định hƣớng thống nhất. . Tức thờI: Dữ liệu đƣợc cập nhật tức thờI khi phát sinh, đảm bảo thông tin kịp thời. . Đƣợc kiểm toán xác nhận về chƣơng trình, qui trình, tính hợp pháp của các thông tin do máy tính đƣa ra. Nhược điểm: . Không đáp ứng đƣợc mô hình các bài toán có tổ chức dữ liệu lớn. Tốc độ đọc, ghi các bảng dữ liệu giảm rất nhanh khi kích thƣớc các bảng dữ liệu tăng từ vài trăm Kb tớI hàng ngàn Mb. Đồng thờI tốc độ xử lý cũng phụ thuộc vào số lƣợng ngƣờI sử dụng. . Không đáp ứng đƣợc các mô hình kiến trúc Client/Server ( Mô hình này hiện đang đƣợc sử dụng hết sức rộng rãi và ngày càng khẳng định đƣợc tính ƣu việt của nó ). ĐốI vớI việc phát triển hệ thống, việc lựa chọn công cụ cũng có ý nghĩa hết sức quan trọng. NgƣờI phát triển hệ thống phảI căn cứ vào khẳ năng của cơ sở mình cũng nhƣ các yếu tố đặc thù mà lựa chọn công cụ cho phù hợp. Trong đề tài quản lý công chức - tiền lƣơng có một số yếu tố đƣợc xem xét khi lựa chọn công cụ nhƣ sau:
- * Khả năng phát triển của hệ thống: Hệ thông tin xây dựng trong giai đoan hiện tạI đã và đang là bƣớc đi ban đầu trong quá trình tiến tớI một hệ thống hoàn hảo, do đó khả năng phảI nâng cấp dần trong tƣơng lai là điều không thể tránh khỏi. Chính vì vậy, yếu tố hàng đầu cần quan tâm khi lựa chọn công cụ là khả năng hỗ trợ của chúng trong việc bổ sung phát triển hệ thống. Công cụ đƣợc chọn phảI giảm đƣợc chi phí bảo hành và nâng cấp chƣơng trình. * Hệ quản trị cơ sở dữ liệu đƣợc chọn phảI có tính cởI mở cao để hệ thống có thể dễ dàng kết nốI vớI các hệ thống thông tin khác. * Khả năng mà công cụ có thể giảm nhẹ gánh nặng công việc cho ngƣờI phát triển. * Trên cơ sở xem xét các yếu tố trên đây, công cụ đƣợc chọn là hệ quản trị cơ sở dữ liệu MS ACCESS vớI ngôn ngữ để viết chƣơng trình là Visual basic 2. Môi trường làm việc + Hệ thống máy tính chủ yếu đƣợc sử dụng hiện nay tạI các UBDS-GĐ&TE là máy PC với môi trƣờng làm việc là hệ điều hành Window 98. + Đa số ngƣờI sử dụng trên thực tế đã làm quen vớI tin học qua máy PC vớI hệ điều hành Window. + Hệ thống chƣơng trình quản lý công chức - tền lƣơng sẽ rất tiện dụng khi chạy trên môi trƣờng mạng. Tuy nhiên nó vẫn có thể cài đặt trên máy lẻ, áp dụng đốI vớI những cơ sở chƣa ứng dụng mạng máy tính trong quản lý. II. Tổng quan về hệ quản trị cơ sở dữ liệu MS ACCESS Access là gì? Access là một hệ thống quản lý cơ sở dữ liệu ( CSDL ). Cũng giống nhƣ các hệ CSDL khác, Access lƣu trữ và tìm kiếm dữ liệu, biểu diễn thông tin và tự động làm nhiều nhiệm vụ khác. Việc sử dụng Access, chúng ta có thể phát triển cho các ứng dụng một cách nhanh chóng. Access cũng là một ứng dụng mạnh trong môi trƣờng Windows. Ngày từ đầu Access cũng là một sản phẩm của CSDL trong Microsoft Windows. BởI vì cả Window và Access đều xuất phát từ Microsoft nên cả hai sản phẩm này làm việc rất tốt cùng nhau, Access chạy trên nền Windows cũng thể hiện đƣợc trong Access. Bạn có thể cắt, dán dữ liệu từ bất cứ ứng dụng nào trong môi trƣờng Windows nào cho Access và ngƣợc lại. Bạn có thể liên kết các đốI tƣợng nào đó ví dụ nhƣ: OLE trong Excel, Paintbrush và Word for Windows vào môi trƣờng Access. Dù sao Access là một hệ quản trị dữ liệu rất tốt trong cơ sở dữ liệu, đồng thờI nó có thể giúp chúng ta truy nhập tới tất cả các dạng dữ liệu. Nó có thể làm việc vớI nhiều hơn một mảng (Table) tạI cùng một thờI điểm để giảm bớt sự rắc rốI của dữ liệu và làm cho công việc dễ dàng thực hiện hơn. Chúng có thể liên kết một bảng trong Paradox và một bảng trong dbase, có thể lấy kết quả của việc liên kết đó và kết nốI dữ liệu này vớI những bảng làm việc trong Excel một cách nhanh chóng và dễ dàng.
- Access cung cấp những công cụ gì? Access cung cấp những thông tin quản lý CSDL quan hệ thực sự, hoàn thiện vớI những định nghĩa khoá (Primary key) và khoá ngoạI (Foreign key), các loạI luật quan hệ (một - một, một-nhiều), các mức kiểm tra mức toàn vẹn của dữ liệu cũng nhƣ định dạng và những định nghĩa mặc định cho môi trƣờng (Filed) trong một bảng. Bằng việc thực hiện sự toàn vẹn dữ liệu ở mức database engine, Access ngăn chặn đƣợc sự cập nhật và xoá thông tin không phù hợp. Access cung cấp tất cả các kiểu dữ liệu cần thiết cho trƣờng, bao gồm văn bản (text), kiểu số (number), kiểu tiền tệ (currency), kiểu ngày/tháng (data/time), kiểu meno, kiểu có/không (yes/no) và các đốI tƣợng OLE.Nó cũng hỗ trợ cho các giá trị rỗng ( Null) khi các giá trị này bị bỏ qua. Việc xử lý quan hệ trong Access đáp ứng đƣợc những đòi hỏI vớI kiến trúc mềm dẻo của nó. Nó có thể sử dụng nhƣ một hệ quản lý CSDL độc lập, hoặc theo mô hình Client/ Server. Thông qua ODBC (Open Database Connectivity), chúng ta có thể kết nốI vớI nhiều dạng dữ liệu bên ngoài, ví dụ nhƣ: Oracle, Sybase, thậm chí vớI cả những CSDL trên máy tính lớn nhƣ DB/2. VớI Access chúng ta cũng có thể phân quyền cho ngƣờI sử dụng và cho các nhóm trong việc xem và thay đổI rất nhiều các kiểu đốI tƣợng dữ liệu. Tóm lạI: Microsoft Access là một hệ quản trị cơ sở dữ liệu tƣơng tác vớI ngƣờI sử dụng chạy trên môi trƣờng Windows, nó tăng thêm sức mạnh trong công tác tổ chức, tìm kiếm và tổ chức thông tin. Các quy tắc kiểm tra dữ liệu, giá trị mặc định, khuôn nhập dữ liệu của Microsoft Access hoàn toàn đáp ứng yêu cầu. Khả năng kết nốI và công cụ truy vấn mạnh của nó giúp ta tìm kiếm thông tin một cách nhanh chóng. Nó cho phép ta thiết kế đƣợc các biểu mẫu và báo cáo phức tạp đáp ứng các yêu cầu đề ra. ĐốI vớI những yêu cầu quản lý dữ liệu ở mức độ chuyên môn cao. III. GiớI thiệu tổng quát ngôn ngữ lập trình VISUAL BASIC Visual Basic là một ngôn ngữ thảo chƣơng hoàn thiện và hoạt động theo kiểu điều khiển bởI sự kiện ( Event – Driven programming language ) nhƣng lạI giống ngôn ngữ thảo chƣơng có cấu trúc ( Structured programming language ) Theo Bill Gates đã mô tả Visual Basic nhƣ một “ công cụ vừa dễ lạI vừa mạnh để phát triển các ứng dụng Windows bằng Basic “.Điều này dƣờng nhƣ chƣa đủ để minh chứng cho tất cả những phô chƣơng trên, trừ khi bạn hiểu ra rằng hiện đang có hàng chục triệu ngƣờI dùng Microsoft Windows. Visual Basic đã từng nhanh hơn, mạnh hơn và thậm chí dễ dùng hơn Visual Basic 1.0. Visual Basic 3 bổ sung các cách thức đơn giản để điều khiển các cơ sở dữ liệu mạnh nhất sẵn có. Visual Basic 4 lạI bổ sung thêm phần hỗ trợ phát triển 32 bit và bắt đầu tiến trình chuyển Visual Basic thành một ngôn ngữ lập trình hƣớng đốI tƣợng đầy đủ. Visual Basic 5 đã bổ sung khả năng tạo các tập tin thi hành thực sự, thậm chí có khẳ năng sáng tạo các điều khiển riêng. Và bây giờ, Visual Basic 6.0 bổ sung một số tính năng ngôn ngữ đã đƣợc mong đợI từ lâu,
- tăng cƣờng năng lực Internet, và cả các tính năng cơ sở dữ liệu mạnh hơn. Quả thật, Visual Basic đã trở thành mạnh nhất và trôi chảy nhất chƣa từng thấy. Mặt khác, lợI điểm khi dùng Visual Basic chính là ở chỗ tiết kiệm thờI gian và công chức so vớI ngôn ngữ lập trình khác khi xây dựng cùng một ứng dụng. Visual Basic gắn liền vớI khái niệm lập trình trực quan ( Visual ), nghĩa là khi thiết kế một chƣơng trình, ta nhìn thấy ngay kết quả qua từng thao tác và giao diện khi chƣơng trình thực hiện. Đây là thuận lợI lớn so vớI các ngôn ngữ lập trình khác, Visual Basic cho phép ta chỉnh sửa đơn giản, nhanh chóng màu sắc, kích thƣớc, hình dáng của các đốI tƣợng trong ứng dụng. Một khả năng khác của Visual Basic chính là khả năng kết hợp các thƣ viện liên kết động DLL ( Dynamic Link Library ). DLL chính là phầm mở rộng cho Visual Basic tức là khi xây dựng một ứng dụng nào đó đã có một số yêu cầu mà Visual Basic chƣa đáp ứng đủ, ta viết thêm DLL phụ trợ. Khi viết chƣơng trình bằng Visual Basic, chúng ta phảI qua hai bƣớc: Thiết kế giao diện ( Visual Programming ) Viết lệnh ( Cade Programming ) Nó cùng hỗ trợ các cấu trúc: - Cấu trúc IF THEN ELSE - Các cấu trúc lặp (Loops). - Cấu trúc rẽ nhánh ( Select Case ) - Hàm ( Function ) và chƣơng trình con ( Subroutines ) Visual Basic đƣa ra phƣơng pháp lập trình mớI, nâng cao tốc độ lập trình. Cũng nhƣ các ngôn ngữ khác, mỗI phiên bản mớI của Visual Basic đều chứa đựng những tính năng mớI chẳng hạn Visual Basic 2.0 bổ sung cách đơn giản để điều khiển các cơ sở dữ liệu mạnh nhất có sẵn, Visual Basic 4.0 bổ sung thêm phần hỗ trợ phát triển 32 bit và chuyển sang ngôn ngữ lập trình hƣớng đốI tƣợng đầy đủ, hiện nay ngôn ngữ mớI nhất là Visual Basic 6.0 hỗ trợ nhiều tính năng mạnh hữu hạn OLE DB để lập trình dữ liệu. Các lập trình viên đã có thể dùng Visua Basic 6.0 để tự mở rộng Visual Basic. Visual Basic có sẵn các công cụ nhƣ: Các hộp văn bản, các nút lệnh, các nút tuỳ chọn, các hộp kiểm tra, các hộp liệt kê, các thanh cuộn, các hộp thƣ mục và tập tin có thể dùng các khung kẻ ô để quản lý dữ liệu theo dạng bảng, liên lạc vớI các ứng dụng Windows khác, truy nhập các cơ sở dữ liệu gọI chung là điều khiển thông qua công nghệ OLE của Microsoft Hệ trợ giúp trực tuyến đầy đủ giúp tham khảo nhanh chóng khi phát triển một ứng dụng. Tuy nhiên việc này trên VB 6.0 đòi hỏI phảI có CD ROM. Visual Basic còn hỗ trợ việc lập trình bằng cách hiện tất cả tính chất của đối tƣợng mỗI khi ta định dùng đến nó. Đây là điểm mạnh của ngôn ngữ lập trình hiện đạI * Các bƣớc thiết kế một ứng dụng Visual Basic: - Xây dựng các cửa sở mà ngƣờI dùng sẽ thấy - Quyết định những sự kiện mà các điều khiển trên cửa sổ sẽ nhận ra. * Các nộI dung diễn ra khi ứng dụng đang chạy:
- - Visual Basic giám sát các cửa sổ và các điều khiển trong từng cửa sổ cho tất cả mọI sự kiện mà từng điều khiển có thể nhận ra ( các chuyển động chuột, các thao tác nhắp chuột, di chuyển, gõ phím ) - Khi Visual Basic phát hiện một sự kiện, nếu không có một đáp ứng tạo sẵn cho sự kiện đó, Visual Basic sẽ xem xét ứng dụng để kiểm tra ngƣờI dùng đã viết thủ tục cho sự kiện đó hay chƣa. - Nếu đã viết rồI, Visual Basic sẽ thi hành và hình thành nên thủ tục sự kiện đó và quay trở lạI bƣớc đầu tiên. * Các bƣớc này quay vòng cho đến khi ứng dụng kết thúc. Sau khi đã tìm hiểu thế nào là hoạt động điều khiển bởI sự kiện và các hỗ trợ của Visual Basic mà phiên bản mớI nhất là Visual Basic 6.0, chúng ta sẽ thấy đây là một công cụ lập trình dễ chịu và có xu hƣớng trở thành môi trƣờng lập trình hoàn hảo cho những năm sắp tới. Để hiểu rõ phần trên, sau đây tôi sẽ trình bày cụ thể hơn về ngôn ngữ lập trình Visual Basic 6.0. A. THIẾT KẾ GIAO DIỆN Do Visual Basic là ngôn ngữ lập trình hƣớng đốI tợng nên việc thiết kế giao diện rất đơn giản bằng cách đƣa các đốI tƣợng vào Form và tiến hành thay đổI một số thuộc tính của các đốI tƣợng đó. 1. FORM Form là biểu mẫu của mỗI ứng dụng trong Visual Basic. Ta dùng Form (nhƣ là một biểu mẫu ) nhằm định vị và sắp xếp các bộ phận trên nó khi thiết kế các phần giao tiếp vớI ngƣờI dùng. Ta có thể xem Form nhƣ là bộ phận mà nó có thể chứa các bộ phận khác. Form chính của chúng tạo nên giao tiếp cho ứng dụng. Form chính là giao diện chính của ứng dụng, các Form khác có thể chứa các hộp thoạI, hiện thị cho nhập dữ liệu và hơn thế nữa. Trong nhiều ứng dụng Visual Basic, kích cỡ và vị trí của biểu mẫu vào lúc hoàn tất thiết kế ( thƣờng mệnh danh là thờI gian thiết kế, hoặc lúc thiết kế ) là kích cỡ và hình dáng mà ngƣờI ngƣờI dùng sẽ gặp vào thờI gian thực hiện, hoặc lúc chạy. Điều này có nghĩa là Visual Basic cho phép ta thay đổI kích cỡ và di chuyển vị trí của Form cho đến bất kỳ nơi nào trên màn hình khi chạy một đề án, bằng cách thay đổI các thuộc tính của nó trong cửa sổ thuộc tính đốI tƣợng ( Properties Windows ). Thực tế, một trong những tính năng thiết yếu của Visual Basic đó là khả năng tiến hành các thay đổI để đáp ứng các sự kiện của ngƣờI dùng. 2. TOOLS BOX ( Hộp công cụ ) Bản thân hộp công cụ này chỉ chứa các biểu tƣợng biểu thị cho các điều khiển mà ta có thể bổ sung vào biểu mẫu là bảng chứa các đốI tƣợng đƣợc định nghĩa sẵn của Visual Basic. Các đốI tƣợng này đƣợc sử dụng trong Form để tạo thành giao diện cho các chƣơng trình ứng dụng của Visual Basic. Các đốI tƣợng trong thanh công cụ sau đây là công dụng nhất:
- a. Scroll Ba: (Thanh cuốn) Các thanh cuốn đƣợc dùng để nhận nhập liệu hoặc hiện thị kết xuất khi ta không quan tâm đến giá trị chính xác của đốI tƣợng nhƣng lạI quan tâm sự thay đổI đó nhỏ hay lớn. Nói cách khác, thanh cuốn là đốI tƣợng cho phép nhận từ ngƣờI dùng một giá trị tuỳ theo vị trí con chạy (Thumb ) trên thanh cuốn thay cho cách gõ giá trị số. Thanh cuốn có các thuộc tính quan trọng nhất là: - Thuộc tính Min: Xác định cận dƣớI của thanh cuốn - Thuộc tính Max: Xác định cận trên của thanh cuốn - Thuộc tính Value: Xác định giá trị tạm thờI của thanh cuốn b. Option Button Control ( Nút chọn ) ĐốI tƣợng nút chọn cho phép ngƣờI dùng chọn một trong những lựa chọn đƣa ra. Nhƣ vậy, tạI một thờI điểm chỉ có một trong các nút chọn đƣợc chọn. c. Check Box (Hộp kiểm tra ) ĐốI tƣợng hộp kiểm tra cho phép ngƣờI dùng kiểm tra một hay nhiều điều kiện của chƣơng trình ứng dụng. Nhƣ vậy, tạI một thờI điểm có thể có nhiều hộp kiểm tra đƣợc đánh dấu d. Label ( Nhãn ) ĐốI tƣợng nhãn cho phép ngƣờI dùng gán nhãn một bộ phận nào đó của giao diện trong lúc thiết kế giao diện cho chƣơng trình ứng dụng. Dùng các nhãn để hiện thị thông tin không muốn ngƣờI dùng thay đổi. Các nhãn thƣờng đƣợc dùng để định danh một hộp văn bản hoặc một điều khiển khác bằng cách mô tả nộI dung của nó. Một công cụ phổ biến nhất là hiện thị thông tin trợ giúp. e. Image( Hình ảnh ) ĐốI tƣợng Image cho phép ngƣờI dùng đƣa hình ảnh vào Form f. Picture Box ĐốI tƣợng Picture Box có tác dụng gần giống nhƣ đốI tƣợng Image. g. Text Box ĐốI tƣợng text box cho phép đƣa các chuỗI ký tự vào Form. Thuộc tính quan trọng nhất của text box là thuộc tính Text_ cho biết nộI dung hộp Text box. h. Command Button ( Nút lệnh ) ĐốI tƣợng Command Button cho phép quyết định thực thi một công việc nào đó i. Directory List Box, Drive List Box, File List Box Đây là các đốI tƣợng hỗ trợ cho việc tìm kiếm các tập tin trên một thƣ mục của ổ đĩa nào đó j. List Box ( Hộp danh sách) ĐốI tƣợng List Box cho phép xuất các thông tin về chuỗi. Trên đây là những đốI tƣợng đƣợc sử dụngthƣờng xuyên nhất trong phần thiết kế giao diện cho một chƣơng trình ứng dụng của Visual Basic. 3. PROPERTIES WINDOWS (Cửa sổ thuộc tính)
- Properties Windows là nơi chứa danh sách các thuộc tính của đốI tƣợng cụ thể. Các thuộc tính này có thể thay đổI đƣợc để phù hợp vớI yêu cầu về giao diện của các chƣơng trình ứng dụng. 4. PROJECT EXPLORER Do các ứng dụng của Visual Basic thƣờng dùng chung mã hoặc Form đã tuỳ biến trƣớc đó, nên Visual Basic tổ chức các ứng dụng thành các Project. MỗI Project có thể có nhiều Form sẽ đƣợc lƣu trữ chung vớI Form đó trong các tập tin riêng biệt. Mã lập trình chung mà tất cả các Form trong ứng dụng chia sẻ có thể đƣợc phân thành các Module khác nhau và cũng đƣợc lƣu trữ tách biệt, gọI là các Module mã Project Explorer nếu tất cả các biểu mẫu tuỳ biến đƣợc và các Module chung, tạo nên ứng dụng của ta. B. VIẾT LỆNH CHO CÁC ĐỐI TƢỢNG Điểm mẫu chốt cần phảI nhận thức rõ trongkhâu lập trình Visual Basic là: Visual Basic xử lý mã chỉ để đáp ứng các sự kiện. Thực vậy, không nhƣ nhiều ngôn ngữ lập trình khác, các dòng mã thi hành trong một chƣơng trình Visual Basic phảI nằm trong các thủ tục hoặc các hàm, các dòng mã bị cô lập sẽ không làm việc I.CỬA SỔ CODE Của sổ Code luôn là nơi để viết mã. Cửa sổ Code có một thanh tách (Split bar ) nằm bên dƣớI thanh tiêu đề, tạI đầu thanh cuộn dọc. Thanh cuộn này có tác dụng tách cửa sổ Code thành hai cửa sổ Code con để có thể xem cả hai phần cửa sổ Code cùng một lúc. Hộp liệt kê Object Hộp liệt kê bên trái cửa sổ Code là hộp Object, nó liệt kê mọI đốI tƣợng trên Form, cùng vớI một đốI tƣợng trên General lƣu trữ mã chung mà tất cả mọI thủ tục dính kèm vớI Form có thể sử dụng. Hộp liệt kê Procedure Hộp liệt kê bên phảI cửa sổ Code là hộp liệt kê Procedure. Hộp liệt kê này cung cấp mọI sự kiện mà đốI tƣợng đã lựa trong hộp liệt kê Object nhận ra. Intellisense Intellisense là một công nghệ bổ sung hoàn thành phức hợp của hãng Microsoft, nó cho phép đỡ mất công gõ và tra cứu. Intellisense bật ra các hộp nhỏ vớI các thôg tin hữu ích về đốI tƣợng mà ta đang làm việc. Nó có ba thành phần nhƣ mô tả dƣớI đây: - QuickInfo: Đây là nơi có thông tin về cú pháp của một toán tử Visual Basic. MỗI khi nhập một khoá theo sau là một dấu cách hoặc dấu ngoặc đơn mở, một gợI ý thủ thuật hiện ra cung cấp cú pháp của thành phần đó - List Properties/ Methods: Tính năng Intellisense này đƣa ra một danh sách các tính chất và phƣơng pháp của một đốI tƣợng ngay sau khi bạn gõ dấu chấm. - Available Constants: Tính năng Intellisense tiện dụng này cung cấp một danh sách các hằng sẵn có. II. BIẾN
- Trong Visual Basic, các biến [Variables] lƣu giữ thông tin ( các giá trị ). Khi dùng một biến, Visual Basic xác lập một vùng trong bộ nhớ máy tính để lƣu giữ thông tin. Trong Visual Basic, tên biến có độ dài tớI 225 ký tự và trừ ký tự đầu tiên phảI là một mẫu tự, ta có thể gộp một tổ hợp mẫu tự, con số và gạch dƣớI bất kỳ. Chữ hoa, chữ thƣờng trong tên biến không quan trọng. III. CÁC KIỂU DỮ LIỆU Dữ liệu cũng có nhiều kiểu: kiểu dữ liệu số, chuỗI và Boolean. Thực tế, Visual Basic điều khoản 14 kiểu dữ liệu chuẩn. Ta cũng có thể định nghĩa các kiểu dữ liệu riêng. Các kiểu thƣờng dùng để điều tác dữ liệu là: 1. Kiểu String Các biến chuỗI [String] lƣu giữ ký tự. Một chuỗI có thể có một hay nhiều ký tự. Tất nhiên, biến lƣu trữ một chuỗI đƣợc gọI là một biến chuỗi. Một phƣơng pháp để định danh các biến kiểu này đó là đặt một đầu đồng đô la ($) vào cuốI tên biến: Astring Variables. Trên lý thuyết, các biến chuỗI có thể lƣu giữ khoảng 2 tỷ ký tự. Trong thực tế, một máy cụ thể có thể lƣu giữ ít hơn, do các hạn chế của bộ nhớ, các yêu cầu phần việc chung của Windows, hoặc số lƣợng chuỗI dùng trong biểu mẫu. 2. Kiểu Integer Các biến số nguyên Integer lƣu trữ các trị số nguyên tƣơng đốI nhỏ ( Giữa – 32768 và + 32767). Số học số nguyên tuy rất nhanh song bị hạn chế trong phạm vi này. Dấu định danh đƣợc dùng dấu “ %” 3. Kiểu Long Integer Các biến số nguyên dài Long Integer lƣu trữ các số nguyên giữa – 2,147,483,648 và +2,147,483,647. Dấu định danh đƣợc dùng là dấu “ &” 4. Kiểu Single Precision Các biến kiểu này lƣu giữ các con số ở các mức xấp xỉ. Chúng có thể là phân bố nhƣng chỉ có thể đảm bảo độ chính xác ở mức bảy chữ số. Dấu định danh đƣợc dùng là dấu “!” 5. Kiểu Double Precsion Kiểu dữ liệu chính đôi [double_precision] khi cần các con số có tớI 16 vị trí độ chính xác và cho phép có hơn 300 chữ số. Các phép tính cũng là xấp xỉ cho kiểu biến này, chỉ có thể căn cứ trên 16 chữ số đầu. Ngoài ra, vớI các con số chính đôi, phép tính thực hiện tƣơng đốI chậm, chủ yếu đƣợc dùng trong các phép tính khoa học của Visual Basic. Dấu định danh dùng cho biến chính đôi là dấu pao “# “. PhảI dùng số “ # “ tạI cuốI con số thực tế nhất là khi có tƣơng đốI ít chữ số bởI bằng không, Visual Basic sẽ mặc nhận ý ta muốn dùng độ chính xác của một số chính đơn chính xác hơn nếu ta viết. AduoblePrecision Variable # =12.45#. 6. Kiểu Currency Các biến kiểu này đƣợc thiết kế để tránh một số vấn đề trong khi chuyển từ các phân số nhị phân thành các phân số thập phân ( không thể tạo 1/10 từ số tổ hợp 1/4,1/8,1,16 ). Kiểu Currency có thể có bốn chữ số về bên phảI của vị trí
- thập phân và lên tớI 14 chữ số về bên trái của dấu chấm thập phân. Dấu định danh đƣợc dùng là “@” 7. Kiểu Date Kiểu dữ liệu ngày tháng là một phƣơng cách tiện dụng để lƣu trữ thông tin cả ngày tháng lẫn giờ khắc cho bất kỳ thờI điểm nào giữa nửa đêm ngày 1 tháng riêng năm 100 đến nửa đêm ngày 31 tháng 12 năm 9999. Ta phảI bao phép gán cho các biến ngày tháng bằng dấu #. Ví dụ: Ngày = # January,1,2000#. Nếu không gộp một giờ khắc vào ngày, Visual Basic mặc nhận nó là nửa đêm 8. Kiểu Byte Kiểu Byte mớI trong Visual Basic 5 và có thể lƣu trữ các số nguyên giữ 0 và 225. 9. Kiểu Boolean Dùng kiểu Boolean khi cần các biến là True hay False 10. Kiểu Variant Kiểu Variant đƣợc thiết kế lƣu trữ toàn bộ dữ liệu khả dĩ khác nhau của Visual Basic nhận đƣợc trong một chỗ. Nếu ta không báo cho Visua Basic còn cho phép dùng điều lệnh “ Dim” để khai báo biến Ví dụ: Dim As integer IV. Điều khiển luồng chƣơng trình 1. Phát biểu IF IF điều kiện THEN Các lệnh thực hiện khi điều kiện thỏa ELSE Các lệnh thực hiện khi điều kiện không thỏa END IF. 2. Phát biểu SELECT CASE Đây là cấu trúc chọn lựa SELECT CASE X CASE 0: Các lệnh thực hiện khi X =0 CASE 1: Các lệnh thực hiện khi X=1 . CASE n: Các lệnh thực hiện khi X=n END SELECT. 3. LỆNH DO WHILE LOOP Đây là cấu trúc lặp kiểm tra điều kiện trƣớc, vòng lặp tiếp tục khi điều kiện lặp còn đúng DO WHILE Điều kiện
- Các lệnh thực hiện khi điều kiện còn thỏa LOOP 4. Lệnh DO LOOP WHILE Đây là cấu trúc lặp kiểm tra điều kiện sau, vòng lặp tiếp tục khi điều khiển lặp còn đúng DO Các lệnh LOOP WHILE Điều kiện Nhƣ vậy với cấu trúc này, vòng lặp thực hiện ít nhất 1 lần 5. Lệnh FOR NEXT Đây là cấu trúc lặp hay dùng nhất trong Visual Basic FOR TO STEP n Các lệnh NEXT Trong đó Step là bƣớc tăng. Mặc định Step là 1 6. Lệnh DO LOOP UN TIL DO Các lệnh LOOP UNTIL Điều kiện Tƣơng tự nhƣ DO LOOP WHILE. Vòng lặp thực hiện ít nhất 1 lần. 7. Phát biểu EXIT FOR Phát biểu EXIT đƣợc sử dụng khi cần dừng ngay quá trình lặp FOR 8. Lệnh EXIT FOR Phát biểu EXIT đƣợc sử dụng khi cần ngay quá trình lặp FOR 9. Lệnh EXIT DO Phát biểu EXIT DO sử dụng khi cần dừng ngay quá trình lặp của phát biểu DO V. Hiện thị và nhận thông tin Ta sử dụng các hộp đốI thoạI để hiện thị thông tin cho ngƣờI dùng hoặc nhận thông tin. Trong Visual Basic có ba loạI hộp đốI thoạI: - Hộp đốI thoạI có sẵn (Predefined Dialog Box). - Hôp đốI thoạI của ngƣờI dùng (Custom Dialog Box) - Hộp đốI thoạI chung (Cômmn Dialog Box) 1. Hộp đốI thoạI có sẵn Các hộp đốI thoạI này do Visual Basic định sẵn, chúng có các tham mƣu số qui định dạng hiện thị chung. Ta có thể hiện thị các hộp đốI thoạI có sẵn thông qua. - Phát hiểu MsgBox hay hàm MssgBox () - Hàm InputBox. 2. Phát biểu MsgBox hay hàm MsgBox() Ta sử dụng MsgBox hay hàm MsgBox() để hiện thị thông tin báo và nhận lạI trả lờI của ngƣờI dùng. Phát biểu MxgBox hay hàm MsgBox() có ba đốI:
- - Thông báo cần hiện thỊ: chuỗI ký tự - Dạng hộp đốI thoạI: số nguyên ( integer) - Tiêu đề hộp đốI thoạI: chuỗI kí tự MsgBox (Message, Dialog Type, Tittle). Khi sử dụng hàm MsgBox() thì ta phảI có giá trị trở về * Hàm Input Box() Hàm InputBox() dùng nhận thong tin từ ngƣờI dùng. Hàm InputBox() gồm: Một dòng thông báo (Message), hộp sọan thảo và hai nút OK, Cencel. NgƣờI dùng đƣa thông tin nhập vào hộp thoạI soạn thảo và bấm OK. Tham số thứ nhất của InputBox() là dòng thông báo, thông số thứ hai là tiêu đề dòng hộp thọai InputBox () trả về chuỗI ký tự trong hộp soạn thảo. Hàm InputBox còn có thêm ba thông số khác. ĐốI thứ ba xác định chuỗI ban đầu trong hộp soan thảo ngay khi hộp đốI thoạI xuất hiện. Hai đốI số cuốI xác định toạ độ của hộp đốI thoạI + Hộp đốI thoạI của ngƣờI dùng: Đây là loạI hộp đốI thoạI do ngƣờI ngƣờI lập trình định nghĩa để tƣơng thích yêu cầu nhập thông tincủa ngƣời sử dụng. Dùng phƣơng thức Show vớI đốI số 1 ( do hộp thoạI dạng Modal ) để hiện thị hộp thoạI ngƣờI dùng + Hộp thoạI dùng chung: Ta có thể thực hiện (run time) bằng cách thay đổI một số thuộc tính của nó VI. Các hàm về chuỗi CHUỖI Do thông tin trong các hộp văn bản Visual Basic luôn đƣợc lƣu trữ dƣớI dạng văn bản, nên trong Visual Basic, các chuỗI tỏ ra quan trọng hơn nhiều so vớI Visual Basic bình thƣờng. Một chuỗI chẳng qua là một nhóm ký tự đƣợc bao trong các dấu nháy kép.Khi có ngƣờI nhập thông tin vào hộp văn bản, Visual Basic luôn lƣu trữ chúng dƣớI dạng một chuỗi. Do đó, cho dù ta có một hộp văn bản chủ yếu là để lƣu trữ một khốI lƣợng, thì nộI dung đó vẫn đƣợc xem là một chuỗi. Phép toán phổ dụng nhất đốI vớI các chuỗI là gom hai chuỗI lạI vớI nhau ( thuật toán gọI phép nốI [concatenate]). Để ghép nốI hai chuỗI, ta dùng dấu “&” day dấu “+”. Dấu và nốI các chuỗI theo thứ rtự mà ta nêu chúng. Do đó, giống nhƣ việc cộng các con số, thứ tự quan trọng khi dùng dấu & để nghép hai chuỗI vớI nhau. Cũng có thể dùng dấu & để nghép số lƣợng tuỳ ý trƣớc khi Visual Basic thực hiện điều lệnh gán . Tuy trong Visual Basic vẫn có thể dùng dấu + để nghép các số vớI nhau, song không nên làm thế. Nó có thể dẫn đến các mốI rất khó tìm vì Visual Basic có thói quen là chuyển đỏI các chuỗI thành con số khi nó cho là đúng nghĩa. CÁC HÀM CHUỖI Phần lớn cái ta cần trong lập trình là phân tích dữ liệu. Tiến trình này có thể đơn giản chỉ là việc tách nhỏ một tên đầy đủ thành tên thƣờng gọI và tên họ, song cũng có thể phức tạp nhƣ viết mã cần thiết để chuyển đổI một tập tin từ dạng này
- sang dạng thức khác. MọI kiểu điều tác nhƣ vậy buộc ta phảI nắm dữ các hàm điều quản chuỗI Visual Basic. Trong Visual Basic, các hàm này cho phép ta xét từng ký tự trong chuỗI tách riêng các chuỗI thay một phần trong chuỗI bằng nộI dung khác, v.v 1. Phân tích chuỗI bằng hàm Mid, Left và Right Để tiến hành phân tích một chuỗi hiện có, ta phảI đặt một hàm trong thân vòng lặp cho phép kéo từng mẫu tự riêng lẻ ra khỏI một chuỗi. For I = I To Len ( The String ) „ mã hàm làm việc vớI các ký ự riêng lẻ Next I 1.1. Hàm Mid Trong các hàm trên, quan trọng nhất, ta có hàm Mid, trả về một chuỗI lƣu trữ trong một variant, và hàm Mi$, hàm trả về chuỗI thực tế. Có thể dùng hoán đổI hai phiên bản này. Cú pháp của hàm Mid là: Mid(String, start [length]. Khoản nhập đầu tiên lƣu trữ chuỗI ( hoặc biểu thức chuỗI) mà ta muốn cắt bỏ. Tiếp theo là vị trí khởI đầu của kí tự mà ta muốn ra khỏI chuỗi. Vị trí chót tuỳ chọn sẽ chỉ định số lƣợng kí tự mà ta muốn kéo ra. Hai tuỳ chọn chót này có thể là những số nguyên dài hoặc một biểu thức mà Visual Basic có thể làm tròn để làm trong miền này. Mid là một hàm có ba ( hoặc thỉnh thoảng là hai) tham số, hay đốI số. Cả hai thuật ngữ này đều vay mƣợn từ toán học. Trong một hàm, từng đói số đƣợc tách biệt vớI nhau bằng dấu phẩy. Hàm Mid thƣờg dùng ba mẩu tin: Một chuỗI tạI vị trí đầu tiên và các số nguyên hay các số nguyên dài tạI hai vị trí còn lại. Mid còn một tính năng hữu ích khác. Ta có thể dùng nó nhƣ một điều lệnh để tiến hành các thay đổI bên trong một chuỗI *Hàm Left và Right Hàm Mid có hai hàm bà con (Left và Right) đôi lúc cũng rất hữu ích cũng nhƣ mọI hàm chuỗI khác, chúng cũng có hai hiên bản: một bình thƣờng và một có kèm dấu $. Nhƣ tên gọI gợI ý, Left (Left$) tạo một bản sao các ký tự từ đầu một từ và Right (Right$) chọn từ cuốI trở lên. Right thƣờng đƣợc dùng hơn. Nó tránh đƣợc phép trừ bên trong hàm Mid và có thể làm việc nhanh hơn. Left cũng làm việc tƣơng tự nhƣng chỉ giúp ta đỡ mất công đƣa một 1vị trí thứ hai trong hàm Mid. Hàm InStr Cũng nhƣ hàm Mid, Hàm InStr cũng làm việc vớI ba (và đôi lúc là hai) mẩu tin. Nghĩa là, nó là một hàm có ba ( và đôi lúc có hai) đốI số. Gỉa sử, ta muốn tìm tất cả mọI chữ số đứng trƣớc dấu chấm thập phân trong một con số, tất nhiên, có thể dùng hàm Mid để dà qua biên bản chuỗI của con số đó, theo từng ký tự một, cho đến khi tìm thấy dấu chấm thập phân. Tuy nhiên, làm nhƣ vậy sẽ nhọc công và chạy chậm hơn nhiều so vớI hàm InStr.
- Hàm InStr báo cho biết chuỗI có thuộc thành phần của một chuỗI khác hay không ( chuyên ngữ gọI là “ chuỗI con của “). Nếu có, InStr sẽ báo cho biết vị trí bắt đầu chuỗI con. Hàm InStr cũng cho phép chỉ định bắt đầu tìm kiếm tạI một ký tự nhất định. Ví dụ: InStr ([nowi bắt đầu]) chuỗI tìm kiếm, chuỗI tìm thấy ) định nơi bắt đầu tìm kiếm. Nếu để trống mục này, cuộc tìm kiếm sẽ bắt đầu từ vị trí thứ nhất . Do hàm InStr trả về giá trị zêzo ( nghĩa là False) khi Visual Basic không tìm thấy một ký tự, hoặc một giá trị phi zêzo (True) khi tìm thấy, nên thông thƣờng ta phảI tự mình viết các vòng lặp If _ Then hoặc Do dùng hàm InStr để tiến hành kiểm tra. Nếu dùng giá trị mà hàm InStr đạt đƣợc trƣớc đó, ta có thể tìm kiếm các lần xuất hiện lặp lạI của một chuỗi. Hàm Val Visual Basic có một hàm tên Val. Đây là một dạng hàm chuyển đổI tất thảy, vì thế trong Visual Basic ngƣờI ta vẫn thƣờng dùng Val để chuyển đổI một chuỗI số thành một con số. Mặt khác Val lạI tỏ ra dễ dãi vớI các chuỗI nhập dữ liệu hơn. Val đơn giản đọc qua chuỗI cho đến khi gặp một ký tự phi số ( hoặc một dấu chấm thứ hai ). Con số mà ta có đƣợc tự nó sẽ đƣợc xác dịnh bởi nơi nó ngƣng tìm. Hàm Str (Str$) Visual Basic cho phép chuyển đƣợc một con số thành một chuỗi. Có nhiều cách để thực hiện, song hàm Str vẫn là cách đơn giản nhất. Hàm Str trả về một Variant lƣu trữ một chuỗI còn hàm Str$ lạI trả về một chuỗI thuần tuý. Các hàm Str và Str$ chuyển đổI các con số thành chuỗI, song không xoá sạch chúng hoàn toàn. Hàm Format Để trau chuốt việc hiện thị, hàm Str đƣợc thay bằng hàm Format. Khác vớI hàm Str, hàm Format không chừa chỗ cho dấu + mặc định. Hàm format rất linh hoạt. Trong số nhiều tính năng của nó, hàm nàycho phép ta cắt cụt các chữ số dƣ và hiện thị một con số ( lớn) có dấu phẩy hoặc một dấu đồng đo la $ dẫn đầu. Visual Basic giúp ta dễ dàng đốI phó vớI các tình huống định dạng phổ biến nhất, bằng cách bổ sung cái gọI là các dạng thức hữu danh vào hàm Format Hàm Trim Hàm này đƣợc sử dụng để loạI bỏ các khoảng trắng ở hai đầu một chuỗi.Ngoài ra, còn có hàm Ltrim và Rtrim dùng để cắt bỏ các khoảng trắng ở bên trái, bên phảI chuỗi. VII. Mảng và truy cập tuần tự 1.Mảng Trƣớc khi dùng bảng ta cần khai báo mảng bao gồm: Tên mảng, số phần tử. Tƣơng tự nhƣ khai báo biến, nếu mảng đƣợc khai báo trong phần khai báo chung của Form, mảng đƣợc dùng chung cho mọI thủ tục trong Form. Nếu mảng đƣợc khai báo trong tập tin module vớI các khoá Gobal, mảng đƣợc dùng chung cho mọI thủ tục có mặt trong Project. Có khi phảI lƣu trữ một mảng trong một variant, ta dùng chỉ mục bình thƣờng để tìm đến nó.
- Mảng biến [variant array] ( gọI tắt là mảng ) là cấu trúc căn bản để tổ chức thông tin trong Visual Basic. Có thể dễ dàng lƣu trữ và tìm nhiều mục trong mảng. Để phân biệt giữa các mục lƣu trữ trong mảng, ta dùng kiểu tham số đặc biệt có tên chỉ mục [index]. Tất nhiên, một khi bắt tay xây dựng các mảng lớn, ta cần có các phƣơng cách nhanh chóng, hiệu quả để tìm và sắp xếp nộI dung. Để thực hiện ta dùng hàm Array vớI cú pháp là: Array (arglist) Ở đó, đốI số arglist bao gồm một danh sách các mục, đƣợc tách biệt bởI các dấu phẩy, ví dụ Dim A As Variant A = Array (1, 2, 3, 4, 5) 2. Các danh sách mảng môt chiều Chủ chƣơng của mảng một chiều ( gọI là danh sách [list] đó là cung cấp một phƣơng thức có hệ thống để đặt tên các nhóm biến có liên quan, thuộc thành phần của một mảng. VớI Visual Basic, mảng một chiều [ one_dimensional array] chẳng qua là một tập hợp [collection] các biến, mà từng biến đƣợc định dang bởI hai nộI dung: - Tên mảng - Vị trí của mục trên mảng. Mảng Fonts mà Visual Basic dùng để lƣu trữ tên các phông chữ và các phông chữ đƣợc lƣu chữ trong Fonts (0), Fonts(1), v . v Lƣu ý: dấu đồn đo la “$” cho biết các biến trên mảng một chiều này sẽ lƣu giữ các chuỗi. * Cách làm việc vớI mảng một chiều Các giá rị bên trong mảng một chiều thƣờng đƣợc gán bằng một vòng lặp For_Next hoặc dùng một vòng lặp Do kèm vớI một đợt kiểm tra, bởI thông thƣờng ta muốn ngƣng trƣớc khi nhập toàn bộ dữ liệu. Có thể ta thấy an tâm khi luôn biết chắc số lƣợng các mục trong một mảng một chiều. Nó giúp cho tiến trình gỡ rốI dễ dàng hơn, cũng nhƣ hầu hết các lập trình viên, có thể thấy các vòng lặp For_Next dễ dàng hơn so vớI vòng lặp Do. Các hộp liệt kê cũng là một cách để lƣu trữ thông tin ( kiểu mảng) trong vài tình huống, việc dùng hộp liệt kê có thể là một phƣơng cách lƣu trữ dữ liệu tốt hơn so vớI mảng một chiều 3. Mảng đa chiều Có thể dùng các mảng có nhiều chiều; thƣờng đƣợc gọI là mảng đa chiều [multidimensional array]. Cũng nhƣ các danh sách dữ liệu dẫn đến một chỉ số dƣớI đơn ( các mảng một chiều), các bảng dữ liệu dẫn đến các chỉ số dƣớI kép ( mảng hai chiều). Ta có qui ƣớc: tham chiếu khoản nhập đầu tiên cho số lƣợng hàng và khoản nhập thứ hai để cho số lƣợng cột. Theo qui ƣớc này, ta có thể mô tả đoạn mã của bảng cửu chƣơng dƣớI dạng điền trọn một hàng, theo từng cột nhập thứ hai để cho
- số lƣợng cột. Theo qui ƣớc này, ta có thể mô tả đoạn mã của bảng cửu chƣơng dƣớI dạng điền trọn một hàng, theo từng cột, trƣớc khi dờI đến hàng kế tiếp. Mảng đƣợc sử dụng trong chƣơng trình ARRAYS là mảng một chiều. Visual basic cho phép khai báo mảng nhiều chiều. ví dụ sau khi khai báo mảng hai chiều : Static MyArray (0 to 3,1 to 4) Các phần tử mảng đƣợc liệt kê nhƣ sau: MyArray (0,1) My Array (0,2) MyArray (0,3) MyArray (0,4) MyArray(1,1) MyArray (1,2) MyArray (1,3) MyArray (1,4) MyArray(2,1) MyArray (2,2) MyArray (2,3) MyArray (2,4) MyArray(3,1) MyArray (3,2) MyArray (3,3) MyArray (3,4) Tƣơng tự khai báo mảng ba chiều Dim MyArray (1 to 3, 1 to 7, 1 to 5). Visual Basic cho phép mảng khai báo mảng tốI đa có 60 chiều! Sau đây là mã lệnh cho phép gán giá trị 3 vào các phần tử mảng hai chiều Static MyArray (1 to 10, 1 to 10) Dim Counter 1, Counter 2 For Counter 1 = 1 to 10 For Counter 2 = 1 to 10 MyArray (Counter 1, Counter 3) =3 Next Next 4.Mảng động và mảng cố định Trong Visual Basic, các mảng không thể kết thúc mở. Mặc dù, các giới hạn khá lớn, tuỳ thuộc khá nhiều vào lƣợng bộ nhớ đang có, ta phảI báo cho Visual Basic biết phảI chừa riêng một lƣợng bộ nhớ là bao nhiêu cho mảng trƣớc khi dùng nó. Có hai kiểu mảng trong Visual Basic: mảng cố định [fixed array], ở đó việc phân bổ bộ nhớ không bao giờ thay đổI trong khi đang chạy chƣơng trình, và mảng động [dynamic arrays], ở đó có thể thay đổI kích cỡ ngay khi chạy chƣơng trình. Ƣu điểm của mảng cố định là: do bộ nhớ đƣợc chừa riêng ngay tạI đầu chƣơng trình, ta hiếm khi gặp sự cố cạn kiệt bộ nhớ trong khi chƣơng trình đang chạy. Ƣu điểm của mảng động là: Khả năng linh hoạt của chúng; có thể thay đổI kích cớ để đáp ứng những gì mà chƣơng trình thƣờng gặp. Có thể cả mảng động và mảng cố định sẵn dùng cho toàn bộ ứng dụng, cho một Form hay một module cụ thể, hoặc chỉ trong phạm vi của một thủ tục hay hàm. Khi dùng mảng bao giờ cũng phảI khai báo sao cho số lƣợng cần phảI vừa đủ theo yêu cầu ứng dụng cần xây dựng chƣơng trình, không nên lãng phí bộ nhớ. Tuy nhiên có nhiều trƣờng hợp kích thƣớc mảng phụ thuộc lúc chƣơng trình thực hiện (run – time), chúng ta không thể xác định trƣớc đƣợc. Visual Basic cung cấp một khả năng đáp ứng trƣờng hợp này: khai báo mảng kích thƣớc thay đổI - mảng động. Ví dụ sau khi khai báo mảng động:
- Sub cmdArray 1_Click() Dim Counter „ khai báo mảng Array 1 là mảng động Static Array 1() As Integer „ Thay đổI kích thƣớc mảng Array 1 ReDim Array 1( 1 to 15) As Integer For Counter = 1 to 15 Array 1( Counter) = Counter Next. Thay đổI lạI kích thƣớc mảng Array 1 ReDim Array 1( 1 to 5) As Integer End Sub Đầu tiên khi khai báo Static Array 1() As Integer. Kích thƣớc mảng Array 1 chƣa xác định. Lệnh sau sẽ cố định mảng Array 1 có 15 phần tử: ReDim Array 1( 1 to 15) As Integer Sau một số xử lý ( ví dụ gán giá trị cho 15 phần tử ), mảng Array 1 đƣợc cố địng lạI chỉ còn 5 phần tử ReDim Array 1(1 to 5) As Integer Một lƣu ý khi thay đổI kích thƣớc mảng, các nộI dung cũ sẽ bị mất,nếu ta muốn giữu lạI giá trị cũ của 5 phần tử còn lạI sau khi thay đổI, ta cần viết lạI nhƣ sau: ReDim Preserve Array 1( 1 to 5) As Integer. 5. Dùng danh sách và mảng vớI các thủ tục và hàm Visual Basic có một đặc phận tuyệt vờI để dùng các danh sách và các mảng trong các thủ tục và các hàm. Không nhƣ nhiều ngôn ngữ khác, Visual Basic dễ dàng gởI cho thủ tục các danh sách hay mảng có kích cỡ bất kỳ. Các mảng luôn đƣợc chuyển theo tham chiếu. Điều này có nghĩa là mọI thay đổI đã tạo cho mảng hay cho các khoản nhập trong mảng vẫn trƣờng tồn cả khi Visual Basic rờI hàm thủ tục đó. Tất nhiên để mảng chuyển theo tham chiếu có nghĩa là ta chẳng cần dùng các mảng cấp Form trừ khi muốn mảng sẵn dùng khắp nơi. Để gửi một tham số mảng cho một thủ tục hay hàm, ta chỉ việc dùng tên mảng theo sau là các dấu ngoặ đơn mở và đóng (), trong danh sách các tham số TẬP TIN TRUY CẬP TUẦN TỰ Khi truy xuất tập tin từ đầu theo từng dòng văn bản, tập tin nhƣ thế đƣợc gọI là tập tin truy xuất tuần tự . Ta có thể mở tập tin theo kiểu truy xuất tuần tự theo ba cách. - Cách1: Output - Cách 2: Append - Cách 3: Input. 6.Mở tập tin theo kiểu truy xuất tuần tự bằng Output
- Dùng kiểu Output tạo tập tin truy cập tuần tự. Sau khi tạo tập tin, ta có thể dùng các lệnh xuất để viết tên tập tin này. Ví dụ sau tạo tập tin TRY.TXT: FileNum = FreeFile Open “TRY.TXT” For Output As FileNum. Nếu tập tin TRY.TXT đã tồn tạI, nộI dung cũ bị xóa đi! Tập tin TRY.TXT không có đƣờng dẫn nên có đƣợc tạo trong thƣ mục hiện hành. Muốn tạo ở thƣ mục xác định nào đó ( ví dụ C:\ PROG), ta cần chỉ rõ nhƣ sau: Open “ C:\PROG\TRY.TXT” For Output As FileNum. Tập tin mở bằng kiểu Output chỉ cho phép ta viết lên mà thôi. Ta có thể viết bằng phát biểu Print#. FileNum = FreeFile Open “ TRY.TXT” For Output As FileNum „ Viết nộI dung thuộc tính Text cuat MyText ra „ TRY.TXT Print # FileNum, txtMyText.Text „Đóng tập tin TRY.TXT Close FileNum. Phát biểu Print cần hai tham số. Tham số thứ nhất là thẻ File cần nghi ra và tham số thứ hai là chuỗI cần nghi. 7. Mở tập tin theo kiểu truy xuất tuần tự bằng Append: Kiểu Append tƣơng tự nhƣ Output nhƣng điểm khác chính là khi tập tin đƣợc mở đã tồn tạI, nộI dung cũ không bị xoá. Gỉa sử tập tin TRY.TXT đang có sẵn hai dòng: THIS IS LINE NUMBER 1 THIS IS LINE NUMBER 2 Mở TRY.TXT theo kiểu Append: FileNum = FreeFile Open “ TRY.TXT” For Append As FileNum Print # FileNum, “THIS IS A NEW LINE” Close FileNum. Bây giờ TRY.TXT chứa: THIS IS LINE NUMBER 1 THIS IS LINE NUMBER 2 THIS IS A NEW LINE Nếu đoạn lệnh trên thực hiện một lần nữa, TRY.TXT chứa THIS IS LINE NUMBER I THIS IS LINE NUMBER 2 THIS IS A NEW LINE THIS IS A NEW LINE 8. Mở tập tin theo kiểu truy xuất tuần tự bằng Output Khi cần đọc tập tin truy xuất tuần từ, ta cần mở tập tin theo kiểu Input. Sau đó, dùng hàm Input$ ()để đọc. Ví dụ, sau khi mở TRY.TXT theo kiểu Input và đọc vào txtMytext:
- FileNum = FreeFile Open “ TRY. TXT” For Input As FileNum Open “ TRY.TXT “ For Input As FileNum. „Đọc vào toàn bộ TRY.TXT thuộc tính Text của „ txtMytext txtMytext.Text = Input$ (LÒ (FileNum), FileNum) „Đóng tập tin TRY.TXT Close FileNum. Hàm Input$ () cần hai tham số. Tham số thứ nhất xác định số Byte cần đọc, tham số thứ hai là thẻ file 9. Phát biểu Write # và Input # Cách khác thay cho Print # và Input$ () trong viẹc ghi/đọc là Write# và Input#. Phát biểu Write# cho phép ghi một loạt các biến ( dạng chuỗI hay số ). Ví dụ sau viết hai biến MyString và MyNumber ra tập tin TRY.TXT: FileNum = FreeFile Open “ TRY.TXT” For OUTPUT As FileNum Write#FilenNum MyString, MyNumBer Close FileNumber. Phát biểu Input# dùng đọc tập tin nộI dung trở vào các biến. Ví dụ đọc lạI giá trị ghi trở lạI các biến MyString và MyNumber: FileNum = FreeFile Open “ TRY.TXT” For Input As FileNum Input# FileNum MyString, MyNumBer Close FileNum VIII. Hàm và thủ tục do ngƣờI dùng định nghĩa Trong visual Basic, thực tế có hai kiểu thủ tục chung: các thủ tục Function và thủ tục Sub. Thủ tục Function, còn gọI là hàm do ngƣờI dùng định nghĩa, là phƣơng cách để xây dựng các hàm riêng ngoài các hàm do Visual Basic định sẵn. Dẫu đó là hàm do ta viết hay của các lập trình viên Visual Basic cung cấp, nói chung ta xem nó nhƣ một đoạn mã tự chƣa, đƣợc thiết kế để xử lý dữ liệu và trả về giá trị. Trong khi đó, các thủ tục Sub là những : chƣơng trình trợ lực nhỏ, đƣợc dùng khi cần. Nhƣ vậy các thủ tục Sub là những phần tổng quát hoá của các thủ tục sự kiện mà ta đã quen thuộc. Khác vớI hàm, thƣờng trả về một giá trị, các thủ tục đơn giản thực hiện các việc. Tóm lạI, dẫu chọn thủ tục Function hay thủ tục Sub, điểm chủ yếu vẫn là: các thủ tục Function và Sub thực hiện một hay nhiều nộI dung dƣớI đây: - Giúp tách nhỏ các công việc lớn thành các phần việc nhỏ. - Tự động hoá các tác vụ lặp lại. - Làm rõ nộI dung mà ta đang gắng hoàn tất bằng cách “ Nêu tên” một đoạn mã. Các tính năng này giúp giảm bớt đáng kể thờI gian gỡ rốI chƣơng trình.
- 1 .Hàm ( FUNCTION) Khi phảI dùng một biểu thức phức hợp nhiều lần trong một đề án thì cũng là lúc ta nên nghĩ đến phƣơng án định nghĩa các hàm riêng. Ta có thểvận dụng một cách nào đó để tựu động hoá tiến trình, nghĩa là để Visual Basic thực hiện một phần nào đó để tự động hoá tiến trình, nghĩa là để Visual Basic thực hiện một phần công việc. Đây là vai trò của chƣơng trình con, muốn trả về một giá trị, ta phảI tạo một thủ tục Function, tức là hàm do ngƣờI dùng định nghĩa. Nhƣ thƣờng lệ, Cửa sổ Code vẫn là nơi để tạo mã cho các thủ tục Function. Tên hàm cũng linh hoạt nhƣ tên biến, do đó ta nên chọn các tên có ý nghĩa. Nhờ vậy, chƣơng trình sẽ minh bạch hơn và cũng dễ gỡ rốI hơn. Lƣu ý, trừ khi gán cho nó một dấu định danh kiểu rõ rệt ở cuốI tên hoặc thông qua mệnh đề As, kiểu của hàm sẽ ngầm định theo kiểu dữ liệu Variant. DƣớI đây là một dạng định nghĩa hàm, tuy đơn giản nhất nhƣng khá phổ biến. Pulic Function FunctionName (parameter 1, paratemeter 2, ) Staterments FunctionName = expression Staterments FunctionName = expression Staterments Vân vân END FUNCTION Ở đó, parameter 1, paratemeter 2, vân vân , đều là biến. Các biến này đƣợc xem nhƣ những tham số hay đốI số của hàm. Kiểu của tham số có thể đƣợc chỉ định bởI các thẻ gán khai báo kiểu hoặc bằng các cụm từ As. Khi một điều lệnh Visual Basic sử dụng một hàm, thƣờng có: gọI hàm và chuyển các biểu thức cho các tham số. Hàm đƣợc xem là trả về giá trị của nó. Kiểu giá trị mà hàm trả về sẽ đƣợc chỉ định bằng một thẻ gán khai báo biến (%, !, &, # hoặc $) đƣợc chắp vào tên hàm, hoặc tên dùng trong mệnh đề As ở cuốI dòng Function, hoặc một điều lệnh DefType xuất hiện bên trên phần định nghĩa Function. Ngoài ra, vớI một ngoạI lệ ta chỉ có thể gọI một hàm khi dùng cùng vớI số lƣợng đốI số nhƣ các tham số trong phần định nghĩa hàm. Từng biến muốn gởI cho tham số phảI thuộc cùng kiểu ( số nguyên, số nguyên dài, v.v ) vớI tham số tƣơng ứng. Ngoài ra, có thể dùng bất kỳ biến nào nếu nhƣ tham số thuộc kiểu Variant. Có nghĩa là, chỉ có thể chuyển một đốI số biến số nguyên cho một tham số số nguyên. Ta không thể trực tiếp chuyển nó cho một tham số số nguyên dài của một hàm. Nhƣ ta đã biết Visual Basic từ chốI chuyển một biến có kiểu số nguyên cho một tham số kiểu long, cho dù trong hầu hết các trƣờng hợp một số nguyên sẽ làm việc tạI mọI nơi số nguyên dài làm việc. CuốI cùng, đừng quên rằng trong tất cả các hàm, chúng ta chƣa thay đổI các biến bằng cách đƣa biến tham số vào bên trái của một điều lệnh gán bên trong thân hàm. Nghĩa là, ta chƣa thực hiện phép gán nào cho các tham số trong thân hàm.
- Tuy nhiên, trong thực tế, hiếm khi phảI thay đổI giá trị của một tham số trong thủ tục Function. Nói chung, một hàm sẽ đơn giản điều tác các giá trị hiện có và trả về một giá trị mới . 2. Thủ tuc ( SUB) Các thủ tục Function đƣợc thành lập để thực hiện hầu nhƣ mọI thứ, chỉ cần nộI dung muốn thực hiện chính là để có một đáp số - một giá trị - rút ra từ các hàm đó. Nhƣ đã nêu trên đây, tuy các hàm có thể thay đổI các tính chất của một Form, ảnh hƣởng đến giá trị của các biến chuyển dƣớI dạng tham số, hoặc ảnh hƣởng đến các biến cấp Form, song không thể làm thế trừ khi sự thay đổI đó có liên quan đến nộI dung thực hiện của hàm đƣợc thiết kế. Trong mọI trƣờng hợp, một hàm sẽ nhận dữ liệu thô, điều tác nó, rồI trả về một giá rị. Để tránh gõ lặp các điều lệnh gán vô bổ và làm rốI tung vấn đề, ta có một cấu trúc mớI: thủ tục Sub. Thủ tục Sub là công cụ chọn lựa trong trƣờng hợp chỉ muốn viết một khốI mã thực hiện một nộI dung nào đó, cũng tƣơng tự nhƣ thủ tục Event. Giống nhƣ trong thủ tục Function, ta thƣờng dùng Tools/ Add Procedure báo cho Visual Basic biết muốn định nghĩa một thủ tục Sub. Nhƣng có trƣờng hợp, ta nhắp nút tuỳ chọn Sub. DƣớI đây là cấu trúc đơn giản nhất của thủ tục Sub – song vẫn đủ mạnh để phiên dịch đề cƣơng: Puclic Sub Chorus () „ Nhiều điều lệnh in End Sub. Cũng nhƣ các hàm khác, dòng đầu tiên của thủ tục Sub có tên là phần đầu. Cũng nhƣ các hàm do ngƣờI dùng định nghĩa, phần đầu này có thể có các từ chỉ định truy cập ( chẳng hạn là Pulic ). Sau đó là từ khoá Sub rồI đến thủ tục. Tên thủ tục Sub cũng phảI theo các qui tắc nhƣ trong biến. Kế tiếp là danh sách tham số, đƣợc bao trong các dấu ngoặc đơn, dành cho các thông tin mà hàm sẽ dùng. Chẳng hạn, thủ tục sự kiện Click () và thủ tục Chorus Sub không dùng tham số nào cả. Lƣu ý, cho dù thủ tục không dùng tham số, song vẫn phảI có dấu ngoặc đơn trống trong Sub. Sau Sub là các dòng chứa các điều lệnh tạo thành thủ tục. Các điều lệnh này còn gọI là thân ( của thủ tục ). CuốI cùng, Ta có các từ khoá End Sub nằm ở tên các dòng riêng biệt. Cũng nhƣ trong các thủ tục sự kiện, các từ khoá này đƣợc dùng để nêu rõ điểm cuốI của một thủ tục chung. Ngoài ra, ta cần một phƣơng cách để chuyển giao thông tin giữa chƣơng trình chính và thủ tục Sub. Để thực hiện, ta theo cùng cách thức nhƣ các hàm: dùng danh sách tham số. Danh sách tham số đƣợc dùng để liên lạc giữa chƣơng trình chính và thủ tục, khi gọI thủ tục Sub ta dùng tên của nó theo sau là các đốI số (tham số), đƣợc tách biệt bởI các dấu phẩy. Các giá trị (mà thực tế là các vị trí bộ nhớ) của các đốI số sẽ đƣợc chuyển cho các tham số tƣơng ứng trong thủ tục, và các điều lệnh bên trong thủ tục Sub đƣợc thi hành. Khi đạt đến điều lệnh End_ Sub, việc thi hành sẽ tiếp tục vớI các dòng theo sau lệnh gọI đến thủ tục Sub. Cũng nhƣ các thủ tục Function, ta phảI dùng cùng số lƣợng tham số nhƣ số lƣợng tham số đã định nghĩa trong thủ tục Sub, và chúng phảI có cùng kiểu tƣơng thích.
- IX. Mục đích yêu cầu ngƣờI sử dụng Nhu cầu thực tế Trên thực tế nhu cầu xem xét thông tin về một vấn đề nào đó tạI một thờI điểm đốI vớI ngƣờI quản lý, lãnh đạo rất cần thiết. Các thông tin này là một trong nhiều phần nhỏ trong hệ thống dữ liệu đầy đủ. Các dữ liệu cần xem xét chỉ đƣợc quan tâm theo một số khía cạnh nào đó mà thôi. Bài toán đặt ra * Cho phép ngƣờI dùng lựa chọn và tra cứu thông tin công chức - tiền lƣơng trong cơ quan mình một cách thuận tiện và nhanh chóng nhất. * Cho phép ngƣờI dùng có thể bổ sung hoặc thêm bớt công chức - tiền lƣơng trong cơ quan một cách nhanh chóng nế đƣợc nhận quyền tƣơng ứng nhƣ vậy .
- CHƢƠNG III PHÂN TÍCH HỆ THỐNG CHƢƠNG TRÌNH QUẢN LÝ CÔNG CHỨC - TIỀN LƢƠNG CỦA UBDS-GĐ&TE TỈNH KHÁNH HOÀ Phân tích là công việc đầu tiên củaquá trình xây dựng hệ quản lý trên máy tính. Nó giúp chúng ta cài đặt chƣờng trình một cách nhanh chóng và kiểm tra dữ liệu một cách tốI ƣu hơn. Hiệu quả đem lạI cho một chƣơng trình ứng dụng là hoàn toàn phụ thuộc vào độ nông sâu trong quá trình phân tích. I. Mô hình hoá dữ liệu 1. Mô hình quan niệm dữ liệu Mô hình quan niệm dữ liệu là cơ sở để trao đổI giữa ngƣờI phân tích và ngƣờI yêu cầu thiết kế hệ thống. Hệ thống ở đây đƣợc phân tích gồm một số thực thể. Một số các thực thể bao gồm một số các thuộc tính có đặc tính chung và giữa các thực thể sẽ có các mốI kết hợp tƣơng ứng vớI nhau. Mặt khác còn tuỳ thuộc vào lần xuất hiện của mỗI thực thể vào mốI kết hợp, mà các mốI kết hợp còn có thể có các thuộc tính riêng. - Thực thể CẤP BẬC chứa các thuộc tính Mã CB, Tên CB. Trong đó thuộc tính Mã CB là thuộc tính chỉ danh, thuộc tính này nhằm lƣu trữ thông tin về cấp bậc của từng công chức trong cơ quan - Thực thể BINH CHỦNG chứa các thuộc tính Mã BC, Tên BC. Trong đó thuộc tính Mã BC là chỉ danh, thuộc tính này nhằm lƣu trữ thông tin về binh chủng của công chức trong cơ quan ( những ngƣờI là bộ đpộI xuất ngũ trở về ). - Thực thể CCBINH chứa các thuộc tính Mã CC, Ngày nhập ngũ, Ngày xuất ngũ, Mã BC, Mã CB.Trong đó Mã CC, Mã BC, Mã CB là thuộc tính chỉ danh, thuộc tính này nhằm lƣu trữ thông tin về cựu chiến binh trong cơ quan - Thực thể ĐẢNG VIÊN chứa các thuộc tính Mã CC, Ngày VĐ, Ngày CT, Mã Tỉnh.Trong đó Mã CC là thuộc tính chỉ danh, thuộc tính này nhằm lƣu trữ thông tin về đảng viên của công chức trong cơ quan. - Thực thể GIA THUỘC chứa các thuộc tính Mã GT, Họ tên GT, Ngày sinh GT. Trong đó Mã GT là thuộc tính chỉ danh, thuộc tính này nhằm lƣu trữ thông tin về gia thuộc trong gia đình của mỗI công chức trong cơ quan - Thực thể CHỨC VỤ chứa các thuộc tính Mã CV, Tên CV. Trong đó Mã CV là thuộc tính chỉ danh, thuộc tính này nhằm lƣu trữ thông tin về chức vụ của từng công chức trong cơ quan. - Thực thể CƠ QUAN chứa các thuộc tính sau Mã CQ, Tên CQ. Trong đó Mã CQ là thuộc tính chỉ danh, thuộc tính này nhằm lƣu trữ thông tin về cơ quan của từng ngƣờI trong cơ quan. - Thực thể NGHỀ chứa các thuộc tính Mã nghề, Tên nghề. Trong đó Mã nghề là thuộc tính chỉ danh, thuộc tính này nhằm lƣu trữ những thông tin về nghề nghiệp trong cơ quan của từng công chức.
- - Thực thể LOẠI GT chứa các thuộc tính Mã LGT, Tên LGT. Trong đó MÃ LGT là thuộc tính chỉ danh, thuộc tính này nhằm lƣu trữ những thông tin về loạI gia thuộc của công chức trong cơ quan. - Thực thể BẢNG CHẤM CÔNG chứa các thuộc tính : Số ngày làm việc, Số ngày nghỉ không phép, Số tiền thƣởng. Trong đó Số ngày làm việc là thuộc tính chỉ danh, thuộc tính này nhằm lƣu trữ thông tin về bảng chấm công của bộ phận tài vụ cho từng công chức trong cơ quan mình, căn cứ vào bảng chấm công này bộ phận tài vụ mớI lên đƣợc số lƣơng cho công chức. - Thực thể BÂC LƢƠNG chứa các thuộc tính Mã BL, Hệ số L, Mã NL. Trong đó Mã BL, Mã NL là thuộc tính chỉ danh, thuộc tính này lƣu trữ những thông tin về bậc lƣơng của từng công chức trong cơ quan. - Thực thể NGẠCH chứa các thuộc tính Mã NL, Tên NL, Số TLL. Trong đó Mã NL là thuộc tính chỉ danh, thuộc tính này nhằm lƣu trữ những thông tin về ngạch lƣơng của từng công chức trong cơ quan. - Thực thể PHỤ CẤP chứa các thuộc tính Mã PC, Tên PC, tiền. Trong đó Mã PC là thuộc tính chỉ danh, thuộc tính này nhằm lƣu trữ những thông tin về số tiền phụ cấp của công chức trong cơ quan - Thực thể KHEN THƢỞNG KỶ LUẬT chứa các thuộc tính Mã KTKL, Tên KTKL. Trong đó Mã KTKL là thuộc tính chỉ danh, thuộc tính này nhằm lƣu trữ những thông tin về khen thƣởng và kỷ luật của công chức trong cơ quan - Thực thể LÝ DO chứa các thuộc tính Mã lý do, Tên lý do. Trong đó Mã lý do là thuộc tính chỉ danh, thuộc tính này nhằm lƣu trữ những thông tin về lý do của công chức trong cơ quan - Thực thể NƢỚC chứa các thuộc tính Mã nƣớc, Tên nƣớc. Trong đó Mã nƣớc là thuộc tính chỉ danh, thuộc tính này nhằm lƣu lạI những thông tin của công chức trong cơ quan khi có kế hoạch đi công tác tạI nƣớc ngoài - Thực thể ĐƠN VỊ chứa các thuộc tính Mã ĐV, Tên ĐV. Trong đó Mã ĐV là thuộc tính chỉ danh, thuộc tính này nhằm lƣu trữ những thông tin của công chức ở đơn vị trong cơ quan. - Thực thể CHUYÊN MÔN chứa các thuộc tính Mã CM, Tên CM, thờI gian ĐT. Trong đó Mã ĐV là thuộc tính chỉ danh, thuộc tính này nhằm lƣu trữ thông tin về chuyên môn của công chức trong cơ quan. - Thực thể TRƢỜNG chứa các thuộc tính Mã Tr, Tên Tr. Trong đó Mã Tr là thuộc tính chỉ danh, thuộc tính này nhằm lƣu trữ thông tin về trƣờng đã đào tạo công chức trƣớc khi làm việc trong cơ quan. - Thực thể NGOẠI NGỮ chứa các thuộc tính Mã NN, Tên NN. Trong đó Mã NN là thuộc tính chỉ danh, thuộc tính này nhằm lƣu trữ những thông tin về ngoạI ngữ của công chức trong cơ quan. - Thực thể VĂN HOÁ chứa các thuộc tính Mã TĐVH, Tên TĐVH. Trong đó thuộc tính Mã TĐVH là thuộc tính chỉ danh, thuộc tính này nhằm lƣu trữ thông tin về trình độ văn hoá của mỗI công chức trong cơ quan.
- - Thực thể TÔN GIÁO chứa các thuộc tính Mã TG, Tên TG. Trong đó thuộc tính Mã TG là thuộc tính chỉ danh, thuộc tính này nhằm lƣu lạI những thông tin về công chức thuộc tôn giáo nào. - Thực thể DÂN TỘC chứa các thuộc tính Mã DT, Tên DT. Trong đó thuộc tính Mã DT là thuộc tính chỉ danh, thuộc tính này nhằm lƣu trữ những thông tin về công chức trong cơ quan thuộc dân tộc nào. - Thực thể ĐIỆN THOẠI chứa các thuộc tính Mã CC, Số ĐT. Trong đó thuộc tính Mã CC, Số ĐT là thuộc tính chỉ danh , thuộc tính này nhằm lƣu trữ những thông tin về số điện thoạI của công chức trong cơ quan. - Thực thể CỰU CHIẾN BINH chứa các thuộc tính Mã CCB, Ngày NN, Ngày XN, Mã BC, Mã CB. Trong đó Mã CC là thuộc tính chỉ danh, thuộc tính này nhằm lƣu trữ những ngƣời là cựu chiến binh thuộc công chức trong cơ quan. - Thực thể BẢO HIỂM chứa các thuộc tính Mã BH, Tên BH. Trong đó Mã BH là thuộc tính chỉ danh, thuộc tính này nhằm lƣu trữ những thông tin về loạI bảo hiểm của công chức trong cơ quan đã tham gia. 2.MốI kết hợp giữa các thực thể - Giữa thực thể HỒ SƠ CÔNG CHỨC vớI thực thể ĐƠN VỊ có mốI kết hợp là (1,1)-(1,n). Vì một công chức chỉ ứng với một đơn vị, một đơn vị sẽ ứng với nhiều công chức. - Giữa thực thể HỒ SƠ CÔNG CHỨC vớI thực thể DÂN TỘC có mốI kết hợp (1,1)-(1,n). Vì mỗI công chức chỉ có thể ứng vớI một dân tộc và nhiều dân tộc có thể ứng vớI nhiều công chức. - Giữa thực thể HỒ SƠ CÔNG CHỨC vớI thực thể TÔN GIÁO có mốI kết hợp (1,1)- (1,n). Vì một công chức chỉ có thể ứng vớI một tôn giáo và một tôn giáo có thể ứng vớI nhiều công chức. - Giữa thực thể HỒ SƠ CÔNG CHỨC vớI thực thể VĂN HOÁ có mốI kết hợp (1,1)-(1,n). Vì một công chức chỉ có thể ứng vớI một trình độ văn hoá và một trình độ văn hoá cá thể ứng vớI nhiều công chức. - Giữa thực thể HỒ SƠ CÔNG CHỨC vớI thực thể NGOẠI NGỮ có mốI kết hợp (1,n)-(1,n). Vì một công chức ứng vớI nhiều trình độ ngoạI ngữ và một ngoạI ngữ ứng vớI nhiều công chức. - Giữa thực thể HỒ SƠ CÔNG CHỨC vớI thực thể TRƢỜNG có mốI kết hợp (1,n)-(1,n). Vì một công chức ứng vớI nhiều trƣờng và một trƣờng ứng vớI nhiều công chức. - Giữa thực thể HỒ SƠ CÔNG CHỨC vớI thực thể CHUYÊN MÔN có mốI kết hợp (1,n)-(1,n). Vì một công chức ứng vớI nhiều chuyên môn và một chuyên môn ứng vớI nhiều công chức. - Giữa thực thể HỒ SƠ CÔNG CHỨC vớI thực thể NƢỚC có mốI kết hợp (1,n)-(1,n). Vì một công chức có nhiều nƣớc đi và một nƣớc có nhiều công chức đi. - Giữa thực thể HỒ SƠ CÔNG CHỨC vớI thực thể LÝ DO có mốI kết hợp (1,n)-(1,n). Vì một công chức có nhiều lý do và một lý do ứng vớI nhiều công chức.
- - Giữa thực thể HỒ SƠ CÔNG CHỨC vớI thực thể KHEN THƢỞNG KỶ LUẬT có mốI kết hợp (1,n)-(1,n). Vì một công chức có nhiều khen thƣởng và một khen thƣởng ứng vớI nhiều công chức. - Giữa thực thể HỒ SƠ CÔNG CHỨC vớI thực thể ĐIỆN THOẠI có mốI kết hợp (1,.n)-(1,n). Vì mộtcông chức có nhiều số điện thoạI và một điện thoạI ứng vớI một công chức. - Giữa thực thể HỒ SƠ CÔNG CHỨC vớI thực thể GIA THUỘC có mốI kết hợp (1,n)-(1,n). Vì một công chức có nhiều gia thuộc và một gia thuộc có nhiều công chức. - Giữa thực thể HỒ SƠ CÔNG CHỨC vớI thực thể CHỨC VỤ có mốI kết hợp (1,1)-(1,n). Vì một công chức có một chức vụ và một chức vụ ứng vớI nhiều công chức - Giữa thực thể GIA THUỘC vớI thực thể CHỨC VỤ có mốI kết hợp (1,1)- (1,n). Vì một công chức trong gia thuộc thì ứng vớI một chức vụ và một chức vụ thì ứng vớI nhiều công chức trong gia thuộc. - Giữa thực thể GIA THUỘC vớI thực thể CƠ QUAN có mốI kết hợp (1,1)- (1,n).Vì một công chức trong gia thuộc thì ứng vớI một cơ quan và một cơ quan ứng nhiều công chức trong gia thuộc. - Giữa thực thể GIA THUỘC vớI thực thể NGHỀ có mốI kết hợp (1,1)-(1,n). Vì một công chức trong gia thuộc thì ứng vớI một nghề nghiệp và một nghề nghiệp thì ứng vớI nhiều công chức trong gia thuộc. - Giữa thực thể HỒ SƠ CÔNG CHỨC vớI thực thể LOẠI GIA THUỘC có mốI kết hợp (1,n)-(1,n). Vì ứng vớI một công chức thì có nhiều loạI gia thuộc trong cơ quan và một loạI gia thuộc thì có nhiều công chức. - Giữa thực thể HỒ SƠ CÔNG CHỨC vớI thực thể BẢNG CHẤM CÔNG có mốI kết hợp (1,1)-(1,n). Vì ứng vớI một công chức thì có một bảng chấm công và một bảng chấm công ứng vớI nhiều công chức. - Giữa thực thể HỒ SƠ CÔNG CHỨC vớI thực thể BẢO HIỂM có mốI kết hợp (1,1)-1,n). Vì một công chức ứng vớI bảo hiểm nhƣng một bảo hiểm thì ứng vớI nhiều công chức. - Giữa thực thể HỒ SƠ CÔNG CHỨC vớI thực thể BẬC LƢƠNG có mốI kết hợp (1,n)-(1,n) tạo nên quan hệ CÔNG CHỨC –QUÁ TRÌNH LƢƠNG để lƣu trữ quá trình lƣơng chức và ngày lính lƣơng của công chức. - Giữa thực thể BẢNG LƢƠNG vớI thực thể NGẠCH có mốI kết hợp (1,1)- (1,n). Vì một bậc lƣơng của côngchức thì ứng vớI một ngạch và một ngạch thì ứng vớI nhiều bậc lƣơng. Ta có mô hình dữ liệu sau:
- MÔ HÌNH QUAN NIỆM DỮ LIỆU BC. CÔNG ĐƠN VỊ D.TỘC T.GIÁO V. HOÁ NG.NGỮ TRƢỜNG -Mã ĐV -Mã DT -Mã TG -Mã VH -Mã NN -Mã Tr - MSCC -Số ngày làm -Tên ĐV -Tên DT -Tên TG -Tên VH -Tên NN -Tên Tr việc -Số ngày nghỉ (1,n) (1,n) (1,n) (1,n) (1,n) (1,n) không phép -Số tiền CC- NN C.MÔN thƣởng CC- ĐV CC- DT CC- TG CC-TG CC- CM Cấp độ - LoạI CC -Mã CM - N BĐĐT -Tên CM (1,n) (1,1) (1,1) (1,n) - N KTĐT (1,n) -Tg ĐT (1,1) NGẠCH CC- BCC (1,1) Công chức (1,n) (1,n) NƢỚC - Mã NL - Mã CC (1,n) -Mã N - Tên NL CC-VH - Tên CC - Số NLL (1,1) (1,n) CC- ĐNN -Tên N BL - N - GiớI tính - Ngày đi (1,1) - Ngày sinh - Ngày về B. LƢƠNG (1,n) - Nơi sinh LÝ DO -Mã BL CC- QTL (1,n) (1,n) - Địa chỉ (1,n) - Mã LD -Tên BL - Ngày LL - Số CMND - TênĐL CC- KTKL - Đoàn viên (1,n) - Ngày KTKL PHỤ CẤP (1,n) - Ngày vào CQ -Ngày XKL CC - PC (1,n) KTKL -Mã PC (1,n) - Ngày vào BC Mã KTKL -Tên PC (1,n) Tên KTKL - Tiền (1,n) (1,n) (1,n) CC - BH SĐT B.HIỂM CC - GT - Mã BH (1,n) (1,n) (1,n) - Tên BH CC.BINH -Ngày NN CÙNG CƠ Đ THOẠI (1,1) GIA THUỘC -Ngày XN QUAN - Mã GT Số ĐT CC- CV - Họ tên GT (1,n) (1,1) (1,1) - Ngày sinh GT (1,n) (1,n) LOẠI GT PHÉP - Ngày BĐ (1,1) CC - BC CC- CB -Mã LGT (1,1) (1,1) -Ngày KT -Tên LGT (1,n) CC- CB CC- CB CC- CB (1,n) (1,n) (1,n) (1,n) (1,n) (1,n) TỈNH B. CHỦNG C. BẬC C. VỤ C. QUAN NGHỀ Đ. VIÊN -Mã tỉnh -Mã BC -Mã CB -Mã CV -Mã CQ -Mã NG -Ngày VĐ -Tên tỉnh -Tên BC -Tên CB -Tên CV -Tên CQ -Tên NG -Ngày CT (1,n) (1,1) ĐV -T
- II.Mô hình tổ chức dữ liệu VớI mô hình quan niệm dữ liệu của bài toán quản lý công chức - tiền lƣơng ta có mô hình tổ chức dữ liệu sau: BINH CHỦNG ( Mã BC, Tên BC ) CẤP BẬC (Mã CB, Tên CB ) CC BINH (Mã CC, Ngày nhập ngũ, Ngày xuất ngũ, Mã BC, Mã CB ) ĐẢNG VIÊN ( Mã CC, Ngày VĐ, Ngày CT, Mã tỉnh ) CHỨC VỤ (Mã CV, Tên CV ) CƠ QUAN (Mã CQ, Tên CQ ) NGHỀ (Mã nghề , Tên nghề ) LOẠI GT ( Mã LGT, Tên LGT ) BẢNG CHẤM CÔNG (Mã CC, Số ngày làm việc , Số ngày nghỉ không phép, Số tiền thƣởng, Số tiền phạt ) B. LƢƠNG (Mã BL, Hệ số lƣơng, Mã NL ) NGẠCH (Mã NL, Tên NL, Số TLL ) KTKL (Mã KTKL, Tên KTKL ) LÝ DO (Mã LD, Tên LD ) NƢỚC (Mã nƣớc, Tên nƣớc ) C MÔN (Mã CM, Tên CM, TgĐT ) TRƢỜNG (Mã Tr, Tên Tr ) NG NGỮ (Mã NN, Tên NN ) VĂN HOÁ (Mã TĐVH, Tên TĐVH ) TÔ N GIÁO (Mã TG, Tên TG ) DÂN TỘC (Mã DT, Tên TD ) ĐƠN VỊ (Mã ĐV, Tên ĐV ) BẢO HIỂM (Mã BH, HTBH ) CÔNG CHỨC (Mã CC, Họ CC, Tên CC, GiớI tính, Ngày sinh, Nơi sinh, Địa chỉ, Đoàn viên, Ngày vào CQ, Ngày biên chế, Mã ĐV, Mã DT, Mã TG, Mã TĐVH, Mã CV, Mã BH, Mã PC.) GIA THUỘC ( Mã GT, Họ, Tên GT, Ngày sinh GT, Mã CV, Mã CQ, Mã nghề ) PHÉP ( Mã CC, Mã tỉnh, Ngày BĐ, Ngày KT ) ĐIỆN THOẠI (Mã CC, Số ĐT ) CC -NN ( Mã CC, Mã NN, Cấp độ ) CC -CM ( Mã CC, Mã Tr, Mã CM, LoạI CC, Ngày BĐĐT, Ngày KTĐT ) CC-GT (Mã CC, Mã GT, Mã LGT ) CC -ĐNN (Mã CC, Mã nƣớc, Mã LD, Ngày đi, Ngày về ) CCCÙNG -KTKL CƠ (Mã QUAN CC, (MãMã KTKL,CC, Mã Mã LGT) LD, Ngày KTKL, Ngày XKL ) CC-QTL (Mã CC, Mã BL, Ngày LL )
- III. Mô hình vật lý dữ liệu 1. Cấu trúc các bảng TABLE Mô hình vật lý dữ liệu là mô hình của dữ liệu đƣợc cài đặt trên máy tính dƣớI một hệ thống quản trị dữ liệu, trong bài toán quản lý công chức - tiền lƣơng của UBDS-GĐ&TE tôi đã trình bày mô hình vật lý dữ liệu dƣớI hệ quản trị dữ liệu bằng ACCESS. Ứng vớI mỗI lƣợc đồ quan hệ trong mô hình tổ chức dữ liệu đƣợc cài đặt thành một bảng dữ liệu cơ sở (Table). Ở đây ta chỉ trình bày các yếu tố chính của các table bao gồm các cột: Tên trƣờng, kiểu dữ liệu, kích thƣớc và rang buộc tính toàn vẹn dữ liệu. TÊN LƢỢC ĐỒ QUAN HỆ Tên thuộc tính Kiểu dữ liệu Kích thƣớc Ràng buộc toàn vẹn VớI mỗI thuộc tính : Ta chỉ giảI thích giá trị. VớI thuộc tính khoá ta thêm chữ (K) bên cạnh thuộc tính. Tên thuộc tính: Ghi tên thuộc tính Kiểu dữ liệu : Kiểu dữ liệu của thuộc tính (Tƣơng ứng vớI kiểu dữ liệu khác không cần chọn ở đây). Ràng buộc toàn vẹn: Ở đây ta chỉ nghi ràng buộc toàn vẹn giá trị và ràng buộc toàn vẹn khoá ngoạI ta nghi: Lookup(TableName) vớI table name là tên của bảng dữ liệu mà thuộc tính này là khoá. Sau mỗI hình ta cho một ví dụ vớI giá trị của dữ liệu Vậy bài toán quản lý công chức -tiền lƣơng ta có mô hình tổ chức dữ liệu sau: TỈNH (Mã tỉnh, Tên tỉnh) Tên thuộc tính Kiểu dữ liệu Kích thƣớc Ràng buộc tính toàn vẹn Mã tỉnh(K) Text 2 Len()=2 Tên tỉnh Text 20 M ã t ỉnh: Số thứ tự của tỉnh trong nƣớc. Việt nam có dƣớI 100 tỉnh, nên ta chon 2 ký tự để đánh số thứ tự của tỉnh. Tên tỉnh: Bắt đầulà Tp cho thành phố trực thuộc trung ƣơng, T cho tỉnh và tiếp theo là tên tỉnh hay tên thành phố. Tên dài nhất của tỉnh Việt Nam là T Bà Rịa Vũng Tàu gồm 18 chữ cái. Ta chọn chiều dài tốI đa là 20. Ví dụ: Mã tỉnh Tên tỉnh 01 Tp Hà Nội 02 Tp HảI Phòng B CHỦNG (Mã BC, Tên BC) Tên thuộc tính Kiểu dữ liệu Kích thƣớc Ràng buộc tính toàn vẹn Mã BC(K) Text 1 Len()=1 Tên BC Text 30
- Mã BC: Số thứ tự binh chủng trong Quân độI Nhâ dân Việt Nam. Ví dụ: Mã BC Tên BC 1 Binh nhất 2 Binh nhì CCBINH (Mã CC, Ngày NN, Ngày XN, Mã BC, Mã CB) Tên thuộc tính Kiểu dữ liệu Kích thƣớc Ràng buộc tính toàn vẹn Mã CC(K) Text 9 Len()=1 Ngày NN Date <Date() Ngày XN Date <Date() Mã BC Text 1 Lookup(BCHUNG) Mã CB Text 2 Lookup(CẤP BẬC) PhảI có: Ngày NN< Ngày XN ĐẢNG VIÊN ( Mã CC, Ngày VĐ, Ngày CT, Mã tỉnh) Tên thuộc tính Kiểu dữ liệu Kích thƣớc Ràng buộc tính toàn vẹn Mã CC(K) Text 9 Lookup(CÔNG CHỨC) Ngày VĐ Date <Date() Ngày CT Date <Date() Mã Tỉnh Text 2 Lookup(TỈNH) PhảI có: Ngày VĐ< Ngày CT Vídụ: Mã CC Ngày VĐ Ngày CT Mã tỉnh 1111-1111 18/05/1996 18/05/1997 41 1111-2222 02/02/1991 02/02/1992 32 CHỨC VỤ (Mã CV, Tên CV) Tên thuộc tính Kiểu dữ liệu Kích thƣớc Ràng buộc tính toàn vẹn Mã CV(K) Text 2 Len()=2 Tên CV Text 20 Trong một cơ quan có nhiều chức vụ khác nhau, Mã CV: Số thứ tự của chức vụ tạI cơ quan Ví dụ: Mã CV Tên CV 01 Chủ tịch 02 Phó Chủ tịch CƠ QUAN (Mã CQ, Tên CQ) Tên thuộc tính Kiểu dữ liệu Kích thƣớc Ràng buộc tính toàn vẹn Mã CQ(K) Text 3 Len()=3 Tên CQ Text 30
- Mã CQ: Số thứ tự của các cơ quan trong khu vực. Trong bảng dữ liệu có một giá trị: Không có cơ quan vớI mã số 000 Ví dụ: Mã CQ Tên CQ 000 Không cơ quan 001 Trƣờng ĐạI Học Bách Khoa Hà Nội NGHỀ (Mã nghề, Tên nghề ) Tên thuộc tính Kiểu dữ liệu Kích thƣớc Ràng buộc tính toàn vẹn Mã nghềK) Text 2 Len()=3 Tên nghề Text 30 Mã nghề: Số thứ tự của nghề nghiệp. Trong bảng dữ liệu có một giá trị: Không nghề nghiệp vớI mã số 00 Mã nghề Tên nghề 00 Không nghề nghiệp 01 Ký sƣ LOẠI LGT ( Mã LGT, Tên LGT ) Tên thuộc tính Kiểu dữ liệu Kích thƣớc Ràng buộc tính toàn vẹn Mã LGTK) Text 2 Len()=2 Tên LGT Text 6 Mã LGT: Số thứ tự của loạI gia thuộc Ví dụ: Mã LGT Tên LGT 01 Cha 02 Mẹ 03 Anh 04 Em 05 Chồng 06 Vợ 07 Con BẬC LƢƠNG (Mã BL, Hệ số L, Mã NL) Tên thuộc tính Kiểu dữ liệu Kích thƣớc Ràng buộc tính toàn vẹn Mã BL Text 2 Len()=2 Tên Hệ số L Number Single >=1And<=2 Mã NL Text 4 L ookup(NGẠCH) Mã BL: Số thứ tự của bậc lƣơng
- NGẠCH (Mã NL, Tên NL, Số TLL) Tên thuộc tính Kiểu dữ liệu Kích thƣớc Ràng buộc tính toàn vẹn Mã NL Text 4 Len()=4 Tên NL Text Số TLL Number Byte =24or=36 Ví dụ: Mã NL Tên NL Số TLL 0510 Giảng viên 36 0211 Trợ giảng 24 LÝ DO (Mã LD, Tên LD) Tên thuộc tính Kiểu dữ liệu Kích thƣớc Ràng buộc tính toàn vẹn Mã LD Text 4 Len()=4 Tên LD Text 50 Mã LD: 2 ký tự đầu là NN: Lý do đi nƣớc ngoài, KL: lý do bị kỷ luật, KT: Lý do đƣợc khen thƣởng. Hai ký tự sau là số thứ tự của mỗI lý do. Ví dụ: Mã LD Tên LD NN01 Du lịch KT Hoàn thành tốt nhiệm vụ KL Vi phạm kỷ luật lao động KTKL (Mã KTKL, Tên KTKL) Tên thuộc tính Kiểu dữ liệu Kích thƣớc Ràng buộc tính toàn vẹn Mã KTKL Text 2 Len()=2 Tên KTKL Text 50 Mã KTKL: Số thứ tự của khen thƣởng hay kỷ luật Ví dụ: Mã KTKL Tên KTKL 01 Đơn vị tặng giấy khen 51 Khiển trách trƣớc đơn vị 52 Cảnh cáo trƣớc đơn vị NƢỚC (Mã nƣớc, Tên nƣớc ) Tên thuộc tính Kiểu dữ liệu Kích thƣớc Ràng buộc tính toàn vẹn Mã nƣớc (K) Text 3 Len()=3 Tên nƣớc Text 30 Mã nƣớc: Chữ viết tắt của một nƣớc trên thế giớI Ví dụ: Mã nƣớc Tên nƣớc VN Việt Nam USA Hoa Kỳ
- CMÔN (Mã CM, Tên CM, TgĐT) Tên thuộc tính Kiểu dữ liệu Kích thƣớc Ràng buộc tính toàn vẹn Mã CM (K) Text 2 Len()=2 Tên CM Text 50 TgĐT Byte Mã CM: Số thứ tự của chuyên môn đào tạo TgĐT : ThờI gian đào tạo đƣợc tính bằng tháng Ví dụ: Mã CM Tên CM TgĐT 01 Kế toán văn phòng 12 02 Sơ cấp tin học 6 TRƢỜNG (Mã Tr, Tên Tr) Tên thuộc tính Kiểu dữ liệu Kích thƣớc Ràng buộc tính toàn vẹn Mã Tr (K) Text 2 Len()=2 Tên Tr Text 50 Mã Tr: Số thứ tự của trƣờng đào tạo Ví dụ: Mã Tr Tên Tr 01 ĐạI Học Thuỷ Sản 02 Trung cấp thống kê NG NGỮ (Mã NN, Tên NN) Tên thuộc tính Kiểu dữ liệu Kích thƣớc Ràng buộc tính toàn vẹn Mã NN(K) Text 1 Len()=1 Tên NN Text 15 Có 7 ngoạI ngữ đƣợc công nhận: Anh, Pháp, Đức, Tây Ban Nha, Bồ Đào Nha, Trung Quốc. Mã NN là số thứ tự của NN Ví dụ Mã NN Tên NN 1 Anh 2 Nga VĂN HOÁ (Mã TĐVH, Tên TĐVH) Tên thuộc tính Kiểu dữ liệu Kích thƣớc Ràng buộc tính toàn vẹn Mã TĐVH(K) Text 1 Len()=1 Tên TĐVH Text 20 Có 5 trình độ văn hoá: Tiểu học, Trung học cơ sở, Trung học phổ thong, ĐạI học, Trên đạI học.
- Ví dụ: Mã TĐVH Tên TĐVH 1 Tiểu học 2 Trung học cơ sở 3 Trung học phổ thông 4 ĐạI học 5 Trên đạI học TÔN GIÁO (Mã TG, Tên TG) Tên thuộc tính Kiểu dữ liệu Kích thƣớc Ràng buộc tính toàn vẹn Mã TG(K) Text 1 Len()=1 Tên TGVH Text 15 Việt nam có khoảng 10 tôn giáo khác nhau. Mã TG là số thứ tự của tôn giáo. Ví dụ: Mã TG Tên TG 0 Không tôn giáo 1 Phật giáo 2 Thiên chúa giáo DÂN TỘC (Mã DT, Tên DT) Tên thuộc tính Kiểu dữ liệu Kích thƣớc Ràng buộc tính toàn vẹn Mã DT(K) Text 2 Len()=2 Tên DTVH Text 10 Việt nam có khoảng 60 dân tộc khác nhau. Mã DT là số thứ tự của dân tộc. Ví dụ: Mã DT Tên DT 01 Kinh 02 Hoa 03 Mƣờng ĐƠN VỊ (Mã ĐV, Tên ĐV ) Tên thuộc tính Kiểu dữ liệu Kích thƣớc Ràng buộc tính toàn vẹn Mã ĐV(K) Text 2 Len()=2 Tên ĐV Text 50 Mã đơn vị là số thứ tự của đơn vị trong cơ quan Ví dụ Mã ĐV Tên ĐV 01 Phòng tổ chức 02 Phòng tài vụ 03 Phòng nghiệp vụ
- GIA THUỘC (Mã GT, Họ tên GT, Ngày sinh GT, Mã CV, Mã CQ, Mã nghề) Tên thuộc tính Kiểu dữ liệu Kích thƣớc Ràng buộc tính toàn vẹn Mã GT(K) Text 4 Len()=4 Họ tên GT Text 30 Ngày sinh GT Date Mã CV Text Lookup(CHỨC VỤ) Mã CQ Text Lookup(CƠ QUAN) Mã nghề Text Lookup(NGHỀ) Mã GT: Số thứ tự của những ngƣờI trong gia thuộc của côngchức. Toàn bỘ trong cơ quan có khoảng 500 gia thuộc. PHÉP(Mã CC, Mã tỉnh, Ngày BĐ, Ngày KT) Tên thuộc tính Kiểu dữ liệu Kích thƣớc Ràng buộc tính toàn vẹn Mã CC(K) Text 9 Lookup (CÔNG CHỨC) Ma tỉnh Text 2 Lookup (TỈNH) Ngày BĐ Date <Date Ngày KT Date <Date PhảI có Ngày BĐ <= Ngày KT Ngày BĐ: Ngày bắt đầu nghỉ phép. Thuộc tính này phảI tham gia vào khoá. Vì nếu chỉ có mã CC và Mã tỉnh là khoá thì một công chức nghỉ phép tạI một tỉnh nào đó chỉ có một lần. Ngày KT: Ngày kết thúc nghỉ phép Ví dụ Mã CC Mã tỉnh Ngày BĐ Ngày KT 1111-1111 01 12/03/1999 18/03/1999 1111-2222 02 14/04/2000 16/04/2000 1111-3333 03 10/05/2000 15/05/2000 CC-NN (Mã CC, Mã NN, Cấp độ) Tên thuộc tính Kiểu dữ liệu Kích thƣớc Ràng buộc tính toàn vẹn Mã CC(K) Text 9 Lookup (CÔNG CHỨC) Mã NN Text 1 Lookup (NGNGỮ) Cấp độ Text 1 In (A,B,C,D) Ví dụ: Mã CC Mã NN Cấp độ 1111-1111 1 B 1111-2222 2 B 1111-3333 3 A
- CC-CM (Mã CC, Mã Tr, Mã CM, LoạI CC, N ĐĐT, N BĐKT) Tên thuộc tính Kiểu dữ liệu Kích thƣớc Ràng buộc tính toàn vẹn Mã CC(K) Text 9 Lookup (CÔNG CHỨC) Mã Tr (K) Text 2 Lookup (TRƢỜNG) Mã CM (K) Text 2 Lookup (CMÔN) LoạI CC Yes/No N BĐĐT Date N BĐKT Date LoạI CC: Có hai giá trị Yes là văn bằng; No là chứng chỉ tốt nghiệp N BĐĐT: Ngày bắt đầu đào tạo. N BĐKT: Ngày bắt đầu kết thúc Ví dụ: Mã CC Mã Tr Mã CM LoạI CC N BĐĐT N BĐKT 1111-1111 01 03 Yes 12/011996 10/06/1999 1111-2222 02 04 No 12/02/1997 12/08/2000 1111-3333 03 05 Yes 12/03/1995 10/06/2000 CC-ĐNN (Mã CC, Mã nƣớc, Ngày đi, Ngày về) Tên thuộc tính Kiểu dữ liệu Kích thƣớc Ràng buộc tính toàn vẹn Mã CC(K) Text 9 Lookup (CÔNG CHỨC) Mã nƣớc (K) Text 3 Lookup (NƢỚC) Ngày đi (K) Date <Date() Ngày về Date <Date() PhảI có: Ngày đi < Ngày về Ngày đi: Ngày công chức đi nƣớc ngoài. Thuôck tính này phảI tham gia vào khoá. Vì nếu chỉ có Mã CC và Mã nƣớc là khoá thì một công chức nào đó chỉ có một lần. Trong thực tế thì một công chức có thể đi nƣớc ngoài nhiều lần CC- KTKL (Mã CC, Mã KTKL, Mã LD, Ngày KTKL, Ngày XKL) Tên thuộc tính Kiểu dữ liệu Kích thƣớc Ràng buộc tính toàn vẹn Mã CC(K) Text 9 Lookup (CÔNG CHỨC) Mã KTKL (K) Text 2 Lookup (KTKL) Mã LD (K) Text 2 Lookup (LÝ DO) Ngày KTKL Date <Date() Ngày XKL Date <Date() Ngày KTKL: Ngày công chức đƣợc khen thƣởng hay bị kỷ luật. Thuộc tính này phảI tham gia vào khoá, vì có nhiều công chức đƣợc khen thƣởng hay bị kỷ luật một hình thức nào đó có thể nhiều lần. Ngày XKL: Ngày công chức đƣợc xoá kỷ luật. Thuộc tính này chỉ có giá trị khi một công chức kỷ luật.
- CÙNG CƠ QUAN (Mã CC1, Mã CC2, Mã LGT) Tên thuộc tính Kiểu dữ liệu Kích thƣớc Ràng buộc tính toàn vẹn Mã CC1(K) Text 9 Lookup (CÔNG CHỨC) Mã CC2 (K) Text 9 Lookup (CÔNG CHỨC) Mã LGT (K) Text 2 Lookup (LGT) Ví dụ: Mã CC1 Mã CC2 Mã LGT 1111-1111 1111-1212 01 1111-2222 1111-0101 02 1111-3333 1331-2345 05 SĐT(Mã CC, Số ĐT) Tên thuộc tính Kiểu dữ liệu Kích thƣớc Ràng buộc tính toàn vẹn Mã CC(K) Text 9 Lookup (CÔNG CHỨC) Số ĐT (K) Text 10 Lookup (CÔNG CHỨC) Ví dụ: Mã CC Số ĐT 1111-1111 031778838 1111-2222 0241631010 1111-3333 0241632022 BẢNG CHẤM CÔNG(Mã CC, Số ngày làm việc, Số ngày nghỉ không phép, Số tiền thƣởng, Số tiền phạt ) Tên thuộc tính Kiểu dữ liệu Kích thƣớc Ràng buộc tính toàn vẹn Mã CC(K) Text 9 Lookup (CÔNG CHỨC) Số NLV (K) Date <Date() Số NKP (K) Date <Date() Số TThƣởng Number Single Số TPhạt Number Single Ví dụ: Mã CC Số NLV Số NKP Số TThƣởng Số TPhạt 1111-1111 20 6 200000 0 1111-2222 26 0 200000 10000 1111-3333 26 0 200000 15000 BẢO HIỂM (Mã BH, HTBH) Tên thuộc tính Kiểu dữ liệu Kích thƣớc Ràng buộc tính toàn vẹn Mã BH(K) Text 2 Len()=2 Số HTBH Text 20 Mã BH: Mã bảo hiểm có kích thƣớc là 2 HTBH: Hình thức bảo hiểm
- CC-GT(Mã CC, Mã GT, Mã LGT) Tên thuộc tính Kiểu dữ liệu Kích thƣớc Ràng buộc tính toàn vẹn Mã CC(K) Text 9 Lookup(CÔNG CHỨC) Mã GT (K) Text 4 Lookup(GIA THUỘC) Mã LGT (K) Text 2 Lookup(LGIA THUỘC) PHỤ CẤP( Mã PC, Tên PC, Tiền) ên thuộc tính Kiểu dữ liệu Kích thƣớc Ràng buộc tính toàn vẹn Mã PC(K) Text 1 Len()=1 Tên PC Text 20 Tiền Number Single Ví dụ: Mã PC Tên PC Tiền 1 Chức vụ 50000 2 Chuyên môn 100000 CẤP BẬC(Mã CB, Tên CB) Tên thuộc tính Kiểu dữ liệu Kích thƣớc Ràng buộc tính toàn vẹn Mã CB(K) Text 2 Len()=2 Tên CB Text 15 Mã CB: Số thứ tự cấp bậc trong quân độI Nhân dân Việt Nam Ví dụ: Mã CB Tên CB 01 Binh nhất 02 Binh nhì CC-QTL(Mã CC, Mã BL, NLL) Tên thuộc tính Kiểu dữ liệu Kích thƣớc Ràng buộc tính toàn vẹn Mã CC(K) Text 9 Lookup(CÔNG CHỨC) Mã BL(K) Text 4 Lookup(BẬC LƢƠNG) NLL(K) Date <Date() Ngày LL: Ngày công chức lên bậc lƣơng mớI. Thuộc tính này phảI tham gia vào khoá. Vì nếu chỉ có Mã CC và Mã BL là khoá thì một công chức lên một bậc lƣơng nào đó chỉ một lần. Trong thực tế có nhiều công chức bị kỷ luật hạ bậc lƣơng nên một bậc lƣơng công chức có thể lên nhiều hơn một lần. CÔNG CHỨC(Mã CC, Họ CC, Tên CC, ngày sinh, giớI tính, nơi sinh, địa chỉ, đoàn viên, ngày CQ, ngày vào BC, Mã ĐV, Mã DT, Mã TG, Mã TĐCH, Mã CV, Mã BH, Mã PC) Tên thuộc tính Kiểu dữ liệu Kích thƣớc Ràng buộc tính toàn vẹn Mã CC(K) Text 9 Len()=9 Họ CC Text 30
- Tên CC Text 7 Ngày sinh Date (1) GiớI tính Yes/No Nơi sinh Text 50 Địa chỉ Text 50 Đoàn viên Yes/No Ngày VCQ Date (2) Ngày vào BC Date (3) Mã ĐV Text 2 Lookup(ĐƠN VỊ) Mã DT Text 2 Lookup(DÂN TỘC) Mã TG Text 1 Lookup(TÔN GIÁO) Mã TĐVH Text 1 Lookup(VĂN HOÁ) Mã CV Text 2 Lookup(CHỨC VỤ) Mã BH Text 2 Lookup(BẢO HIỂM) Mã PC Text 1 Lookup(PHỤ CẤP) Mã CC: 4 ký tự đầu là ngạch, 4 ký tự sau là số thứ tự của CC trong cơ quan. Hai nhóm cách nhau bởI dấu (-) Tên CC: Gồm một từ là tên của công chức. GiớI tính: Yes là Nam, No là Nữ III. Mô hình hoá xử lý 1) Sơ đồ thông lượng : Nhằm xác định các luồng thông tin trao đổI giữa các tác nhân trong hệ thống thông tin quản lý. Bài toán quản lý công chức - tiền lƣơng của UBDS-GĐ&TE có bốn tác nhân trong và có một tác nhân ngoài. Sự chuyển giao thông tin giữa các tác nhân theo sơ đồ thông lƣợng nhƣ sau: CHỦ TỊCH NHÂN DÂN UBDS- GĐ&TE (3) (2) (4) (5) (6) (16) (7) PHÕNG TỔ (12) (11) CHỨC (8) (17) (9) (10) (8) (13) PHÒNG TÀI VỤ ĐƠN VỊ (14) (1) (15)
- 2) Danh sách tác vụ (1) Yêu cầu tuyển công chức (2) Lệnh tuyển công chức (3) Thông báo tuyển công chức (4) Nộp hồ sơ dự tuyển (5) Trình hồ sơ xét duyệt (6) Hồ sơ đƣợc xét duyệt (7) Thông báo kết quả (8) Quyết định tuyển công chức (9) Bảng chấm công (10) Bảng chấm công đã duyệt (11) Bảng lƣơng trình ký (12) Bảng lƣơng đã duyệt (13) Bảng lƣơng (14) Bảng lƣơng đã ký nhận (15) Đề nghị khen thƣởng kỷ luật (16) Danh sách khen thƣởng kỷ luật đã duyệt (17) Danh sách khen thƣởng kỷ luật IV. Môđãuyệt hình quan niệm xử lý Nhằm xác định hệ thống gồm những gì? Và các chức năng này liên hệ vớI nhau nhƣ thế nào? Ở mức này chƣa quan tâm các chức năng đó do ai làm, làm khi nào và làm ở đâu. Dựa vào các tác vụ trên mô hình thông lƣợng ta có mô hình mô tả các bƣớc xử lý sau : Yêu cầu tuyển công chức THÔNG BÁO TUYỂN CÔNG CHỨC YES Thông báo đã Trong thờI hạn phát NHẬN HỒ SƠ DỰ TUYỂN NO YES Hồ sơ bị từ chốI Hồ sơ đƣợc chấp nhận
- Hồ sơ đƣợc Chỉ tiêu chấp nhận XÉT TUYỂN NO YES Đủ tiêu chuẩn Không đủ tiêu chuẩn IN GIẤY BÁO YES In danh sách trúng tuyển (1) GỬI GIẤY BÁO NO YES Giấy báo không trúng tuyển Giấy báo trúng tuyển ND đã nhận NHẬN HỒ SƠ LÀM VIỆC NO YES Danh sách Danh sách không đến công chức CHẤM CÔNG YES Bảng chấm công (2)
- (2) XÉT DUYỆT NO YES Danh sách Danh sách đƣợc không chấp nhận chấp nhận IN BẢNG LƢƠNG YES Bảng lƣơng LĨNH LƢƠNG NO YES Bảng lƣơng đã Bảng lƣơng ký nhận chƣa ký nhận Đề nghị khen thƣởng kỷ luật (1) XÉT KTKL NO YES Danh sách Danh sách không KTKL đƣợc KTKL KHEN THƢỞNG KỶ LUẬT NO YES Danh sách Danh sách đã KTKL chƣa KTKL
- V. Mô hình tổ chức xử lý Ở mức tổ chức, mỗI công việc phảI đƣợc xác định rõ: Nơi làm việc, phƣơng thức làm việc, tần suất và chu kỳ của nó. Trƣớc khi thiết kế mô hình tổ chức xử lý, ta phảI lập bảng công việc sau: TÊN CÔNG VIỆC NƠI THỰC PHƢƠNG TẦN CHU STT HIỆN THỨC SUẤT KỲ 1 Thông báo tuyển cc Phòng tổ chức Thủ công 1 lần/năm 1 năm 2 Nhận hồ sơ dự tuyển Phòng tổ chức Thủ công 1 lần/năm 1 năm 3 Xét tuyển Ban giám đốc Thủ công 1 lần/năm 1 năm 4 In giấy báo kết quả Phòng tổ chức Tự động 1 lần/năm 1 năm 5 Nhập hồ sơ Đơn vị Thủ công 1 lần/năm 1 năm 6 Chấm công Đơn vị Thủ công 1 lần/ tháng 1 tháng 7 In bảng lƣơng Phòng tài vụ Tự động 1 lần/ tháng 1 tháng 8 Xét duyệt Phòng tổ chức Thủ công 1 lần/ háng 1 tháng 9 Lĩnh lƣơng Đơn vị Thủ công 1 lần/ tháng 1 tháng 10 Xét khen thƣởng Ban giám đốc Thủ công 3 lần/năm /3năm 11 Khen thƣởng kỷ luật Phòng tài vụ Thủ công 3 lần/năm 1/3năm
- Sau đây là mô hình logic xử lý: Mô hình này các công việc trong mô hình quan niệm xử lý sẽ đặt vào từng nơi làm việc cụ thể của môi trƣờng thật. NHÂN DÂN ĐƠN VỊ PHÕNG TỔ BAN GIÁM PHÒNG TÀI CHỨC ĐỐC VỤ Có chỉ tiêu tuyển công chức TBTCC YES Trong thờI Thông báo hạn nộp đã phát NHẬN HS NO YES Hồ sơ bị từ Hồ sơ đƣợc chối chấp nhận Chỉ tiêu XÉT TUYỂN NO YES Hồ sơ không đủ tiêu chuẩn Hồ sơ đƣợc chấp nhận IN DSÁCH YES Danh sách trúng tuyển (1)
- NHÂN DÂN ĐƠN VỊ PHÕNG TỔ BAN GIÁM PHÒNG TÀI CHỨC ĐỐC VỤ (1) GỬI GBÁO YES NO Giấy báo ND đã nhận Giấy báo không nhận NHẬN HSƠ YES NO Danh sách Danh sách công chức không đến Bảng chấm công XÉT DUYỆT NO YES Danh sách không chấp nhận Danh sách đƣợc chấp nhận IN BLƢƠNG YES Bảng lƣơng (2)
- NHÂN DÂN ĐƠN VỊ PHÕNG TỔ BAN GIÁM PHÒNG TÀI CHỨC ĐỐC VỤ (2) LĨNH LƢƠNG NO YES Bảng lƣơng chƣa ký nhận Bảng lƣơng ký nhận (1) Đề nghị khen thƣởng XÉT KTKL NO YES YES Danh sách không KTKL Danh sách KTKL KTKL NO YES Danh sách chƣa KTKL Danh sách đã KTKL
- CHƢƠNG IV THIẾT KẾ HỆ THÔNG QUẢN LÝ CÔNG CHỨC - TIỀN LƢƠNG CỦA UBDS-GĐ&TE THÀNH PHỐ NHA TRANG – KHÁNH HOÀ I. Quan hệ giữa các bảng Table Dựa vào các bƣớc phân tích hệ thống chƣơng trình ở phần III, đặc biệt là mô hình vật lý dữ liệu vớI cấu trúc các Table dựa trên công cụ Relatinoship của Access ta sẽ có mốI quan hệ giữa các bảng nhƣ sau:
- II. Mô hình vật lý xử lý A. Các đơn vị trong chƣơng trình cần quản lý 1. Công chức - Cập nhật hồ sơ công chức - Qúa trình công tác của công chức - Quan hệ gia đình - Các hình thức khen-kỷ luật của công chức 2. Tiền lương - In ra bảng lƣơng tổng hợp - In ra bảng lƣơng cá nhân - In ra danh sách công chức đƣợc nâng lƣơng vớI ngày lên lƣơng và số tiền tƣơng ứng 3. Tìm hiểu tình hình công chức - Tìm kiếm công chức theo yêu cầu của ban lãnh đạo trong cơ quan - Tra cứu những ngƣờI là cựu chiến binh đang làm việc trong cơ quan B. Sơ đồ chƣơng trình chính: SƠ ĐỒ CHƢƠNG TRÌNH CHÍNH ====== CHƢƠNG TRÌNH CHÍNH
- Tổ chức cơ quan GIỚI THIỆU Thoát Danh mục liên quan CC-Khen thƣởng – Kỷ luật QUẢN LÝ CC CC-Chuyên môn CC-NgoạI ngữ CC-Qúa trình công tác CC- NGhề Quan hệ gia đình CC- Nghề nghiệp Danh mục liên quan QUẢN LÝ TL CC-Qúa trình lƣơng Bảng lƣơng Bản lý lịch của công chức BÁO CÁO Bảng lƣơng của công chức Báo cáo tổng hợp
- Tìm kiếm các thông tin về công chức TRA CỨU Tra cứu những ngƣờI là cựu chiến binh trong cơ quan C. LẬP ĐẶC TẢ CHO TỪNG MODUL Các đặc tả cho từng module theo yêu cầu bài toán. Mục tiêu của chƣơng trình là đƣa vào các thông tin, tiến hành xử lý thông tin và xuất dữ liệu theo yêu cầu, dữ liệu xuất ra phảI chính xác, rõ ràng. Nhƣ vậy chƣơng trình phảI đƣợc thiết kế vớI cấu trúc rõ ràng, sáng sủa, tiện cho việc kiểm tra chƣơng trình thành các module, các hàm, thủ tục là điều cần thiết, trong chƣơng trình quản lý công chức - tiền lƣơng cũng đƣợc chia thành nhiều hàm, thủ tục và modole. Các IPO-Chart dƣớI đây sẽ mô tả các chi tiết một số thủ tục, hàm, module trong chƣơng trình. IPO –Chart1 Module: HO SO CONG CHUC NgƣờI lập: Đào Thị Hƣng Hệ thống: Quản Lý công chức - tiền lƣơng Ngày: 29/6/2003 Mục tiêu: Vào thông tin hồ sơ công chức GọI bởI: GọI Form: - HO SO CONG CHUC MAIN MENU - TINH, DON VI, CHUC VU - DAN TOC, TON GIAO, CQ - ĐANG VIEN, CCBINH - ĐIA CHI Vào: Nhập từ bàn phím Ra: None Xử lý: Tạo một form nhập dữ liệu cho table: HO SO CONG CHUC Trong form có listtbox để chọn đƣợc mã TINH, DAN TOC, TON GIAO, TĐVH, CHUC VU, CO QUAN, BAO HIEM, PHU CAP. Là khoá ngoạI của CONG CHUC. Nhật thông tin công chức Tìm thông tin công chức trong HO SO IF không tìm thấy THEN
- IPO-Chart: Qúa trình công tác của công chức IPO –Chart 2 Module: QUÁ TRÌNH CÔNG TÁC NgƣờI lập: Đào Thị Hƣng Hệ thống: Quản Lý công chức - tiền lƣơng Ngày: 29/6/2003 Mục tiêu: Vào thông tin hồ sơ công chức GọI bởI: GọI Form: MAIN MENU CC-ĐI NƢỚC NGOÀI Vào: Nhập từ bàn phím Ra: None Xử lý: Tạo một form nhập dữ liệu cho table: CC-ĐNN Trong form này có thể vào bảng CC-ĐNN bằng việc chọn dữ liệu có sẵn trong list box tên: Nƣớc đi của công chức khi đi công tác Các nút lệnh: Thêm, sửa, xoá, thoát Databases: TOT NGHIEP.MDB
- IPO-Chart: Công chức-ngoạI ngữ IPO-Chart 3 Modul: CONG CHUC - NGOAI NGU NgƣờI lập: Đào Thị Hƣng Hệ thống: Quản lý công chức - tiền lƣơng Ngày: 29/06/2003 Mục tiêu: Vào thông tin về bảng CC-NN GọI bởI: GọI Form: MAIFORM CC-NGOAẠI NGỮ Vào: Nhập từ bàn phím Ra: None Xử lý: Tạo một from nhập: CC-NGOẠI NGỮ Trong from này có hai ComboBox để gọI hàm NgoạI ngữ( ) và hàm Cấp độ ( ). Gía trị của hàm là điều kiện tìm trong Công Chức- NgaọI Ngữ. Nếu thoả mãn điều kiện thì đƣợc cập nhật trong Form CC- NGOẠI NGỮ
- Datebases: TOT NGHIEP.MDB IPO-Chart: Công chức – chuyên môn IPO-Chart 4 Module: CONG CHUC – CHUYEN MON NgƣờI lập: Đào Thị Hƣng Hệ thống: Quản lý công chức - tiền lƣơng Ngày: 29/06/2003 Mục tiêu: Vào thông tin về CC-CHUYÊN MÔN GọI bởI: GọI Form: MAIFORM - CHUYÊN MÔN - MÃ TRƢỜNG Vào: Nhập từ bàn phím Ra: None Xử lý: Tạo một form nhập: CC-CHUYÊN MÔN Trong form này có 3 textBox chứa danh sách LoạI cc, Ngày BĐ, Ngày KT và 1 ComboBox chứa Họ, Tên CC Nếu thoả mãn điều kiện thì in ra trong form CC-CHUYÊN MÔN Datebases: TOT NGHIEP.MDB
- IOP-Chart: Công chức – quá trình lƣơng IPO-Chart 5 Module: CONG CHUC – QUA TRINH LUONG NgƣờI lập: Đào Thị Hƣng Hệ thống: Quản lý công chức - tiền lƣơng Ngày: 29/06/2003 Mục tiêu: Vào thong tin về quá trình lƣơng của công chức GọIbởI: GọI Form: - Ngạch lƣơng MAIFORM - Bậc lƣơng - Qúa trình lƣơng Vào: Nhập từ bàn phím Ra: None Xử lý: Tạo một form nhập: CÔNG CHỨC - TIỀN LƢƠNG Trong form này chứa 2 ComboBox: Mã cc, bậc lƣơng chứa danh sách dữ liệu cần bổ sung cho Form CC-QIL Gía trị đƣợc thoả mãn điều kiện của Form thì Form CC-QTL sẽ đƣợc in ra danh sách cần tìm Datebases: TOT NGHIEP.MDB
- D. Kết quả của một số chƣơng trình
- CHƢƠNG V AN TOÀN DỮ LIỆU I. TạI sao phảI đặt vấn đề an toàn dữ liệu? Các dữ liệu thƣờng đƣợc lƣu trong đĩa cứng của máy tính trong ổ đĩa cứng chung của toàn mạng máy tính. * Do một sự cố nào đó, ví dụ đĩa bị hỏng, các dữ liệu bị các chƣơng trình VIRUS xoá mất, mất điện đột ngột các dữ liệu sẽ bị mất, hoặc sai so vớI ban đầu. ĐốI vớI hệ thống có lƣợng dữ liệu lớn thì việc cập nhật lạI các dữ liệu đã bị mất tốn nhiều thờI gian và rất bất tiện. * Để khắc phục sự mất mát dữ liệu do các sự cố chúng ta phảI tổ chức công tác an toàn dữ liệu. II. Các phƣơng pháp tổ chức bảo đảm an toà dữ liệu Tuỳ thuộc vào công tác tin học trên thực tế ở từng nơi mà có thể áp dụng các phƣơng pháp sau. 1. Backup số liệu (ghi đơn) * Phƣơng pháp này rất đơn giản, có thể áp dụng cho bất cứ nơi nào * Các số liệu đƣợc ghi lƣu ra đĩa mềm hoặc ra các đĩa cứng khác. Công việc ghi lƣu đƣợc làm theo một định kỳ nào đó, định kỳ càng ngắn thì lƣợng dữ liệu
- đƣợc đảm bảo càng lớn. Việc định kỳ cho việc ghi lƣu số liệu tuỳ thuộc vào việc dữ liệu có đƣợc cập nhật thƣờng xuyên hay không. Định kỳ ghi lƣu dữ liệu phảI đảm bảo lƣợng dữ liệu bị mất (không khôi phục đƣợc vì chƣa đƣợc ghi lƣu) tạI một thờI điểm nào đó càng ít càng tốt. * Các dữ liệu khi bị hỏng sẽ đƣợc khôi phục lạI từ bản sao nếu chúng đã đƣợc ghi lƣu, các dữ liệu vào giữa hai kỳ sẽ phảI vào lại. Nếu dữ liệu không đƣợc ghi lƣu thƣờng xuyên thì lƣợng dữ liệu này là không nhiều. * Phƣơng pháp ghi lƣu số liệu đơn giản, tuy nhiên công việc phảI đƣợc tiến hành thƣờng xuyên, các đĩa lƣu giữ các bản sao phảI đƣợc bảo quản tốt. 2. Dùng hai ổ đĩa cứng theo chế độ soi gƣơng * Phƣơng pháp này đƣợc áp dụng đốI vớI mạng máy tính nó đòi hỏI hai ổ đĩa hoàn toàn giống nhau. * Theo cơ chế này chúng ta cũng chỉ làm việc vớI một ổ đĩa nhƣ bình thƣờng. Hai ổ đĩa này sẽ tự động cập nhật các dữ liệu của nhau. Theo chế độ này chúng ta sử dụng một ổ đĩa dùng làm việc hàng ngày, ổ đĩa còn lạI chỉ lƣu trữ các dữ liệu nhƣ một bản sao của ổ đĩa dùng làm việc. Khi có sự cố ở một ổ đĩa nào đó thì chúng ta vẫn có dữ liệu lƣu trữ trên đĩa còn lại. * Có hai cơ chế dùng hai ổ đĩa theo chế độ trên * Cơ chế MIRRORING: Dùng hai ổ đĩa giống nhau vớI một card điều khiển. * Cơ chế DUPLEXING: Dùng hai ổ đĩa giống nhau vớI một card điều khiển cho hai ổ đĩa đó. * Phƣơng pháp này dữ liệu đƣợc lƣu trữ thành hai bản hoàn toàn tự động, ngƣờI dùng không cần quan tâm tớI việc sao dữ liệu. Dữ liệu khi đƣợc cập nhật luôn đƣợc lƣu trữ thành hai bản. Trong trƣờng hợp có sự cố thì chỉ làm mất dữ liệu trên một ổ đĩa, nhƣ vậy thì ta vẫn còn dữ liệu đƣợc lƣu trữ trên ổ đĩa còn lại. 3. Dùng hai file server vớI môi trƣờng mạng * Dữ liệu đƣợc ghi đồng thờI vào hai file, hai file server luôn ghi lƣu dữ liệu của nhau. * VớI phƣơng pháp này dữ liệu khi đƣợc cập nhật luôn luôn đƣợc lƣu trữ thành hai bản khác nhau. * Trong trƣờng hợp có sự cố trên một file server chúng ta có thể làm việc vớI file server còn lại
- PHẦN KẾT LUẬN I. Kết luận Việc xây dựng một hệ thông tin quản lý nói chung và việc xây dựng hệ thống quản lý công chức - tiền lƣơng ở UBDS-GĐ&TE Thành Phố Nha Trang nói riêng để đáp ứng đƣợc tất cả các vấn đề đặt ra từ khâu đặt vấn đề, giảI quyết bài toán, thiết kế bài toán cho đến việc đóng gói sản phẩm đƣa ra thử nghiệm là một vấn đề đòi hỏI nhiều thờI gian và công sức. Vì vậy trong bản luận văn này tôi đã xây dựng đƣợc một hệ thống quản lý công chức – tiền lƣơng ở UBDS-GĐ&TE Thành Phố Nha Trang theo phƣơng pháp phân tích thiết kế hệ thống dựa trên hệ quản trị dữ liệu Microsoft Access vớI ngôn ngữ lập trình là VISUAL BASIC nhằm mục đích góp một phần nhỏ bé vào việc quản lý công chức - tiền lƣơng một cách có hiệu quả, sử dụng những bộ công cụ, hệ quản trị dữ liệu tiên tiến nhất nhằm tiêu chuẩn hoá hệ thống phân tích hoạt động quản lý nói riêng và nền công nghệ thông tin nói chung để có thể đƣa nền tin học nƣớc nhà theo kịp vớI sự phát triển của tin học thế giới. 2. Hƣớng phát triển của đề tài Trong quá trình xây dựng và phát triển chƣơng trình, hệ thống còn có nhiều điểm chƣa hoàn chỉnh do thờI gian thực hiện quá ngắn, kinh nghiệm cũng nhƣ kiến thức còn nhiều hạn chế vì vậy trong thờI gian tớI chƣơng trình sẽ đƣợc hoàn