Tải bản đầy đủ (.doc) (14 trang)

Thiết kế cơ sở dữ liệu hệ thống quản lý đăng ký đề tài cao học

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (308.18 KB, 14 trang )

MỤC LỤC
I.Đặt vấn đề 2
II.Mục đích, phạm vi 3
1.Mục đích 3
III.Sơ đồ tổ chức hệ thống 3
IV.Quy trình nghiệp vụ 3
1.Quản lý học viên 3
2.Quản lý đề tài 3
3.Quản lý giáo viên 4
4.Quản lý hoạt động đăng ký: 4
V.Các bảng dữ liệu của hệ thống 5
1.Bảng HOCVIEN 5
2.Bảng DETAI 5
3.Bảng GIAOVIEN 6
4.Bảng DKDETAI 6
5.Bảng LINHVUC 6
6.Bảng LV-GV 6
VI.Mô hình quan hệ 7
VII.Mô tả chi tiết các bảng 7
1.Bảng HOCVIEN 7
2.Bảng DETAI 7
3.Bảng GIAOVIEN 8
4.Bảng DKDETAI 8
5.Bảng LINHVUC 9
6.Bảng LV-GV 9
VIII.Kiểm tra việc đáp ứng các yêu cầu nghiệp vụ 9
IX.Tài liệu tham khảo 14
1
THIẾT KẾ CƠ SỞ DỮ LIỆU
HỆ THỐNG QUẢN LÝ ĐĂNG KÝ ĐỀ TÀI CAO HỌC
I. Đặt vấn đề


Trong thế kỷ XXI, thế kỷ của tự động và tự động hoá thì đẩy mạnh ứng dụng
tin học vào công việc hàng ngày là một mục tiêu được nhà nước quan tâm và phát
triển.
Tin học ngày nay càng trở nên quan trọng và nhất là trong xã hội phát triển
hiện nay, nó đã thực sự trở thành nguồn tài nguyên, của cải mang lại ý nghĩa quan
trọng và có giá trị to lớn. Trong những năm gần đây, đi đôi với sự phát triển mạnh
mẽ kỹ thuật, tin học đã đi sâu ứng dụng vào mọi ngành nghề và mọi lĩnh vực khác
nhau trong đời sống xã hội. Sự phát triển của những quan hệ kinh tế, sự mở rộng
mạng lưới nghiệp vụ và tăng cường quy mô của nó, nhất là Internet ra đời đã làm
tăng trưởng vựơt bậc khối lượng các luồng thông tin. Các sự kiện đó đang làm cho
công việc quản lý trở nên phức tạp. Cách quản lý dựa trên kinh nghiệm là chủ yếu
không còn đem lại hiệu quả như mong muốn , do đó phải thiết lập một phương thức
quản lý mới hiện đại hơn. Tin học hoá công tác quản lý các đơn vị kinh tế, hành
chính, trường học, bệnh viện…là một trong những lĩnh vực quan trọng của tin học.
Việc áp dụng tin học vào quản lý không những làm tăng đáng kể năng suất và chất
lượng lao động mà còn tạo điều kiện cho việc xây dựng một hệ thống thông tin quản
lý chặt chẽ, có cơ sở khoa học và chính xác.
Trong các bài toán quản lý thì việc thiết kế CSDL hết sức quan trọng, nó đóng
vai trò chủ yếu đối với việc thành công của bài toán. Để đảm bảo hệ thống hoạt động
tốt và ít lỗi nhất thì chúng ta phải thiết kế CSDL thật đầy đủ, chính xác, đáp ứng
được các tình huống có thể xảy ra. Với mục đích tổng hợp những kiến thức đã học để
vận dụng giải quyết các bài toán thực tiễn. Qua đó giúp em có thể áp dụng tốt sau khi
ra trường. Nhằm nâng cao hiệu quả quản lý việc đăng ký đề tài cao học tại Học viện
Kỹ thuật Quân sự em đã lựa chọn đề tài “Thiết kế cơ sở dữ liệu hệ thống quản lý
đăng ký đề tài cao học”.
Mặc dù đã có những cố gắng, cùng với sự hướng dẫn tận tình của thầy Đào
Thanh Tĩnh, song vì thời gian còn hạn chế, bước đầu em được làm quen một bài toán
thực tế mà kinh nghiệm còn chưa nhiều nên hệ thống của em không tránh khỏi những
thiếu sót. Em rất mong nhận được sự chỉ dẫn của thầy giáo cùng với sự góp ý của
các bạn để hệ thống của em hoàn thiện hơn.

