TRƯỜNG CAO ĐẲNG KỸ THUẬT LÝ TỰ TRỌNG
KHOA CÔNG NGHỆ THÔNG TIN
Báo cáo lập trình cơ sở dữ liệu
Chương trình quản lý nhi đồng - thiếu
niên – thanh niên
GVHD: Trần Việt Khánh
SVTH: Nguyễn Tấn Quốc
Lớp 12CĐ-TP
TP.Hồ Chí Minh, tháng 12 năm 2014
PHẦN 1: GIỚI THIỆU
1.Giới thiệu:
Theo tổng cục Thống kê công bố sáng 17/12 tại hội nghị kết quả
điều tra dân số và nhà ở giữa kỳ thì tính đến 0h ngày 1/4/2014, dân số
Việt Nam đạt 90.493.352 người, gồm 44.618.668 nam (chiếm 49,3%)
và 45.874.684 nữ (50,7%).
Theo đó, TP.HCM có dân số đông nhất nước, đạt 7,955 triệu người.
Hà Nội đứng thứ hai với 7,067 triệu, Thanh Hóa đứng thứ ba với 3,491
triệu. Tính trung bình, mỗi năm Việt Nam tăng trên 929.000 dân. Với số
lượng dân sinh lớn, đồng nghĩa với khối lượng thông tin khổng lồ. Để có
thể quản lý tốt số lượng dữ liệu lớn đó cần phải có những phần mềm
quản lý với hệ thống cơ sở dữ liệu tốt.
Với mục đích quản lý dữ liệu về con người, đồng thời cho phép
một người tra cứu thông tin của chính mình.
Và với những mục đích trên, phần mềm “Quản lý nhi đồng – thiếu
niên – thanh niên” ra đời.
2. Mô tả thực trạng:
•
•
•
•
•
•
Đây là đề tài về quản lý con người xuyên suốt từ nhỏ đến lớn, mang tính thực tế
lớn.
Đối tượng rất gắn với 1 địa phương. (đơn vị là tổ dân phố, phường xã)
Một đối tượng con người (gọi tắt là A). A từ nhỏ sẽ sinh sống tại 1 địa chỉ nào đó
(có thể là có hộ khẩu hoặc tạm trú, có thể là được chuyển đến hoặc từ nhỏ đã sinh
tại đây). A sẽ đi học một ngôi trường nào đó (có thể trường này cùng địa
phương (cùng phường) hoặc khác địa phương.)
A sẽ lớn dần lên, học mẫu giáo, cấp I, cấp II rồi cấp III và đến tuổi đi nghĩa vụ
quân sự
Chúng ta sẽ phải nắm được thông tin: tại thời điểm nào (từ T1 sang T2) A đang
làm gì ? (làm gì ở đây chúng ta sẽ quan tâm đến việc học hành và nghề nghiệp mà
thôi, ví dụ từ năm 2002 đến 2005, A đang học cấp II tại Trường Nguyễn Du, cụ
thể là năm 2002-2003 học lớp 61, 2003-2004 học lớp 62…, hoặc là từ năm 4/2005
đến 10/2005 A làm việc tại cơ sở sản xuất XYZ có địa chỉ là 54 Trần Hưng Đạo
Một số thông tin cần quản lý của A khác là: Tôn giáo, Đội viên (ngày vào đội, các
chức vụ) Đoàn viên (ngày vào Đoàn, các chức vụ..), Đảng viên…, Trình độ ngoại
ngữ, địa chỉ, hoàn cảnh gia đình, thành phần gia đình, địa chỉ (lưu trữ đến tổ dân
phố), thành phần gia đình, khen thưởng, kỷ luật, thông tin về việc học tập (lớp,
trường, ngành học, khoá học, khen thưởng, kỷ luật), thông tin nghề nghiệp
(thời gian làm việc, khoảng thời gian
2
Khi đến tuổi thực hiện nghĩa vụ quân sự, dữ liệu A (nếu A là Nam) được đưa vào
danh sách thanh niên có triển vọng đi nghĩa vụ. Nếu A có giấy xác nhận của nhà
trường thì A sẽ cập nhật lại là trong thời gian hoãn thi hành nghĩa vụ quân sự. Có
một số lý do có thể hoãn thi hành nghĩa vụ quân sự chẳng hạn như (chưa gọi vì
sức khoẻ ,vì đạo đức, vì chính trị, vì có người anh đang đi, ở nhà phải chăm sóc
cha mẹ, vì là con một, v.v…) những lý do như thế chỉ được phép tạm hoãn trong
một đợt tuyển quân, khi hết hạn thì A lại trở thành ứng viên tiềm năng có thể trúng
tuyển.
• Hệ thống có mục lục những người quản lý nhanh chóng xuất ra danh sách các
thanh niên được hoãn, danh sách các thanh niên chưa nộp hồ sơ bổ sung, danh
sách thanh niên trúng tuyển, danh sách thanh niên đang tại ngũ v.v...
•
3. Mô tả chức năng phần mềm “Quản lý nhi đồng –
thiếu niên – thanh niên”:
•
Phần mềm “Quản lý nhi đồng – thiếu niên – thanh niên” bao gồm
các chức năng chính sau đây:
o Đối với 1 user con người (Ví dụ : A) :
Cho phép một A tra cứu thông tin của mình(như hoạt
động, khen thưởng, kỷ luật, công việc, … của mình)
nhưng không cho phép chỉnh sửa.
Được quyền góp ý kiến của mình về hệ thống.
o User quản lý được phân quyền thành 2 cấp Nhân viên và
Quản trị viên :
Đối với nhân viên :
• Cho phép nhân viên tra cứu thông tin về tất cả
con người có trong hệ thống.
• Cho phép thêm, sửa, xóa một user con người
trong hệ thống
• Cho phép thêm, sửa, xóa thông tin của một user
con người trong hệ thống( như hoạt động, khen
thưởng, kỷ luật, công việc, … của người đó)
• Thống kê và lập báo cáo danh sách các thanh
niên đang thực hiện nghĩa vụ, tạm hoãn nghĩa
vụ, chưa bổ sung hồ sơ, triển vọng.
• Đồng thời nhân viên có thể tìm kiếm một user
con người bằng mã con người, họ tên, địa chỉ.
Đối với quản trị viên :
• Có tất cả các chức năng của một user nhân viên
• Quản lý tất cả các user nhân viên khác – thêm,
sửa, xóa một user nhân viên.
• Không thể xóa một user quản trị viên.
• Không thể thay đổi phân quyền cho một user
quản lý.
• Đọc các ý kiến mà các user gửi về hệ thống.
3
o
Trong chương trình còn có một user quản lý admin : đây là
user có quyền cao nhất trong toàn bộ chương trình
• Có toàn quyền trong toàn bộ chương trình
• Có quyền xóa bất kỳ user nào, kể cả user quản
trị viên
• Có quyền thay đổi phân quyền cho một user
quản lý
4
PHẦN 2 : PHÂN TÍCH
1.Sơ đồ luồng dữ liệu:
1.1. User con người:
1.1.1. Tra cứu thông tin cá nhân:
Mô tả
User
D1
D2
Tra cứu thông tin
nhân
cá
Dữ liệu:
• D1: Mã con người hoặc số CMND
của user
• D2: Hiển thị thông tin cho user nếu
tìm thấy
Xử lý:
• Kiểm tra mã con người hoặc số
CMND có tồn tại hay không, nếu
không thì xuất thông báo
• Hiển thị tất cả các thông tin đã tìm
thấy dựa trên D1
1.1.2. Gửi ý kiến về hệ thống:
User
Góp ý kiến
Mô tả
Dữ liệu:
• D1: tên, ý kiến của user
• D2: Thông báo gửi ý kiến thành
công cho user
Xử lý:
• Nhận ý kiến của user – không bắt
buộc phải có tên
• Lưu ý kiến vào hệ thống
5
1.2. User quản lý:
1.2.1. Đăng nhập :
Mô tả
Dữ liệu:
• D1: Mã nhân viên của user
• D2: Thông báo đăng nhập thành công
nếu tìm thấy
Xử lý:
• Nhận và kiểm tra D1, nếu không tìm thấy
thì xuất thông báo
• Hiển thị các chức năng quản lý dành cho
nhân viên
• Nếu là quản trị viên thì hiển thị các chức
năng của quản trị viên, ngược lại thì ẩn đi
• Thông báo đăng nhập thành công
6
1.2.2. Quản lý hồ sơ :
User
D2
D1
Quản lý hồ sơ
D7
D3
Xóa
Thêm
D8
D4
D6
D5
Sửa
Mô tả
Dữ liệu
• D1: Thực thi sự kiện click
button
• D2: Hiển thị thông tin các hồ
sơ có trong hệ thống
Xử lý
• Bắt sự kiện button click
• Kết nối với cơ sở dữ liệu,
hiển thị dữ liệu các hồ sơ có
trong hệ thống
D3: Mã con người, họ tên, số
CMND, ngày sinh, phái, địa
chỉ, mã phường, mã thành
phố, mã tôn giáo, mã dân
tộc, trình độ anh văn
• D4: Thông báo thêm thành
công
•
•
D5: Mã con người, họ tên, số
CMND, ngày sinh, phái, địa
chỉ, mã phường, mã thành
phố, mã tôn giáo, mã dân
tộc, trình độ anh văn
• D6: Thông báo sửa hồ sơ
thành công
•
•
D7: Mã con người
•
D8: Thông báo xóa hồ sơ
thành công
7
Kiểm tra mã con người hoặc
số CMND đã tồn tại trong cơ
sở dữ liệu chưa
Kết nối với cơ sở dữ liệu,
thêm các dữ liệu D3 vào hệ
thống
• Khi sửa không cho thay đổi
mã con người và số CMND
nên không kiểm tra lại.
•
Thêm các dữ liệu D5 vào cơ
sở dữ liệu
• Thông báo xóa thành công
nếu tìm thấy mã con người
• Xóa toàn bộ tất cả các
thông tin liên quan đến mã
con người trong D7
•
8
1.2.3. Quản lý hoạt động :
User
D2
D1
D7
Quản lý hoạt động
D3
Xóa
Thêm
D8
D4
D6
D5
Sửa
Mô tả
Dữ liệu
• D1: Thực thi sự kiện click
button
Xử lý
• Bắt sự kiện button click
Kết nối với cơ sở dữ liệu,
hiển thị dữ liệu các hoạt
động có trong hệ thống
• Kiểm tra mã con người hoặc
mã hoạt động đã tồn tại
trong cơ sở dữ liệu chưa
•
•
D2: Hiển thị thông tin các
hoạt động có trong hệ thống
•
D3: Mã con người, mã hoạt
động, ngày bắt đầu, ngày kết
thúc, tên hoạt động, địa điểm
Kết nối với cơ sở dữ liệu,
thêm các dữ liệu D3 vào hệ
thống
• Khi sửa không cho thay đổi
mã con người và mã hoạt
động nên không kiểm tra
lại.
•
•
D4: Thông báo thêm thành
công
•
D5: Mã con người, mã hoạt
động, ngày bắt đầu, ngày kết
thúc, tên hoạt động, địa điểm
•
D6: Thông báo sửa hồ sơ
thành công
•
D7: Mã con người, mã hoạt
động
•
D8: Thông báo xóa hoạt động
thành công
Thêm các dữ liệu D5 vào cơ
sở dữ liệu
• Thông báo xóa thành công
nếu tìm thấy mã con người
và mã hoạt động
• Xóa hoạt động liên quan
đến mã con người và mã
hoạt động trong D7
•
9
1.2.5. Quản lý khen thưởng – kỷ luật:
User
D2
D1
D7
Quản lý
khen thưởng – kỷ luật
Xóa
D3
Thêm
D8
D4
D6
D5
Sửa
Mô tả
Dữ liệu
• D1: Thực thi sự kiện click
button
•
•
•
D3: Mã con người, mã khen
thưởng, hình thức, nhận, lý
do, thời gian
D4: Thông báo thêm thành
công
•
D5: Mã con người, mã khen
thưởng, hình thức, nhận, lý
do, thời gian
•
•
D2: Hiển thị thông tin các
khen
thưởng – kỷ luật có trong hệ
thống
•
•
Xử lý
• Bắt sự kiện button click
•
•
•
•
D6: Thông báo sửa hồ sơ
thành công
•
D7: Mã con người, mã khen
10
Kết nối với cơ sở dữ liệu,
hiển thị dữ liệu các khen
thưởng – kỷ luật có trong hệ
thống
Kiểm tra mã con người hoặc
mã khen thưởng đã tồn tại
trong cơ sở dữ liệu chưa
Kết nối với cơ sở dữ liệu,
thêm các dữ liệu D3 vào hệ
thống
Khi sửa không cho thay đổi
mã con người và mã khen
thưởng nên không kiểm tra
lại.
Thêm các dữ liệu D5 vào cơ
sở dữ liệu
Thông báo xóa thành công
nếu tìm thấy mã con người
và mã khen thưởng
Xóa hoạt động liên quan
đến mã con người và mã
thưởng
•
khen thưởng trong D7
D8: Thông báo xóa hoạt động
thành công
11
1.2.6. Quản lý kết nạp đội – đoàn – đảng:
User
D2
D1
D7
Quản lý kết nạp
đội –
đoàn – đảng
Xóa
D3
Thêm
D8
D4
D6
D5
Sửa
Mô tả
Dữ liệu
• D1: Thực thi sự kiện click
button
•
• D2: Hiển thị thông tin các kết
nạp có trong hệ thống
Xử lý
• Bắt sự kiện button click
•
•
•
•
•
D3: Mã con người, mã kết
nạp, loại kết nạp, chức vụ,
ngày vào
•
D4: Thông báo thêm thành
công
•
D5: Mã con người, mã kết
nạp, loại kết nạp, chức vụ,
ngày vào
•
•
•
D6: Thông báo sửa hồ sơ
thành công
•
•
D7: Mã con người, mã kết
nạp
•
D8: Thông báo xóa kết nạp
thành công
12
Kết nối với cơ sở dữ liệu,
hiển thị dữ liệu các kết nạp
có trong hệ thống
Kiểm tra mã con người hoặc
mã kết nạp đã tồn tại trong
cơ sở dữ liệu chưa
Kết nối với cơ sở dữ liệu,
thêm các dữ liệu D3 vào hệ
thống
Khi sửa không cho thay đổi
mã con người và mã kết
nạp nên không kiểm tra lại.
Thêm các dữ liệu D5 vào cơ
sở dữ liệu
Thông báo xóa thành công
nếu tìm thấy mã con người
và mã kết nạp
Xóa kết nạp liên quan đến
mã con người và mã kết nạp
trong D7
13
1.2.7. Quản lý nghĩa vụ:
User
D2
D1
D7
Quản lý nghĩa vụ
D3
Xóa
Thêm
D8
D4
D6
D5
Sửa
Mô tả
Dữ liệu
• D1: Thực thi sự kiện click
button
Xử lý
• Bắt sự kiện button click
•
D2: Hiển thị thông tin các
nghĩa vụ có trong hệ thống
•
D3: Mã con người,tại ngũ, lý
do, thời gian bắt đầu, thời
gian kết thúc
•
D4: Thông báo thêm thành
công
•
D5: Mã con người, tại ngũ,
lý do, thời gian bắt đầu, thời
gian kết thúc
•
D6: Thông báo sửa nghĩa vụ
thành công
•
D7: Không có
•
D8: Không có
Kết nối với cơ sở dữ liệu,
hiển thị dữ liệu các nghĩa vụ
có trong hệ thống
• Kiểm tra mã con người đã
tồn tại trong cơ sở dữ liệu
chưa
•
Kết nối với cơ sở dữ liệu,
thêm các dữ liệu D3 vào hệ
thống
• Khi sửa không cho thay đổi
mã con người và nếu đang
thực hiện hoặc hoàn thành
nghĩa vụ thì cũng không cho
sửa
• Thêm các dữ liệu D5 vào cơ
sở dữ liệu
•
14
•
Không cho phép xóa nghĩa
vụ
•
Không cho phép xóa nghĩa
vụ
15
1.2.8. Quản lý thân nhân:
User
D2
D1
D7
Quản lý thân nhân
D3
Xóa
Thêm
D8
D4
D6
D5
Sửa
Mô tả
Dữ liệu
• D1: Thực thi sự kiện click
button
•
•
•
•
Xử lý
• Bắt sự kiện button click
•
D2: Hiển thị thông tin các
thân nhân có trong hệ thống
D3: Mã con người, mã thân
nhân, họ tên thân nhân, quan
hệ
D4: Thông báo thêm thành
công
•
•
•
D5: Mã con người, mã thân
nhân, họ tên thân nhân, quan
hệ
•
D6: Thông báo sửa thân nhân
thành công
•
D7: Mã con người, mã thân
nhân
•
D8: Thông báo xóa thân nhân
thành công
16
•
Kết nối với cơ sở dữ liệu,
hiển thị dữ liệu các thân
nhân có trong hệ thống
Kiểm tra mã con người và
mã thân nhân đã tồn tại
trong cơ sở dữ liệu chưa
Kết nối với cơ sở dữ liệu,
thêm các dữ liệu D3 vào hệ
thống
Khi sửa không cho thay đổi
mã con người và mã thân
nhân nên không kiểm tra lại
Thêm các dữ liệu D5 vào cơ
sở dữ liệu
Thông báo xóa thành công
nếu tìm thấy mã con người
và mã thân nhân
• Xóa thân nhân có mã con
người và mã thân nhân
trong D7
•
17
1.2.9. Quản lý nhân viên:
Quản trị viên
D2
D1
D7
Quản lý nhân viên
D3
Xóa
Thêm
D8
D4
D6
D5
Sửa
Mô tả
Dữ liệu
• D1: Thực thi sự kiện click
button
•
D2: Hiển thị thông tin các
nhân viên có trong hệ thống
•
D3: Mã nhân viên, họ tên,
chức vụ, nơi làm việc, quyền
quản trị
•
D4: Thông báo thêm thành
công
•
D5: Mã nhân viên, họ tên,
chức vụ, nơi làm việc, quyền
quản trị
•
D6: Thông báo sửa thành
công
•
Xử lý
• Bắt sự kiện button click
Kết nối với cơ sở dữ liệu,
hiển thị dữ liệu các nhân
viên có trong hệ thống
• Kiểm tra mã nhân viên đã
tồn tại trong cơ sở dữ liệu
chưa
•
Kết nối với cơ sở dữ liệu,
thêm các dữ liệu D3 vào hệ
thống
• Chỉ có ADMIN mới có quyền
sửa nhân viên.Khi sửa
không cho thay đổi mã nhân
viên
• Thêm các dữ liệu D5 vào cơ
sở dữ liệu
•
•
D7: Mã nhân viên
18
Chỉ có quản trị viên và
ADMIN mới được xóa nhân
viên. Quản trị viên không
được xóa quản trị viên
khác.Thông báo xóa thành
công nếu tìm thấy mã nhân
viên
•
D8: Thông báo xóa thành
công
•
19
Xóa thân nhân có mã con
người và mã thân nhân
trong D7
1.2.10. Xem ý kiến người dùng:
Quản trị viên
D2
D1
Ý kiến người dùng
D3
Sửa
D4
Mô tả
Dữ liệu
• D1: Thực thi sự kiện click
button
•
D2: Hiển thị thông tin các ý
kièn có trong hệ thống
•
D3: Mã ý kiến, xem
•
D4: Đã xem ý kiến
Xử lý
• Bắt sự kiện button click
•
Kết nối với cơ sở dữ liệu,
hiển thị dữ liệu các ý kiến có
trong hệ thống
Chỉ có quản trị viên mới có
quyền xem các ý kiến.Khi
sửa không cho thay đổi mã
ý kiến
• Thêm các dữ liệu D5 vào cơ
sở dữ liệu
•
20
PHẦN 3 : THIẾT KẾ
1. Sơ đồ phân rã chức năng BFD:
Quản lý
Nhi Đồng – Thiếu Niên –
Thanh Niên
User Con Người
User Quản Lý
Tra cứu thông tin
cá nhân
Nhân Viên
Quản Trị Viên
Gửi ý kiến về hệ
thống
Quản lý hồ sơ
Các chức năng
của
Quản lý hoạt
động
Quản lý nhân viên
Quản lý đội đoàn
đảng
Quản lý ý kiến
người dùng
Quản lý khen
thưởng – kỷ luật
Quản lý nghĩa vụ
Quản lý thân
nhân
21
2. Mô hình thực thể liên kết:
2.1.
Danh sách các bảng dữ liệu:
STT
1
Tên bảng
CONNGUOI
2
NOISINH
3
DANTOC
4
TONGIAO
5
PHUONG
6
QUAN
7
THANNHAN
8
HOATDONG
22
Ý Nghĩa
Lưu trữ thông tin c
người
Lưu trữ thông tin c
thành phố nơi sinh
Lưu trữ thông tin c
dân tộc
Lưu trữ thông tin c
tôn giáo
Lưu trữ thông tin c
phường
Lưu trữ thông tin c
quận
Lưu trữ thông tin c
thân nhân
Lưu trữ thông tin c
1.2.
9
TRUONG
10
KHENTHUONG
11
KETNAP
12
QUANSU
13
YKIEN
14
ID
hoạt động(như học
làm việc, … ở đâu)
Lưu trữ thông tin c
địa điểm(trường họ
công ty, …)
Lưu trữ thông tin k
thưởng kỹ luật
Lưu trữ thông tin k
nạp đội – đoàn – đả
Lưu trữ thông tin q
sự
Lưu trữ thông tin c
kiến của người dùn
Lưu trữ thông tin c
nhân viên, quản trị
viên
Danh sách các thuộc tính của từng bảng dữ liệu:
1.2.1. Bảng CONNGUOI:
STT
Kiểu
Ý Nghĩa
1
Tên thuộc
tính
MACN
char(10)
2
HOTEN
nchar(255)
3
PHAI
bit
4
NGAYSINH
datetime
5
CMND
char(9)
6
DIACHI
nchar(100)
7
MAPHUONG
int
8
MATP
char(10)
9
MATG
char(10)
10
MADT
char(10)
Lưu trữ thông
tin mã con
người
Lưu trữ thông
tin họ tên
Lưu trữ thông
tin số CMND
Lưu trữ thông
tin ngày sinh
Lưu trữ thông
tin phái
Lưu trữ thông
tin địa chỉ
Lưu trữ thông
tin mã
phường
Lưu trữ thông
tin mã quận
Lưu trữ thông
tin mã thành
phố
Lưu trữ thông
tin mã dân
23
11
1.2.2.
TRINHDOAV
nchar(100)
tộc
Lưu trữ thông
tin trình độ
anh văn
Bảng NOISINH:
STT
Kiểu
Ý Nghĩa
1
Tên thuộc
tính
MATP
char(10)
2
TENTP
nchar(100)
Lưu trữ thông
tin mã thành
phố
Lưu trữ thông
tin tên thành
phố
1.2.3.
Bảng DANTOC:
STT
Kiểu
Ý Nghĩa
1
Tên thuộc
tính
MADT
char(10)
2
DANTOC
nchar(100)
Lưu trữ thông
tin mã dân
tộc
Lưu trữ thông
tin tên dân
tộc
1.2.4.
Bảng TONGIAO:
STT
Kiểu
Ý Nghĩa
1
Tên thuộc
tính
MATG
char(10)
2
TONGIAO
nchar(100)
Lưu trữ thông
tin mã tôn
giáo
Lưu trữ thông
tin tên tôn
giáo
1.2.5.
Bảng PHUONG:
STT
Kiểu
Ý Nghĩa
1
Tên thuộc
tính
MAPHUONG
int
2
TENPHUONG
nchar(100)
Lưu trữ thông
tin mã
phường
Lưu trữ thông
24
3
1.2.6
MAQUAN
char(10)
tin tên
phường
Lưu trữ thông
tin mã quận
Bảng QUAN:
STT
Kiểu
Ý Nghĩa
1
Tên thuộc
tính
MAQUAN
char(10)
2
TENQUAN
nchar(100)
Lưu trữ thông
tin mã quận
Lưu trữ thông
tin tên quận
1.2.7
Bảng THANNHAN:
STT
Kiểu
Ý Nghĩa
1
Tên thuộc
tính
MATN
char(10)
2
MACN
char(10)
3
HOTENTN
nchar(255)
4
QUANHE
nchar(10)
Lưu trữ thông
tin mã con
người
Lưu trữ thông
tin mã thân
nhân
Lưu trữ thông
tin mã thân
nhân
Lưu trữ thông
tin quan hệ
thân nhân
1.2.8
Bảng HOATDONG:
STT
Kiểu
Ý Nghĩa
1
Tên thuộc
tính
MAHD
char(10)
2
MACN
char(10)
Lưu trữ thông
tin mã hoạt
động
Lưu trữ thông
tin mã con
người
25