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,chia thành nhiều khâu, mới có thể quản lý được toàn bộ hồ sơ sinh viênthông tin, điểm số, học bạ,…, lớp học s
Trang 11|P a g e
MỤC LỤC
MỤCLỤC 1
PHÂN CÔNGCÔNG VIỆC 2
LỜI NÓIĐẦU 3
Chương 1: PHÂN TÍCH VÀ THIẾT KẾHỆTHỐNG 4
1.1 LỜIGIỚITHIỆU 4
1.2 PHÂN TÍCH HỆ THỐNG QUẢN LÝ ĐIỂM SINH VIÊN CNTT5 1.2.1 Thực trạng của hệ thống quảnlýđiểm 5
1.2.2 Biểu đồ phân cấpchứcnăng 8
1.2.3 Biểu đồ luồngdữliệu 10
1.2.4 Phân loại các thuộc tính vào một tậpthựcthể 11
1.2.5 Mô hình thực thểliênkết 12
Chương 2: THIẾT KẾ CƠ SỞDỮLIỆU 15
2.1 Thiếtkếcơ sởdữliệu: 15
2.2 Từ điểndữliệu 15
2.3 Một số truyvấnSQL 17
a) Tạo cơ sở dữliệu 17
b) Chèndữliệu 18
c) Bàitậpview 20
d) Thốngkê 22
e) Bàitập PROCEDURE 26
f) Bàitậptrigger 33
KẾTLUẬN 37
TÀI LIỆUTHAMKHẢO 38
Trang 2PHÂN CÔNG CÔNG VIỆC
1 Vũ Đình Tuân:Tạo view, chỉnh sửa báocáo
2 Phùng Xuân Hải:Tạo bảng, chèn dữ liệu, viết procedure cho các
bảng
3 Vũ Minh Quang:Viết các thống kê cho cácbảng
4 Đỗ Nam Huy:Viết trigger cho cácbảng
Trang 3LỜ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ủacác quốc gia, đặc biệt là các quốc gia đang phát triển, tiến hành công nghiệphó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ủa cô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ác ngà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ệuquả cho con người Các phần mềm hiện nay ngày càng mô phỏng được rấtnhiều nghiệp vụ khó khăn, hỗ trợ cho người dùng thuận tiện sử dụng, thờigian 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ố sinh viên trong trường đạ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,chia thành nhiều khâu, mới có thể quản lý được toàn bộ hồ sơ sinh viên(thông tin, điểm số, học bạ,…), lớp học (sỉ số, giáo viên chủ nhiệm,…), giáoviên,… cũng như các nghiệp vụ tính điểm trung bình, xếp loại học lực chosinh viên toàn trường (số lượng sinh viên có thể lên đến hàng ngàn) Cáccông việc này đòi hỏi nhiều thời gian và công sức,màsự chính xác và hiệuquả 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ưu trữ khá đồ sộ, dễ bị thất lạc, tốn kém,…Trong khi đó, các nghiệp vụ này hoàn toà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
Trang 4Chương 1: PHÂN TÍCH VÀ THIẾT KẾ HỆ THỐNG
1.1 LỜI GIỚITHIỆU
Trong những năm gần đây sự phát triển của ngành IT đã đem lại nhữngthành tựu to lớn trong việc phát triển kinh tế Những chương trình tin họcứng dụng ngày càng nhiều, rất nhiều công việc thủ công trước đây nay đãđược xử lý bằng các phần mềm chuyên dụng đã giảm đáng kể công sức,nhanh chóng và chính xác Để có một phần mềm ứng dụng đáp ứng đượcyê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ủa chương trình, để từ đó xây dựng nên một phầnmềm ứng dụng quản lý bằng ngôn ngữ lập trình nào đó Những chươngtrình, phần mềm ứng dụ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ất nhữ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 như Access hay SQL Server là những phầnmềm như vậy Nó được ứng dụng rộng rãi trong công tác quản lý, khôngnhững thế nó còn là một ngôn ngữ lập trình khá mạnh giúp cán bộ quản lý
có thể viết những chương trình để sử dụng cơ sơ dữ liệu hay giải quyết mộtyêu cầu nào đó Những phần mền ứng dụng này đã phần nào trợ giúp cácnhà quản lý trở lên nhanh chóng, thuận lợi, chính xác và kịp thời với nhữngtí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âydựng nhằm đáp ứng những đòi hỏi đặt ra của quá trình quản lý như nhậpthông tin sinh viên, tìm kiếm, thống kê, in báo cáo và rất nhiều công việckhác một cách nhanh chóng và thuận tiện, chính xác một cách hệ thống
Trang 5Trong chương trình phần mềm ứng dụng này thì chương trình nghiên cứuphâ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ào bản phân tích ta có thể hiểu được ngườilập trình muốn làm gì, hiểu được sự hoạt động của hệthống.
Trong thời gian học tập, nghiên cứu tại trường, bằng kiến thức đồngthời được sự giúp đỡ nhiệt tình thầy cô giáo trong khoa CNTT đặc biệt là CôNguyễn Thị Vân Anh đã giúp đỡ nhóm sinh viên chúng em hoàn thành tốtbài tập môn học, bài tập xây dựng một chương trình phần mền ứng dụng
“quản lý điểm sinh viên khoa CNTT” Nhưng do trình độ kiến thức và kinhnghiệm còn non kém tài liệu tham khảo còn thiếu thốn cho nên trong bài còn
có nhiều hạn chế, chúng em mong thầ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!
1.2 PHÂN TÍCH HỆ THỐNG QUẢN LÝ ĐIỂM SINH VIÊNCNTT
1.2.1 Thực trạng của hệ thống quản lýđiểm
Đ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épvà
Trang 6Hồ sơ
Điểm thi
Hệ thống quản lý học tập sinh viên
Bảng điểm
Lưu điểm
Lưu hồ sơ Sinh viên
Hiệu quả năng suấtthấ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 động nhằm nâng cao hiệu quả để dễ quản lý đến từng sinh viên
Giải pháp:
● Cần tổ chức lại cơ cấu quản lý, thay thế một số công đoạn thủ côngbằng “tin học hoá” nhờ có sự trợ giúp của các chương trình, phầnmềm ứngdụng
● Việc nhập điểm, tìm kiếm, sửa chữa, báo cáo, thống kê cần được xử lýnhờ máytính
● Đưa ra máy in khi có yêucầu
Các dữ liệu đầu vào:
Dữ 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ìmkiế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áocá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
Trang 7Sau 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òng giá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ãnthi
● Không thuộc diện được học hai trường, được nghỉ học một số
mônmà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ố tín chỉ tương ứng và chia cho tổng số tín chỉ
Sinh viên có thể dự thi các học phần để 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 theosau, 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 chophép
Sau mỗi học kỳ các khoa sẽ tiến hành xét khen thưởng/ kỷ luật, xếp loạicho sinh viên
Trang 85.00 -> 5.99 xếp loại Trung bình
Trang 9Thống kê, báo cáo
QL Điểm
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 DSSV đỗ lần 1 theo lớp, học kỳ, môn
Quản lý điểm sinh viên
1.2.2 Biểuđồ phân cấp chứcnăng:
Ý nghĩa của từng chức năng trong hệ thống:
▪ Quản lý mônhọc
Xóa sinh viên
Sửa thông tin sinh viên Thêm sinh viên
Trang 10- 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ảnlý.
- 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
- 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êucầu
▪ Thống kê, báocáo
- Thống kê danh sách sinh viên đỗ lần 1, lần 2, tỷ lệsinh viên đỗ lần 1, lần 2 theo từng lớp học, môn học sau mỗikỳhọc
- Thống kê danh sách sinh viên trượt lần 1, lần2(học lại), tỷ lệ sinh viên trượt lần 1, lần 2 theo từng lớp học,môn học sau mỗi kỳhọc
- Thống kê danh sách sinh viên bị lưu ban, tỷ lệsinh viên bị lưu ban sau mỗi nămhọc
- Thống kê danh sách sinh viên đạt học bổng, tỷ lệsinh viên đạt học bổng sau mỗi kỳhọc
Trang 111.2.3 Biểuđồ luồng dữliệu:
1: Sơ đồ luồng dữ liệu mức khung cảnh
Trang 121.2.4 Phân loại các thuộc tính vào một tập thựcthể
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ểuthự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, SoTin
Kiểu Thực Thể Điểm gồm: MaSV, MaMH, LanHoc, DiemLan1, DiemLan2
Kiểu thực thể HeDT gồm: Ma HDT, Ten HDT
Kiểu thực thể Lớp gồm: MaLop, TenLop, MaKhoa,
MaHDT,MaKhoaHoc
Kiểu thực thể Sinh Viên gồm: MaSV, TenSV, NgaySinh, GioiTinh, QueQuan, MaLop
Kiểu thực thể Học Kỳ: MaHK, TenHK
Kiểu thực thể Khóa Học: MaKhoaHoc, TenKhoaHoc
Kiểu thực thể Khoa gồm: MaKhoa,TenKhoa, DiaChi, DienThoai
Trang 13mã sinh viên mã MH Lần học điểm lần 1 điểm lần 2
1.1.1 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, MaLanHoc, TenLanHoc,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 14MaLopTenLopMaHDTMaKhoa MaKhoaHoc
Lop
MaHDTTenHDT
HeDT
MaKhoaTenKhoa
Khoa
MaKhoaHocTenKhoaHoc
KhoaHoc
MaSVTenSVMaLop
SinhVien
MaMHTenMH
MonHoc
MaSVTenSVMaMHDiemLan1DiemLan2
MaSVTenSV
MaSVMaMHDiemLan1
MaSVMaMHDiemLan1DiemLan2
Trang 15Sử 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)
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}
Đặ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}
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 đồ conchuẩn 3NF như sau:
Trang 16Chương 2: THIẾT KẾ CƠ SỞ DỮ LIỆU
2.1 Thiết kế cơ sở dữliệu:
2.2 Từ điển dữliệu
Thuộc tính
Tên bảng Tên cột Kiểu dữliệu rộngĐộ Miêu tả
Trang 17(Hệ đào tạo)
TenHeDT nvarchar 30 Tên hệ đào tạo
LOP
(Lớp)
SINHVIEN
(Sinhviên)
TenSV nvarchar 30 Tên sinh viên
Que Quan nvarchar 100 Quê quán
TenKhoaHoc nvarchar 30 Tên khóa học
Khoa
DienThoai varchar 15 Điện thoại
Trang 18Tao Bang Mon Hoc
Create Table MonHoc(
MaMH char ( ) primary
key ,TenMH nvarchar (30) not
null,
SoTin int not null check ( (SoTin> )and (SoTin< ) )
)
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) ,Gio
Trang 19Tao Bang Diem
-Create Table Diem(
MaSV char (15) foreign key
references SinhVien(MaSV),MaMH char ( ) foreign key
references MonHoc(MaMH),LanHoc int check (LanHoc> ) not
-NhapDuLieuChoBangHeDaoTao insertintoH eDT values ('A01',N'ÐạiHọc') insert
intoH eDT values ('B01',N'CaoÐẳng') insertintoH
eDT values ('C01',N'TrungCấp') insertintoH eDT v
alues ('D01',N'CaoHoc')
NhapDuLieuBangMaKhoaHoc -insertintoK hoaHoc values ('K1',N'Ðạihọckhóa1') insertint
oK hoaHoc values ('K2',N'Ðạihọckhóa2') insertintoK hoaHoc v
alues ('K3',N'Ðạihọckhóa3') insertintoK hoaHoc values ('K9
' N'Ðạihọckhóa4') insertintoK hoaHoc values ('K10',N'Ðạih
ọckhóa5') insertintoK hoaHoc values ('K11',N'Ðạihọckhóa6'
) insertintoK hoaHoc values ('K1',N'Caođẳngkhóa1') inserti
ntoK hoaHoc values ('K2',N'Caođẳngkhóa2') insertintoK hoaH
oc values ('K3',N'Caođẳngkhóa3') insertintoK hoaHoc values
('K9',N'Caođẳngkhóa4') insertintoK hoaHoc values ('K10',
'Caođẳngkhóa5') insertintoK hoaHoc values ('K11',N'Caođẳn
gkhóa6') insertintoK hoaHoc values ('K1',N'Trungcấpkhóa1'
) insertintoK hoaHoc values ('K2',N'Trungcấpkhóa2') insert
intoK hoaHoc values ('K3',N'Trungcấpkhóa3') insertintoK ho
aHoc values ('K1',N'Caohọckhóa1') insertintoK hoaHoc value
s 'K2',N'Caohọckhóa2')
NhapDuLieubangKhoa insertintoK hoa values ('CNTT',N'Côngnghệthôngtin',N'Tầng4nhàB','043768888') insertint
oK hoa values ('TM',N'Truyềnthôngmạngmáytính',N'Tầng5nhàB','043768888')
insertintoK hoa values ('DT',N'Ðiệntử',N'Tằng6nhàB','043768888')
insertintoK hoa values ('HT',N'Hệthốngthôngtin',N'Tằng3nhàB','043760008')
-NhapDuLieuChoBangLop insertintoL op values ('MT1',N'MáyTính1','CNTT','A01','K2') inserti
ntoL op values ('MT2',N'MáyTính2','CNTT','A01','K2') insertintoL op v
alues ('MT3',N'MáyTính3','CNTT','A01','K2') insertintoL op values (
MT4',N'MáyTính4','CNTT','A01','K2') insertintoL op values ('HT1',N'
Hệthống1','HT','A01','K2') insertintoL op values ('HT2',N'Hệthống2'
,'HT','A01','K2') insertintoL op values ('HT3',N'Hệthống3','HT','A0
1','K2') insertintoL op values ('HT4',N'Hệthống4','HT','A01','K2')
nsertintoL op values ('DT1',N'Điệntử1','DT','A01','K2')
Trang 20insertintoL op values ('DT2',N'Điệntử2','DT','A01','K2')
insertintoL op values ('DT3',N'Điệntử3','DT','A01','K2')
insertintoL op values ('DT4',N'Điệntử4','DT','A01','K2') insertinto
L op values ('TM1',N'Truyềnthông1','TM','A01','K2') insertintoL op va
lues ('TM2',N'Truyềnthông2','TM','A01','K2') insertintoL op values (
'TM3',N'Truyềnthông3','TM','A01','K2') insertintoL op values ('TM4'
,N'Truyềnthông4','TM','A01','K2')
NhapDuLieuBangSinhVien insertintoS inhVien values ('sv1',N'NguyễnMinhMột', ,'08/27/1989',N'HảiDương','MT3')
insertintoS inhVien values ('sv2',N'NguyễnMinhHai', ,'2/08/1989','NamDinh','MT1')
insertintoS inhVien values ('sv3',N'NguyễnMinhBa', ,'7/04/1989','NinhBinh','MT2')
insertintoS inhVien values ('sv4',N'NguyễnMinhBốn', ,'7/08/1989','NinhBinh','MT1')
insertintoS inhVien values ('sv5',N'NguyễnMinhNăm', ,'7/08/1989','NamDinh','MT3')
insertintoS inhVien values ('sv6',N'NguyễnMinhSáu', ,'7/08/1989','HaNoi','MT3') insert intoS inhVien values ('sv7',N'NguyễnMinhBảy', ,'7/08/1989','HaNoi','MT3') insertintoS i nhVien values ('sv8',N'NguyễnMinhTám', ,'7/08/1989','HaiDuong','MT2')
insertintoS inhVien values ('sv9',N'NguyễnMinhChín', ,'7/08/1989','HaiDuong','MT2')
insertintoS inhVien values ('sv10',N'NguyễnMinhMười', ,'7/08/1989','HaNam','MT2')
insertintoS inhVien values ('sv11',N'NguyễnMinhMườiMột', ,'7/08/1989','BacGiang','MT4 '
insertintoS inhVien values ('sv12',N'NguyễnMinhMườiHai', ,'7/08/1989','HaNoi','MT4')
insertintoS inhVien values ('sv13',N'NguyễnMinhMườiBa', ,'7/08/1989','HaiDuong','MT4' )
insertintoS inhVien values ('sv14',N'NguyễnMinhMườiBốn', ,'7/08/1989','NamDinh','MT1' )
insertintoS inhVien values ('sv15',N'NguyễnMinhMườiNăm', ,'7/08/1989','NamDinh','DT1' )
NhapDuLieuBangMonHoc insertintoM onHoc values ('mh1',N'SQL', ) inser
tintoM onHoc values ('mh2',N'Java', )
insertintoM onHoc values ('mh3',N'CôngNghệphầnmềm', ) inser
tintoM onHoc values ('mh4',N'Phântíchhệthống', ) insertinto
M onHoc values ('mh5',N'Mạngmáytính', ) insertintoM onHoc val
ues ('mh6',N'Chươngtrìnhdịch', ) insertintoM onHoc values (
mh7',N'Trítuệnhântạo', ) insertintoM onHoc values ('mh8',N'
LậptrìnhC#', ) insertintoM onHoc values ('mh9',N'NhậpmônCSDL
' 4 insertintoM onHoc values ('mh10',N'Mạngmáytính', ) inse
rtintoM onHoc values ('mh11',N'Quảntrịmạng', )
insertintoM onHoc values ('mh12',N'Giaothôngthôngminh', ) insertintoM
onHoc values ('mh13',N'Lậptrìnhhướngđốitượng', ) insertintoM onHoc val