Em xin chân thành cảm ơn !
2
II. Mục đích, phạm vi
1. Mục đích
 Vận dụng các kiến thức đã học để thiết kế CSDL nhằm xây dựng hệ thống
quản lý đăng ký đề tài cao học. Thông qua đó cũng là rèn luyện kỹ năng lập
trình và phương pháp giải quyết một bài toán .
 Việc thiết kế CSDL nhằm giúp cho hệ thống quản lý đăng ký đề tài cao học
hoạt động tốt và hiệu quả hơn.
 Giám sát, theo dõi quá trình đăng ký đề tài của học viên, khắc phục khi có sự
cố xảy ra.
2. Phạm vi
 Bài toán được xây dựng trong nội dung chương trình môn học và các kiến thức
đã học.
 CSDL được sử dụng để xây dựng hệ thống quản lý đăng ký đề tài cao học của
Học Viện kỹ thuât Quân sự.
III. Sơ đồ tổ chức hệ thống
IV. Quy trình nghiệp vụ.
1. Quản lý học viên
 Sau khi đủ điều kiện được làm đề tài cao học, học viên được yêu cầu làm thẻ
học viên chứa đầy đủ thông tin về học viên được lưu trữ trong kho dữ liệu
nhằm phục vụ cho công tác quản lý.
 Việc tra cứu, tìm kiếm thông tin học viên phục vụ cho ban quản lý và học viên.
2. Quản lý đề tài
 Hàng năm giáo viên gửi danh sách các đề tài lên khoa để xét duyệt, giáo viên
cũng có thể sử dụng các đề tài của các năm trước nhưng chưa được sử dụng.
Mỗi đề tài có một độ khó được giáo viên xác định và thuộc một lĩnh vực nhất
3
QUẢN LÝ ĐĂNG
KÝ ĐỀ TÀI

Quản lý học
viên
Quản lý hoạt
động đăng ký
Quản lý đề tài Quản lý giáo
viên
định. Mỗi giáo viên có thể gửi số lượng đề tài tùy ý không hạn chế. Thông tin
về đề tài được lưu trữ trong kho dữ liệu nhằm phục vụ cho công tác quản lý.
 Sau khi đề tài đã được xét duyệt có thể sử dụng cho học viên đăng ký nghiên
cứu.
 Danh sách đề tài được phân loại theo từng lĩnh vực để tiện cho việc đăng ký
của học viên.
 Thống kê tìm kiếm đề tài theo tên, theo giáo viên hướng dẫn hoặc theo các lĩnh
vực, ngành để phục vụ cho học viên trong quá trình đăng ký.
3. Quản lý giáo viên
 Hệ thống quản lý, lưu trữ thông tin về các giáo viên tham gia gửi đề tài. Các
giáo viên phải có học hàm là tiến sĩ trở lên và đã là tiến sĩ 3 năm trở lên mới
được tham gia gửi đề tài. Thông tin về giáo viên được lưu trữ trong kho dữ liệu
nhằm phục vụ cho công tác quản lý.
 Thống kê, tìm kiếm theo tên giáo viên hoặc theo lĩnh vực, ngành phục vụ cho
công tác đăng ký đề tài của học viên.
4. Quản lý hoạt động đăng ký:
 Sau khi danh sách đề tài đã được đưa lên mạng cho học viên đăng ký. Quá
trình đăng ký diễn ra trong một khoảng thời gian nhất định.
 Học viên muốn đăng ký một đề tài phải đăng nhập vào hệ thống bằng tài
khoản của mình. Sau khi đăng nhập thành công vào hệ thống, học viên chọn đề
tài mà mình muốn tham gia nghiên cứu.
 Mỗi đề tài có không quá một học viên đăng ký và ngược lại một học viên đăng
ký không quá một đề tài.
 Một giáo viên được phép hướng dẫn số lượng đề tài theo học hàm, học vị của

mình. Cụ thể :
• TS hướng dẫn không quá 3 đề tài.
• PGS hướng đẫn không quá 5 đề tài.
• GS hướng dẫn không quá 8 đề tài.
 Sau khi học viên hoàn tất quá trình đăng ký, hệ thống sẽ trả lời ngay và lưu trữ
thông tin đăng ký vào kho dữ liệu nhằm phục vụ cho công tác quản lý.
 Học viên sau khi hoàn tất quá trình đăng ký được phép đăng ký lại đề tài khác
với điều kiện thời gian không quá 2 tháng kể từ khi đăng ký.
4
 Khi số lượng đề tài đã được đăng ký của một giáo viên bằng số lượng tối đa
