Tài liệu Đồ án 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 Uỷ ban dân số gia đình và trẻ em: ĐỒ ÁN:
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
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 ...
129 trang |
Chia sẻ: haohao | Lượt xem: 1047 | Lượt tải: 0
Bạn đang xem trước 20 trang mẫu tài liệu Đồ án 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 Uỷ ban dân số gia đình và trẻ em, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
ĐỒ ÁN:
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
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
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ố
Uỷ Ban Dân Số Gia Đình
& Trẻ Em Thành Phố
Tư pháp
Tổ chức lđ
HLHPN
Giáo dục
4. Sơ đồ quản lý của cơ quan
* 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
UBDSGĐ & TE
THÀNH PHỐ
CHỦ NHIỆM
PHÓ CHỦ NHIỆM
( Thường trực )
PHÓ CHỦ NHIỆM
( Chuên môn )
Các
hoạt
động
xã hội
Dịch
vụ 02
Truyền
thông
Kế
toán
Tổng
hợp
Thống
kê
Văn
thư
- 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:
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
Dân tộc
Tôn giáo
Chính trị
Trình độ văn hoá
Chuyên môn
Ngoại ngữ
Cựu chiến binh
Chức vụ
Các quan hệ của bản thân
Khen thưởng
Kỷ luật
Nghỉ phép
Họ và tên công chức
GiớI tính
Ngày sinh
Nơi sinh
Địa chỉ
Điện thoạI
Số CMND
Ngày vào cơ quan
Ngày vào biến chế
Qúa trình công tác ở nước ngoài
Bảo hiểm
Lương cơ bản
- 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
Công chức
- Mã CC
- Tên CC
- GiớI tính
- Ngày sinh
- Nơi sinh
- Địa chỉ
- Số CMND
- Đoàn viên
- Ngày vào CQ
- Ngày vào BC
CC.BINH
-Ngày NN
-Ngày XN
GIA THUỘC
- Mã GT
- Họ tên GT
- Ngày sinh GT
B.HIỂM
- Mã BH
- Tên BH
CC - BH
ĐƠN VỊ
-Mã ĐV
-Tên ĐV
CC- ĐV
PHỤ CẤP
-Mã PC
-Tên PC
- Tiền
CC - PC
B. LƯƠNG
-Mã BL
-Tên BL
NGẠCH
- Mã NL
- Tên NL
- Số NLL
BL - N
BC. CÔNG
- MSCC
-Số ngày làm
việc
-Số ngày nghỉ
không phép
-Số tiền
thưởng
CC- BCC
T.GIÁO
-Mã TG
-Tên TG
CC- TG
V. HOÁ
-Mã VH
-Tên VH
CC-TG
D.TỘC
-Mã DT
-Tên DT
CC- DT
NG.NGỮ
-Mã NN
-Tên NN
CC- NN
Cấp độ
C.MÔN
-Mã CM
-Tên CM
-Tg ĐT
TRƯỜNG
-Mã Tr
-Tên Tr
CC- CM
- LoạI CC
- N BĐĐT
- N KTĐT
LÝ DO
- Mã LD
- TênĐL
KTKL
Mã KTKL
Tên KTKL
NƯỚC
-Mã N
-Tên N
CC- ĐNN
- Ngày đi
- Ngày về
CC- KTKL
- Ngày KTKL
-Ngày XKL
Đ THOẠI
Số ĐT
SĐT
(1,n) (1,n) (1,n) (1,n) (1,n) (1,n)
(1,n)
(1,n)
(1,n)
(1,n)
(1,n)
(1,n)
(1,n)
(1,n)
(1,n)
(1,n)
PHÉP
(1,n)
(1,n)
(1,n)
(1,n)
(1,n)
CC - GT
LOẠI GT
CÙNG CƠ
QUAN
(1,n)
(1,n)
(1,n)
(1,n)
(1,n)
CC- CV
(1,1)
(1,1)
(1,1) (1,1)
(1,1)
(1,n)
CC- QTL
- Ngày LL
(1,n) (1,n)
(1,1)
(1,n) (1,n)
(1,1)
(1,1) (1,1)
(1,1)
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 )
CC BINH (Mã CC, Ngày nhập ngũ, Ngày xuất ngũ, Mã BC, Mã CB )
CẤP BẬC (Mã CB, Tên 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 )
GIA THUỘC ( Mã GT, Họ, Tên GT, Ngày sinh GT, Mã CV, Mã CQ, Mã nghề )
CC-QTL (Mã CC, Mã BL, Ngày LL )
CC-GT (Mã CC, Mã GT, Mã LGT )
CÙNG CƠ QUAN (Mã CC, Mã LGT)
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:
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ả
NHÂN DÂN
CHỦ TỊCH
UBDS-
GĐ&TE
PHÒNG TỔ
CHỨC
PHÒNG
TÀI VỤ
ĐƠN VỊ
(1)
(14)
(13)
(9)
(8)
(10) (8)
(12) (11)
(6) (5)
(2)
(7)
(4)
(3)
(15)
(16)
(17)
IV. Mô 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 :
(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
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 đã
phát
Hồ sơ được chấp
nhận
Hồ sơ bị từ chốI
Trong thờI hạn
NHẬN HỒ SƠ DỰ
TUYỂN
NO YES
IN GIẤY BÁO
YES
GỬI GIẤY BÁO
NO YES
Giấy báo trúng
tuyển ND đã nhận
Giấy báo không
trúng tuyển
NHẬN HỒ SƠ LÀM VIỆC
NO YES
CHẤM CÔNG
YES
XÉT TUYỂN
NO YES
Đủ tiêu chuẩn Không đủ tiêu
chuẩn
Chỉ tiêu
In danh sách
trúng tuyển
Danh sách
công chức
Danh sách
không đến
Hồ sơ được
chấp nhận
Bảng chấm công
(2)
(1)
IN BẢNG LƯƠNG
YES
Danh sách
không chấp nhận
Danh sách được
chấp nhận
LĨNH LƯƠNG
NO YES
Bảng lương
chưa ký nhận
Bảng lương đã
ký nhận
XÉT KTKL
NO YES
Đề nghị khen
thưởng kỷ luật
Danh sách
không KTKL
Danh sách
được KTKL
Bảng lương
XÉT DUYỆT
NO YES
(2)
(1)
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:
STT
TÊN CÔNG
VIỆC
NƠI THỰC
HIỆN
PHƯƠN
G THỨC
TẦN
SUẤT
CHU
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Ổ
CHỨC
BAN GIÁM
ĐỐC
PHÒNG TÀI
VỤ
Có chỉ tiêu
tuyển công
chức
TBTCC
YES
Thông báo
đã phát
NHẬN HS
NO YES
Trong thờI
hạn nộp
Hồ sơ bị từ
chối
Hồ sơ được
chấp nhận
XÉT TUYỂN
NO YES
Chỉ tiêu
NHÂN DÂN
ĐƠN VỊ PHÒNG TỔ
CHỨC
BAN GIÁM
ĐỐC
PHÒNG TÀI
VỤ
Giấy báo
ND đã nhận
GỬI GBÁO
YES NO
Danh sách
(1)
NHẬN HSƠ
YES NO
Danh sách
Giấy báo
không nhận
NHÂN DÂN
ĐƠN VỊ PHÒNG TỔ
CHỨC
BAN GIÁM
ĐỐC
PHÒNG TÀI
VỤ
LĨNH LƯƠNG
NO YES
(2)
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
GIỚI THIỆU
QUẢN LÝ CC
TRA CỨU
QUẢN LÝ TL
BÁO CÁO
Thoát
Tổ chức cơ quan
GIỚI THIỆU
QUẢN LÝ TL
Danh mục liên quan
CC-Qúa trình lương
Bảng lương
Tra cứu những ngườI là cựu
chiến binh trong cơ quan
TRA CỨU
Tìm kiếm các thông tin về
công chức
CC- NGhề
Danh mục liên quan
QUẢN LÝ CC
CC-Khen thưởng – Kỷ luật
CC-Chuyên môn
CC-NgoạI ngữ
CC-Qúa trình công tác
Quan hệ gia đình
CC- Nghề nghiệp
BÁO CÁO
Bản lý lịch của công chức
Bảng lương của công chức
Báo cáo tổng hợp
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.
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
IPO –Chart1
GọI bởI:
MAIN MENU
GọI Form:
- HO SO CONG CHUC
- 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
Thêm công chức mớI vào HO SO
IPO-Chart: Qúa trình công tác của công chức
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
IPO –Chart 2
GọI bởI:
MAIN MENU
GọI Form:
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
IPO-Chart: Công chức-ngoạI ngữ
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
IPO-Chart 3
GọI bởI:
MAIFORM
GọI Form:
CC-NGOAẠI NGỮ
IPO-Chart: Công chức – chuyên môn
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
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:
MAIFORM
GọI Form:
- CHUYÊN MÔN
- MÃ TRƯỜNG
IPO-Chart 4
IOP-Chart: Công chức – quá trình lươ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
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
IPO-Chart 5
GọIbởI:
MAIFORM
GọI Form:
- Ngạch lương
- Bậc lương
- Qúa trình lương
D. Kết quả của một số chương trình
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
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
Các file đính kèm theo tài liệu này:
- Đồ án tốt nghiệp - Phân tích thiết kế hệ thống - 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.pdf