Nếukhông có sự hỗ trợ của tin học, việc quản lý này phải cần khá nhiều người, chiathành nhiều khâu, mới có thể quản lý được toàn bộ hồ sơ học sinh thông tin,điểm số, học bạ,…, lớp học sỉ
Trang 1MỤC LỤC
MỤC LỤC 1
LỜI NÓI ĐẦU 2
Chương 1: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG 3
1.1 LỜI GIỚI THIỆU 3
1.2 PHÂN TÍCH HỆ THỐNG QUẢN LÝ KẾT QUẢ HỌC TẬP SINH VIÊN4 1.2.1 Thực trạng của hệ thống quản lý điểm (qld) 4
1.2.2 Biểu đồ phân cấp chức năng: 7
1.2.3 Biểu đồ luồng dữ liệu: 9
1.2.4 Phân loại các thuộc tính vào một tập thực thể 10
1.2.5 Mô hình thực thể liên kết 11
1.2.6 Biểu đồ cấu trúc dữ liệu theo mô hình quan hệ : 12
Chương 2: THIẾT KẾ CƠ SỞ DỮ LIỆU 15
2.1 Thiết kế cơ sở dữ liệu: 15
2.2 Từ điển dữ liệu 16
2.3 Một số truy vấn SQL 17
TÀI LIỆU THAM KHẢO 31
Trang 2LỜI NÓI ĐẦU
Hiện nay, công nghệ thông tin được xem là một ngành mũi nhọn của cácquốc gia, đặc biệt là các quốc gia đang phát triển, tiến hành công nghiệp hóa vàhiện đại hoá như nước ta Sự bùng nổ thông tin và sự phát triển mạnh mẽ củacông nghệ kỹ thuật số, yêu cầu muốn phát triển thì phải tin học hoá tất cả cácngành, các lĩnh vực
Cùng với sự phát triển nhanh chóng về phần cứng máy tính, các phầnmềm ngày càng trở nên đa dạng, phong phú, hoàn thiện hơn và hỗ trợ hiệu quảcho con người Các phần mềm hiện nay ngày càng mô phỏng được rất nhiềunghiệp vụ khó khăn, hỗ trợ cho người dùng thuận tiện sử dụng, thời gian xử lýnhanh chóng, và một số nghiệp vụ được tự động hoá cao
Ví dụ như việc quản lý điểm số học sinh trong trường trung đại học Nếukhông có sự hỗ trợ của tin học, việc quản lý này phải cần khá nhiều người, chiathành nhiều khâu, mới có thể quản lý được toàn bộ hồ sơ học sinh (thông tin,điểm số, học bạ,…), lớp học (sỉ số, giáo viên chủ nhiệm,…), giáo viên,… cũngnhư các nghiệp vụ tính điểm trung bình, xếp loại học lực cho học sinh toàntrường (số lượng học sinh có thể lên đến hàng ngàn) Các công việc này đòi hỏinhiều thời gian và công sức, mà sự chính xác và hiệu quả không cao, vì đa sốđều làm bằng thủ công rất ít tự động Một số nghiệp vụ như tra cứu, thống kê, vàhiệu chỉnh thông tin khá vất vả Ngoài ra còn có một số khó khăn về vấn đề lưutrữ khá đồ sộ, dễ bị thất lạc, tốn kém,… Trong khi đó, các nghiệp vụ này hoàntoàn có thể tin học hoá một cách dễ dàng Với sự giúp đỡ của tin học, việc quản
lý học vụ sẽ trở nên đơn giản, thuận tiện, nhanh chóng và hiệu quả hơn rấtnhiều
2
Trang 3Chương 1: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
1 LỜI GIỚI THIỆU
Trong những năm gần đây sự phát triển của ngành IT đã đem lại những thànhtựu to lớn trong việc phát triển kinh tế Những chương trình tin học ứng dụngngày càng nhiều, rất nhiều công việc thủ công trước đây nay đã được sử ly bằngcác phần mềm chuyên dụng đã giảm đáng kể công sức, nhanh chóng và chínhxác Để có một phần mềm ứng dụng đáp ứng được yêu cầu công việc đặt ra thìnhững người làm tin học phải biết phân tích thiết kế hệ thống làm việc của củachương trình để từ đó xây dựng nên một phần mền ứng dụng quản lý chươngtrình đó bằng ngôn ngữ lập trình nào đó những chương trình, phần mềm ứngdụng đóng vai trò quan trọng trong lĩnh vực quản lý, nó là những công cụ hỗ trợđắc lực và hầu như không thể thiếu nhằm đáp ứng đầy đủ nhất thuận lợi nhấtnhững đòi hỏi của công việc quản lý nhờ những công cụ trợ giúp có sẵn, accesshay SQL sever la những phần mềm như vậy nó được ứng dụng rộng rãi trongcông tác quản lý không những thế nó con là một ngôn ngữ lập trình khá mạnhgiúp cán bộ quản lý có thể viết những chương trình để sử sụng cơ sơ dữ liệu haygiải quyết một yêu cầu nào đó, những phần mền ứng dụng này đã phần nào trợgiúp các nhà quản lý trở lên nhanh chóng, thuận lợi, chính xác và kịp thời vớinhững tính năng có sẵn sát với thực tế quản lý
Chương trình quản lý điểm sinh viên là một chương trình được xây dựngnhằm đáp ứng những đòi hỏi đặt ra của quá trình quản lý như nhập thong tinsinh viên, tìm kiếm, thống kê, in báo cáo và rất nhiều công việc khác một cáchnhanh chóng và thuận tiện, chính xác một cách hệ thống Trong chương trìnhphần mền ứng dụng này thì chương trình nghiên cứu phân tích thiết kế hệ thốngđóng vai trò rất quan trọng trong việc thiết kế chương trình phần mền, nhìn vàobản phân tích ta có thể hiểu được người lập trình muốn làm gì, hiểu được sựhoạt động của hệ thống
Trang 4Trong thời gian học tập, nghiên cứu tại trường, bằng kiến thức đồng thờiđược sự giúp đỡ nhiệt tình thầy cô giáo trong khoa CNTT đặc biệt là Cô giáo đãgiúp đỡ nhóm sinh viên chúng em hoàn thành tốt bài tập môn học, bài tập xâydựng một chương trình phần mền ứng dụng “quản lý kết điểm sinh viên khoaCNTT” Nhưng do trình độ kiến thức và kinh nghiệm còn non kém tài liệu thamkhảo còn thiếu thốn cho nên trong bài còn có nhiều hạn chế, chúng em mongthầy cô giáo cùng các bạn đóng góp ý kiến Chúng em xin chân thành cảm ơn!
2 PHÂN TÍCH HỆ THỐNG QUẢN LÝ KẾT QUẢ HỌC TẬP SINH VIÊN 2.1 Thực trạng của hệ thống quản lý điểm (qld)
Điểm thi được quản lý dựa trên phương pháp thủ công.
+ Điểm thi của từng sinh viên được ghi chép và lưu dữ bằng sổ sách.
+ Quản lý điểm, thông tin về sinh viên quản lý bằng việc ghi chép và
+ Khó kiểm tra quản lý
+ Hiệu quả năng suất thấp
Do đó hệ thống quản lý kết quả thi cần phải sửa đổi lại cơ cấu quản lý hoạt độngnhằm nâng cao hiệu quả để dễ quản lý đến từng học sinh
+ Đưa ra máy in khi có yêu cầu
Các dữ liệu đầu vào:
4
Trang 5Dữ liệu đầu vào là nguồn thông tin được đưa vào máy tính để xử lý, bao gồm các thông tin sau :
+ thông tin sinh viên, thông tin về điểm
+ Các yêu cầu tìm kiếm
Dữ liệu đầu ra:
Dữ liệu đầu ra là các thông tin sau khi xử lý bao gồm các thông tin sau:
+ Bảng danh sách điểm
+ Bảng thống kê báo cáo
Từ thực trạng trên, chúng ta có sơ đồ luân chuyển thông tin:
Sơ đồ luân chuyển thông tin của hệ thống quản lý học tập sinh viên
Sau khi lưu hồ sơ sinh viên với các môn học và có điểm các môn thi, phònggiáo vụ tiến hành vào điểm của từng môn học
Sinh viên sẽ đương nhiên bị điểm 0 đối với mỗi môn thi nếu:
+ Không dự thi, xin hoãn thi
+ Không thuộc diện được học hai trường, được nghỉ học một số môn mànghỉ quá 25% số giờ của học phần (dù có phép hay không có phép)
Điểm thi sẽ tính theo thang điểm 10
Điểm tổng kết sẽ được tính bằng điểm các môn nhân với số đơn vị học trìnhtương ứng và chia cho tổng số đơn vị học trình
Bảng điểm
Hệ thống quản lý học tập sinh viên
Lưu điểm
Hồ sơ
Điểm thi
Trang 6Sinh viên có thể dự thi các học phần tích để có điểm cao hơn vào những kỳthi chính thức tiếp theo Sau khi học lại hay thi lại hoặc thi nâng điểm, điểmtổng kết mới sẽ được tính theo điểm cao nhất của từng môn
Sinh viên phải học lại những môn có điểm thi lại < 5 và thi lại những môn
có điểm thi lần đầu < 5 vào thời điểm sớm nhất của nhà trường
Nếu phải học lại một học phần làm cơ sở cho các học phần tiếp theo sau,sinh viên không được học và dự thi các học phần tiếp sau nếu nhà trường không
Trang 72.2 Biểu đồ phân cấp chức năng:
Ý nghĩa của từng chức năng trong hệ thống:
Quản lý môn học
- Có các chức năng thêm, sửa,xoá các môn học theo yêu cầu của nhàquản lý
- Cung cấp thông tin về các môn học trong mỗi kỳ học cho nhà quản
lý, giáo viên và sinh viên khi có yêu cầu
Quản lý sinh viên
- Có các chức năng thêm, sửa, xoá thông tin sinh viên theo yêu cầu củanhà quản lý
- Cung cấp thông tin về sinh viên cho nhà quản lý,giáo viên và sinhviên khi có yêu cầu
Quản lý điểm
QL Môn học
DSSV đỗ lần 1 theo lớp, học
kỳ, môn
DSSV được học bổng theo lớp, học kỳ
DSSV lưu ban theo lớp, theo năm học
DSSV đỗ lần 2 theo lớp, học
kỳ, môn
Quản lý điểm sinh viên
báo cáo
Thêm môn học
Sửa thông tin
môn học
Xóa môn học Xóa sinh viên
Sửa thông tin sinh viên
Thêm sinh viên
Sửa điểm Nhập điểm
Tính điểm
Trang 8- Có chức năng cập nhật điểm cho sinh viên sau mỗi kỳ học.
- Thực hiện phúc khảo điểm cho sinh viên khi sinh viên yêu cầu
- Báo cáo, thống kê điểm của sinh viên cho nhà quản lý, giáo viên vàsinh viên khi có yêu cầu
Trang 92.3 Biểu đồ luồng dữ liệu:
1: Sơ đồ luồng dữ liệu mức khung cảnh
Nhà quản
lý
Giáo viên
Sinh viênQuản lý điểm
sinh viên
Trang 102.4 Phân loại các thuộc tính vào một tập thực thể
Kiểu thực thể liên kết là nguồn thông tin cần thiết cho hệ thống ,các kiểu thực thể có thể xuất hiện ở các tác nhân ngoài , các luồng thông tin nội bộ hoặc các kho dữ liệu
Kiểu thực thể Môn Học gồm MaMH, TenMH, So Trinh
Kiểu Thực Thể Điểm: MaSV, MaMH, Hoc Ky,Diem lan 1, Diem lan 2, Hoclai
Kiểu thực thể HeDT: Ma HDT, Ten HDT
Kiểu thực thể Lớp gồm Ma Lop, Ten Lop,Ma Khoa, Ma HDT, Ma KhoaHoc
Kiểu thực thể Sinh Viên gồm MaSV, TenSV, Ngày Sinh, giới tính, Quequan, ma lop
Kiểu thực thể Học Kỳ: Ma HK, Ten HK
Kiểu thực thể Khóa Học: Ma Khoa Hoc, Ten Khoa Hoc
Kiểu thực thể Khoa gồm: Ma Khoa,Ten Khoa, Dia Chi, Dien Thoai
10
Trang 11SINH VIÊN
mã sinh viên tên sinh viên giới tính ngày sinh Que Quan
mã lớp
LỚP
mã lớp tên lớp
Trang 122.6 Biểu đồ cấu trúc dữ liệu theo mô hình quan hệ :
Danh sách các thuộc tính: MaHDT, TenHDT, MaKhoa, TenKhoa,MaKhoaHoc, TenKhoaHoc, MaLop, TenLop, MaSV, TenSV, MaMH, TenMH,MaHocKy, TenHocKy, Diem
Danh sách các thuộc tính lặp: MaSV, TenSV, Diem
Danh sách các phụ thuộc hàm:
MaSV → TenSV, MaLop
MaLop → TenLop, MaKhoa, MaKhoaHoc, MaHDT
MaSV, MaMH→ Diem
Trang 13Các Bước chuẩn hóa
MaLopTenLopMaHDTTenHDTMaKhoaHocTenKhoaHocMaKhoaTenKhoaMaMHTenMH
MaLopTenLopMaHDTMaKhoaMaKhoaHoc
Lop
MaHDTTenHDT
HeDT
MaKhoaTenKhoa
Khoa
MaKhoaHocTenKhoaHoc
KhoaHoc
MaSVTenSVMaLop
SinhVien
MaMHTenMH
MonHoc
MaSVTenSVMaMHDiemLan1DiemLan2
MaSVTenSV
MaSVMaMHDiemLan1
MaSVMaMHDiemLan1DiemLan2
Trang 14Sử dụng thuật toán phân rã để chuẩn hóa thành dạng 3NF như sau:
Ta có lược đồ quan hệ R(ABCDEFGHIJKLM) có các phụ thuộc hàm là
F(K AL, A BCEF, IK M, G H, E F, C D, I J→AL, A→BCEF, IK→M, G→H, E→F, C→D, I→J →AL, A→BCEF, IK→M, G→H, E→F, C→D, I→J →AL, A→BCEF, IK→M, G→H, E→F, C→D, I→J →AL, A→BCEF, IK→M, G→H, E→F, C→D, I→J →AL, A→BCEF, IK→M, G→H, E→F, C→D, I→J →AL, A→BCEF, IK→M, G→H, E→F, C→D, I→J →AL, A→BCEF, IK→M, G→H, E→F, C→D, I→J )
B1: Tìm phủ tối tiểu của F
F= { K AL, A BCEF, IK M, G H, E F, C D, I J→AL, A→BCEF, IK→M, G→H, E→F, C→D, I→J →AL, A→BCEF, IK→M, G→H, E→F, C→D, I→J →AL, A→BCEF, IK→M, G→H, E→F, C→D, I→J →AL, A→BCEF, IK→M, G→H, E→F, C→D, I→J →AL, A→BCEF, IK→M, G→H, E→F, C→D, I→J →AL, A→BCEF, IK→M, G→H, E→F, C→D, I→J →AL, A→BCEF, IK→M, G→H, E→F, C→D, I→J }
Đặt G=F, Tách các phụ thuộc hàm của G có vế phải chỉ chứa 1 thuộc tính
G={ K A, K L, A B, A C, A E, A F, IK M, G H, E F, C D, I J→AL, A→BCEF, IK→M, G→H, E→F, C→D, I→J →AL, A→BCEF, IK→M, G→H, E→F, C→D, I→J →AL, A→BCEF, IK→M, G→H, E→F, C→D, I→J →AL, A→BCEF, IK→M, G→H, E→F, C→D, I→J →AL, A→BCEF, IK→M, G→H, E→F, C→D, I→J →AL, A→BCEF, IK→M, G→H, E→F, C→D, I→J →AL, A→BCEF, IK→M, G→H, E→F, C→D, I→J →AL, A→BCEF, IK→M, G→H, E→F, C→D, I→J →AL, A→BCEF, IK→M, G→H, E→F, C→D, I→J →AL, A→BCEF, IK→M, G→H, E→F, C→D, I→J →AL, A→BCEF, IK→M, G→H, E→F, C→D, I→J }
Xét A→B, A→C, A→E, A→F có 2 phụ thuộc hàm vế trái bằng A ta có
R2(ABCEF) loại A→B, A→C, A→E, A→F khỏi F
Xét IK→M có 1 phụ thuộc hàm vế trái bằng IK ta có R3(IKM) loại IK→M khỏiF
Tương tự xét đến khi F= dừng thuật toán
Kết luận: Lược đồ R(ABCDEFGHIJKLM) được tách thành 7 lược đồ con chuẩn3NF như sau:
Trang 15Chương 2: THIẾT KẾ CƠ SỞ DỮ LIỆU
3 Thiết kế cơ sở dữ liệu:
Trang 16
(Điểm)
TenHeDT nvarchar 30 Tên hệ đào tạo
LOP
(Lớp)
SINHVIEN
(Sinh viên)
Que Quan nvarchar 100 Que Quan
TenKhoaHoc nvarchar 30 Tên khóa học Khoa
DienThoai varchar 15 Điện thoại
16
Trang 17Tao Bang Mon Hoc
Create Table MonHoc
MaMH char ( ) primary key ,
TenMH nvarchar (30) not null,
SoTrinh int not null check SoTrinh> )and SoTrinh< ) )
Tao Bang He Dao Tao
-Create Table HeDT
MaHeDT char ( ) primary key ,
TenHeDT nvarchar (40) not null
Tao Bang Khoa Hoc
-Create Table KhoaHoc
MaKhoaHoc char ( ) primary key ,
TenKhoaHoc nvarchar (20) not null
- Tao Bang Khoa
Create Table Khoa
MaKhoa char ( ) primary key ,
TenKhoa nvarchar (30) not null,
DiaChi nvarchar (100) not null,
DienThoai varchar (20) not null
Tao Bang Lop
-Create Table Lop
MaLop char ( ) primary key ,
TenLop nvarchar (30) not null,
MaKhoa char ( ) foreign key references Khoa (MaKhoa),
MaHeDT char ( ) foreign key references HeDT (MaHeDT),
MaKhoaHoc char ( ) foreign key references KhoaHoc (MaKhoaHoc),
Tao Bang Sinh Vien
-Create Table SinhVien
MaSV char (15) primary key ,
TenSV nvarchar (20) ,
GioiTinh bit
NgaySinh datetime
QueQuan nvarchar (50) ,
MaLop char ( ) foreign key references Lop(MaLop)
Tao Bang Diem
-Create Table Diem
MaSV char (15) foreign key references SinhVien(MaSV),
MaMH char ( ) foreign key references MonHoc (MaMH),
Trang 18DiemLan1 int
DiemLan2 int
)
-Nhap Du Lieu Cho Bang He Dao Tao
insert into HeDT values ( 'A01' , 'Ðại Học' )
insert into HeDT values ( 'B01' , 'Cao Ðẳng' )
insert into HeDT values ( 'C01' , 'Trung Cấp' )
insert into HeDT values ( 'D01' , 'Công nhân' )
Select from HeDT
Nhap Du Lieu Bang Ma Khoa Hoc
-insert into KhoaHoc values ( 'K1' , 'Ðại học khóa 1' )
insert into KhoaHoc values ( 'K2' , 'Ðại học khóa 2' )
insert into KhoaHoc values ( 'K3' , 'Ðại học khóa 3' )
insert into KhoaHoc values ( 'K9' , 'Ðại học khóa 4' )
insert into KhoaHoc values ( 'K10' , 'Ðại học khóa 5' )
insert into KhoaHoc values ( 'K11' , 'Ðại học khóa 6' )
Select from KhoaHoc
Nhap Du Lieu bang Khoa
insert into Khoa values ( 'CNTT' , 'Công nghệ thông tin' , 'Tầng 4 nhà
B' , '043768888' )
insert into Khoa values ( 'CK' , 'Cõ Khí' , 'Tầng 5 nhà B' , '043768888' )
insert into Khoa values ( 'DT' , 'Ðiện tử' , 'Tằng 6 nhà B' , '043768888' )
insert into Khoa values ( 'KT' , 'Kinh Tế' , 'Tầng 2 nhà C' , '043768888' )
Select from Khoa
- Nhap Du Lieu Cho Bang Lop
insert into Lop values ( 'MT1' , 'MÁy Tính 1' , 'CNTT' , 'A01' , 'K2' )
insert into Lop values ( 'MT2' , 'MÁy Tính 2' , 'CNTT' , 'A01' , 'K2' )
insert into Lop values ( 'MT3' , 'MÁy Tính 3' , 'CNTT' , 'A01' , 'K2' )
insert into Lop values ( 'MT4' , 'MÁy Tính 4' , 'CNTT' , 'A01' , 'K2' )
insert into Lop values ( 'KT1' , 'Kinh tế 1' , 'KT' , 'A01' , 'K2' )
select from Lop
Nhap Du Lieu Bang Sinh Vien
insert into SinhVien values ( '0241060218' , 'Nguyễn Minh
Một' , , '08/27/1989' , 'Hải Dýõng' , 'MT3' )
insert into SinhVien values ( '0241060318' , 'Nguyễn Minh
Hai' , , '2/08/1989' , 'Nam Dinh' , 'MT1' )
insert into SinhVien values ( '0241060418' , 'Nguyễn Minh
Ba' , , '7/04/1989' , 'Ninh Binh' , 'MT2' )
insert into SinhVien values ( '0241060518' , 'Nguyễn Minh
Bốn' , , '7/08/1989' , 'Ninh Binh' , 'MT1' )
insert into SinhVien values ( '0241060618' , 'Nguyễn Minh
Nãm' , , '7/08/1989' , 'Nam Dinh' , 'MT3' )
insert into SinhVien values ( '0241060718' , 'Nguyễn Minh
Sáu' , , '7/08/1989' , 'Ha Noi' , 'MT3' )
insert into SinhVien values ( '0241060818' , 'Nguyễn Minh
Bảy' , , '7/08/1989' , 'Ha Noi' , 'MT3' )
insert into SinhVien values ( '0241060918' , 'Nguyễn Minh
Tám' , , '7/08/1989' , 'Hai Duong' , 'MT2' )
insert into SinhVien values ( '0241060128' , 'Nguyễn Minh
Chín' , , '7/08/1989' , 'Hai Duong' , 'MT2' )
insert into SinhVien values ( '0241060138' , 'Nguyễn Minh
Mýời' , , '7/08/1989' , 'Ha Nam' , 'MT2' )
insert into SinhVien values ( '0241060148' , 'Nguyễn Minh Mýời
Một' , , '7/08/1989' , 'Bac Giang' , 'MT4' )
18