cho phép hướng đẫn của giáo viên đó thì học viên không thể đăng ký các đề tài
còn lại của giáo viên đó.
 Khi đăng ký đề tài học viên phải đăng ký thời gian bảo vệ đề tài.
• Đối với học viên quân sự, thời gian bảo vệ đề tài đã được quy định,
không được đăng ký.
• Đối với học viên dân sự, thời gian bảo vệ đề tài được chia làm 4 đợt vào
tháng 3, 6, 9 và 12.
V. Các bảng dữ liệu của hệ thống
1. Bảng HOCVIEN
Bảng này lưu trữ thông tin về học viên tham gia đề tài. Mỗi học viên có một mã
duy nhất là tài khoản để đăng nhập vào hệ thống, chứa đầy đủ các thông tin về học
viên nhằm phục vụ cho công tác quản lý:
2. Bảng DETAI
Bảng này lưu trữ thông tin về đề tài nghiên cứu. Mỗi đề tài có một mã duy nhất,
tên đề tài, độ khó của đề tài, mô tả nội dung đề tài và mã giáo viên hướng dẫn.
5
3. Bảng GIAOVIEN
Bảng này lưu trữ thông tin về giáo viên hướng dẫn đề tài. Mỗi giáo viên có một
mã duy nhất, học hàm, học vị.
4. Bảng DKDETAI

Bảng này lưu trữ thông tin về việc đăng ký đề tài của học viên. Sau khi học viên
hoàn tất quá trình đăng ký thì thông tin về học viên và đề tài, thời điểm đăng ký và
thời gian bảo về được lưu trữ trong bảng DKDETAI.
5. Bảng LINHVUC
Bảng này lưu trữ thông tin về các lĩnh vực, ngành trong học viện.
6. Bảng LV-GV
Bảng này lưu trữ lĩnh vực của các giáo viên
6
VI. Mô hình quan hệ
VII. Mô tả chi tiết các bảng
1. Bảng HOCVIEN
STT Tên cột Mô tả Kiểu dữ liệu NULL
1 MaHV Mã học viên, khóa chính varchar(8)
2 Pass
Mật khẩu đăng nhập hệ
thống
varchar(10)
3 NamNH Năm nhập học của học viên varchar(4)
2. Bảng DETAI
STT Tên cột Mô tả Kiểu dữ liệu NULL
1 MaDT Mã đề tài, khóa chính varchar(8)
2 TenDT Tên đề tài varchar(200)
7
3 Dokho Độ khó của đề tài number
4
MaLV Mã lĩnh vực, khóa ngoại của
LINHVUC.MaLV
varchar(8)
5 MoTa
Mô tả nội dung tóm tắt của

đề tài
varchar(500)
6 MaGV
Mã giáo viên hướng dẫn,
khóa ngoại của
GIAOVIEN.MaGV
varchar(8)
7 Chon
Chọn. Để học viên chọn đề
tài mình cần nghiên cứu
bit
3. Bảng GIAOVIEN
STT Tên cột Mô tả Kiểu dữ liệu NULL
1
MaGV Mã giáo viên, khóa chính
varchar(8)
2 HocHam Học hàm của giáo viên varchar(3) 
3
HocVi Học vị của giáo viên
varchar(4)
4. Bảng DKDETAI
STT Tên cột Mô tả Kiểu dữ liệu NULL
1 MaHV
Mã học viên, khóa chính,
khóa ngoại của
HOCVIEN.MaHV
varchar(8)
2 MaDT
Mã đề tài, khóa ngoại của
DETAI.MaDT

varchar(8)
3 Td/DK
Thời điểm đăng ký đề tài
date/time
4 TgBVe
Thời gian bảo vệ đề tài
date/time
8
5. Bảng LINHVUC
STT Tên cột Mô tả Kiểu dữ liệu NULL
1 MaLV
Mã lĩnh vực, khóa chính
varchar(8)
2 TenLV
Tên lĩnh vực
varchar(30)
3 MaLVchinh
Lĩnh vực chính, khóa ngoại
của LINHVUC.MaLV
varchar(8)
6. Bảng LV-GV
STT Tên cột Mô tả Kiểu dữ liệu NULL
1 MaGV
Mã giáo viên, khóa chính,
khóa ngoại của
GIAOVIEN.MaGV
varchar(8)
2 MaLV
Mã lĩnh vực, khóa chính,
khóa ngoại

