1. Trang chủ
  2. » Luận Văn - Báo Cáo

Bài tập lớn môn SQL quản lý điểm sinh viên

40 1,4K 7

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 40
Dung lượng 339,64 KB

Nội dung

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 1

1|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 2

PHÂ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 3

LỜ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 4

Chươ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 5

Trong 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 6

Hồ 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 7

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ò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 8

5.00 -> 5.99 xếp loại Trung bình

Trang 9

Thố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 11

1.2.3 Biểuđồ luồng dữliệu:

1: Sơ đồ luồng dữ liệu mức khung cảnh

Trang 12

1.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 13

mã 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 14

MaLopTenLopMaHDTMaKhoa MaKhoaHoc

Lop

MaHDTTenHDT

HeDT

MaKhoaTenKhoa

Khoa

MaKhoaHocTenKhoaHoc

KhoaHoc

MaSVTenSVMaLop

SinhVien

MaMHTenMH

MonHoc

MaSVTenSVMaMHDiemLan1DiemLan2

MaSVTenSV

MaSVMaMHDiemLan1

MaSVMaMHDiemLan1DiemLan2

Trang 15

Sử 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 16

Chươ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 18

Tao 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 19

Tao 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 20

insertintoL 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

Ngày đăng: 13/03/2019, 22:16

TỪ KHÓA LIÊN QUAN

w