LINHVUC.MaLV
varchar(8)
VIII. Kiểm tra việc đáp ứng các yêu cầu nghiệp vụ
Xét chi tiết từng bảng, kiểm tra dữ liệu có đáp ứng được các yêu cầu quản lý
không?
1. Kiểm tra sự tồn tại của một học viên
Một học viên muốn đăng nhập vào hệ thống, kiểm tra thông tin cá nhân. Người
quản lý muốn kiểm tra thông tin của một học viên.
Khả năng đáp ứng : hệ thống đáp ứng được.
2. Bổ sung học viên mới
Khi có học viên mới, người quản lý cần bổ sung thêm vào kho dữ liệu để lưu trữ,
quản lý.
9
Input : MaHV, Pass, Khoa
if !found (HOCVIEN.MaHV = MaHV) and (HOCVIEN.Pass = Pass)
{
Insert into HOCVIEN values (MaHV, Pass, Khoa)
“Thông báo thành công”
Tiếp tục
}
else {“thông báo thất bại”, dừng}
Input : MaHV
if !found (HOCVIEN.MaHV = MaHV)
{“thông báo thất bại”, nhập lại MaHV}
else {“thông báo thành công”, tiếp tục}
Khả năng đáp ứng : hệ thống đáp ứng được.
3. Kiểm tra thông tin về giáo viên
Học viên muốn biết thông tin về giáo viên hướng dẫn đề tài trước khi đăng ký đề
tài của giáo viên đó.
Khả năng đáp ứng : hệ thống đáp ứng được.

4. Tìm kiếm đề tài của một giáo viên nào đó
Học viên muốn tìm kiếm các đề tài của một giáo viên nào đó mà mình quan tâm
để tiện cho việc đăng ký.
Khả năng đáp ứng : hệ thống đáp ứng được.
5. Tìm kiếm đề tài theo lĩnh vực
Mỗi đề tài thuộc một lĩnh vực nhất định, học viên có thể tìm kiếm đề tài theo lĩnh
vực mà mình quan tâm.
10
Input : MaLV
if !found (LINHVUC.MaLV = MaLV)
{
“Thông báo thất bại”
Nhập lại MaLV
}
else
{
Select * from DETAI where GIAOVIEN.MaGV in (select MaGV from
GIAOVIEN where GIAOVIEN.MaLV = MaLV)
}
Input : MaGV
if ! found (DETAI.MaGV = MaGV)
{
“Thông báo thất bại”
Nhập lại MaGV
}
else
{
Select * from DETAI where DETAI.MaGV = MaGV
}
Input : MaGV

Select * from GIAOVIEN where GIAOVIEN.MaGV = MaGV
Khả năng đáp ứng : hệ thống đáp ứng được.
6. Thủ tục đăng ký
Học viên muốn đăng ký một đề tài trước hết phải đăng nhập vào hệ thống, hệ
thống sẽ kiểm tra đăng nhập. Tiếp theo học viên tiến hành đăng ký đề tài mà mình
muốn. Nếu học viên này chưa đăng ký đề tài và đề tài chưa có người đăng ký thì hệ
thống sẽ cho phép học viên đăng ký và lưu thong tin đăng ký vào bảng DKDETAI.
7. Kiểm tra xem một học viên có được phép đăng ký một đề tài hay không
Khi một học viên muốn đăng ký một đề tài, hệ thống sẽ kiểm tra học viên này đã
đăng ký đề tài nào chưa và đề tài đó đã có ai đăng ký chưa. Nếu mọi điều kiện đều
đảm bảo thì hệ thống chấp nhận đăng ký của học viên đó.
11
i. Input : MaHV, Pass
ii. if !found (HOCVIEN.MaHV = MaHV) and (HOCVIEN.Pass = Pass)
{“thông báo thất bại”, goto i}
else {“thông báo thành công”, goto iii}
iii. Input : MaDT
iv. if !found (MaDT, DETAI)
{“thông báo”, goto iii}
else {“thông báo”, goto v}
v. if found (MaHV, DKDETAI)
{“thông báo”, goto i}
else if found (MaDT, DKDETAI)
{“thông báo”, goto iii}
else {“thông báo”, goto vi}
vi. Create record in DKDETAI
Input : MaHV, MaDT
If found (MaHV, DKDETAI)
{
“thông báo tồn tại”, dừng

}
Else if found (MaDT, DKDETAI)
{
“thông báo tồn tại”, Chọn lại MaDT
}
Else
{
“thông báo thành công”, tiếp tục
}
Khả năng đáp ứng : hệ thống đáp ứng được
8. Khi hai học viên A và B cùng đăng nhập vào hệ thống và đăng ký cùng một đề tài
X nhưng học viên A hoàn tất quá trình đăng ký trước, trong khi đó trên hệ thống
của học viên B đề tài X vẫn chưa cập nhât đã có người đăng ký. Vậy hệ thống sẽ
xử lý như thế nào?
Khi học viên A hoàn tất quá trình đăng ký thì thông tin đăng ký được lưu trữ vào
bảng DKDETAI. Khi học viên B hoàn tất đăng ký thì hệ thống sẽ kiểm tra trong
bảng dữ liệu DKDETAI, nếu MaDT đã tồn tại trong bảng DKDETAI thì hệ thống
gửi thông báo cho học viên B đề tài đã có người đăng ký.
9. Học viên có hai loại : học viên quân sự và học viên dân sự với các hình thức quản
lý khác nhau.
Với bảng dữ liệu HOCVIEN trên ta không thể biết được đâu là học viên quân sự,
đâu là học viên dân sự. Để giải quyết vấn đề này ta có 2 cách :
- Thiết kế thuộc tính MaHV chứa thông tin về loại học viên.
- Trong bảng HOCVIEN thêm thuộc tính LoaiHV.
Để tiện cho công tác tra cứu, quản lý và lưu trữ dữ liệu chúng ta sẽ thiết kế thuộc
tính MaHV chứa thông tin về loại học viên.
12
Input : MaDT
If found (MaDT, DKDETAI)
{

“thông báo tồn tại”,Chọn lại MaDT
}
AB-XXXXXX : 8 ký tự
AB : Loại học viên. QS : học viên quân sự
DS : học viên dân sự
XXXXXX : Mã học viên.
10.Khi số lượng đề tài đã được đăng ký của một giáo viên bằng số lượng đề tài tối đa
mà giáo viên đó được phép hướng dẫn thì hệ thống không cho phép học viên đăng
ký các đề tài còn lại của giáo viên đó.
- Nếu số lượng đề tài đã được đăng ký của một giáo viên bằng số lượng đề tài
tối đa mà giáo viên đó được phép hướng dẫn thì các đề tài còn lại sẽ không
hiển thị lên danh sách đề tài khi học viên đăng ký
- Trường hợp số lượng đề tài đăng ký của giáo viên = số lượng tối đa -1 mà
cùng lúc có 2 học viên truy cập hệ thống để đăng ký đề tài của giáo viên đó thì
hệ thống sẽ thông báo cho học viên đăng ký sau rằng giáo viên đó không được
hướng dẫn đề tài nữa.
11.Thống kê số lượng đề tài mà một giáo viên gửi lên
Các khoa, ngành muốn kiểm tra, tính số lượng đề tài gửi lên của một giáo viên
nào đó để tiện cho công tác thống kê, báo cáo.
12.Đếm số lượng đề tài hiện có
Người quản lý muốn tính tổng số đề tài hiện có trong danh sách để phục vụ cho
công tác thống kê, báo cáo.
13.Đếm số lượng học viên tham gia đăng ký đề tài
13
Input : MaDT
Select MaGV from DETAI where DETAI.MaDT = MaDT
Select COUNT(MaDT) from DKDETAI where MaGV=MaGV
If (COUNT(MaDT) = Số lượng tối đa)
{
“thông báo giáo viên không được hướng dẫn đề tài nữa”

Chọn lại MaDT
}
Input : MaVG
Select COUNT(MaDT) from DETAI where DETAI.MaGV = MaGV
Select COUNT(MaDT) from DETAI
Người quản lý muốn tính số học viên tham gia đề tài cũng như số lượng đề tài
được đăng ký để phục vụ cho công tác thống kê, báo cáo.
14.Xét học viên đăng ký lại đề tài khác
Nếu một học viên muốn thay đổi đề tài của mình thì phải hủy bỏ đề tài đã đăng ký
và đăng ký lại đề tài mới với điều kiện thời gian đăng ký không quá 2 tháng kể từ khi
đăng ký
IX. Tài liệu tham khảo
1. Bài giảng môn thiết kế cơ sở dữ liệu của PGS.TS Đào Thanh Tĩnh.
2. Phân tích và thiết kế hệ thống quản lý kinh doanh nghiệp vụ – Ngô Trung Việt
– NXB Giao Thông Vận Tải.
14
Select COUNT(MaHV) from DKDETAI
Input : MaHV, MaDT
If found( MaHV, DKDETAI)
{
If (Td/HT – Td/DK)<2 tháng
{
Update DKDETAI set DKDETAI.MaDT = MaDT
Where DKDETAI.MaHV = MaHV
}
}

×