Phần mềm quản lý sinh viên bằng SQL là một ứng dụng được thiết kế để quản lý thông tin về sinh viên trong một trường học, trường đại học, hoặc tổ chức giáo dục khác. SQL (Structured Query Language) là ngôn ngữ được sử dụng để tương tác với cơ sở dữ liệu, trong trường hợp này là để lưu trữ và truy xuất thông tin về sinh viên. Dưới đây là mô tả cơ bản về các thành phần và chức năng của phần mềm quản lý sinh viên sử dụng SQL: 1. Cơ sở dữ liệu (Database): Phần mềm sử dụng cơ sở dữ liệu để lưu trữ thông tin về sinh viên như tên, mã số, ngày sinh, địa chỉ, điểm số, khóa học đã đăng ký, v.v. Cơ sở dữ liệu có thể bao gồm nhiều bảng như Bảng Sinh viên, Bảng Khóa học, Bảng Điểm số, v.v. Mỗi bảng chứa thông tin cụ thể và có liên kết với nhau thông qua khóa ngoại. 2. Giao diện người dùng (User Interface): Giao diện người dùng cho phép người dùng thao tác với dữ liệu một cách dễ dàng thông qua các chức năng như thêm, sửa, xóa và truy vấn thông tin về sinh viên. Giao diện có thể được thiết kế dưới dạng ứng dụng desktop, webbased hoặc thậm chí là ứng dụng di động. 3. Chức năng quản lý sinh viên: Thêm sinh viên mới: Cho phép người dùng nhập thông tin về một sinh viên mới và lưu vào cơ sở dữ liệu. Sửa thông tin sinh viên: Cho phép người dùng cập nhật thông tin của một sinh viên đã tồn tại trong cơ sở dữ liệu. Xóa sinh viên: Cho phép người dùng xóa thông tin về một sinh viên khỏi cơ sở dữ liệu. Tìm kiếm sinh viên: Người dùng có thể tìm kiếm sinh viên dựa trên mã số, tên, khóa học, điểm số, v.v. Xem danh sách sinh viên: Hiển thị danh sách tất cả hoặc danh sách sinh viên theo tiêu chí tìm kiếm. 4. Chức năng quản lý khóa học và điểm số: Quản lý khóa học: Cho phép người dùng thêm, sửa, xóa và truy vấn thông tin về các khóa học. Quản lý điểm số: Cho phép người dùng ghi và cập nhật điểm số của sinh viên trong từng khóa học. 5. Truy vấn dữ liệu (Queries): Cho phép người dùng thực hiện các truy vấn SQL để trích xuất thông tin cụ thể từ cơ sở dữ liệu. Ví dụ: tìm tất cả sinh viên có điểm số cao hơn một ngưỡng nào đó. 6. Bảo mật: Đảm bảo rằng chỉ có người dùng có quyền truy cập mới có thể thực hiện các thao tác trên cơ sở dữ liệu. Bảo vệ dữ liệu cá nhân của sinh viên và ngăn truy cập trái phép. 7. Báo cáo và thống kê: Cho phép tạo báo cáo và thống kê về thông tin liên quan đến sinh viên, khóa học và điểm số. Phần mềm quản lý sinh viên sử dụng SQL có thể được phát triển bằng cách sử dụng các ngôn ngữ lập trình như Java, Python, C, Ruby, và kết hợp với hệ quản trị cơ sở dữ liệu như MySQL, PostgreSQL, SQLite, hoặc Microsoft SQL Server để tương tác với cơ sở dữ liệu.
Trang 1Trang
Chương 1 Tổng quan Quản trị cơ sở dữ liệu
1.1 Ngôn ngữ lập trình SQL
1.2 Hệ quản trị SQL server
Chương 2 Phân tích và thiết kế CSDL
2.1 Phân tích 2.2 Thiết kế CSDL logic và vật lý
2.3 Thiết kế các bảng
Chương 3 Chương trình thử nghiệm
3.1 Một số kết quả truy vấn
3.2 Kết luận
Trang 2CHƯƠNG 1: TỔNG QUAN QUẢN TRỊ CƠ SỞ DỮ LIỆU
1.1 Ngôn ngữ lập trình SQL
SQL, Ngôn ngữ truy vấn mang tính cấu trúc, là một loại ngôn ngữ máy tính phổ biến để tạo, sửa, và lấy dữ liệu từ một hệ quản trị cơ sở dữ liệu quan
hệ (RDBMS), điển hình như Oracle, Sybase, Microsoft SQL Server, Access, Ingres,
…
Vào những năm 1970, SQL được phát triển bởi Raymond FF Boyce và
Donald D Chamberline tại IBM với tên SEQUEL Giai đoạn này, nó được thiết kế
để thao tác và truy xuất dữ liệu được lưu trữ trong hệ quản trị CSDL của IBM Ngôn ngữ này được triển khai theo hướng thương mại vào tháng 6 năm 1979 bởi
Relational Software cho các máy tính VAX.
SQL phát triển vượt xa so với mục đích ban đầu là để phục vụ các hệ quản trị cơ sở dữ liệu đối tượng-quan hệ Nó được thừa nhận là tiêu chuẩn
của ANSI (American National Standards Institute) vào năm 1986
và ISO (International Organization for Standardization) năm 1987.
Ưu điểm của ngôn ngữ lập trình SQL:
Tốc độ cao: Bằng việc sử dụng các truy vấn SQL, người dùng có thể
truy xuất nhanh chóng một lượng lớn hồ sơ từ các cơ sở dữ liệu.
Không cần code: Rất dễ dàng để quản lý các hệ thống cơ sở dữ liệu
bằng việc sử dụng SQL chuẩn mà không cần phải viết bất cứ dòng code nào.
Tiêu chuẩn được quy định rõ ràng: SQL sử dụng hai tiêu chuẩn ISO
và ANSI, trong khi với các non-SQL database không có tiêu chuẩn nào được tuân thủ.
Tính di động cao: SQL có thể được sử dụng trong chương trình trong PCs, servers, laptops, và thậm chí cả mobile phones.
Ngôn ngữ tương tác: Language này có thể được sử dụng để giao tiếp với cơ sở dữ liệu và nhận câu trả lời cho các câu hỏi phức tạp trong vài giây.
Multiple data views: Với sự trợ giúp của ngôn ngữ SQL, người dùng
có thể tạo các hiển thị khác nhau về cấu trúc cơ sở dữ liệu và cơ sở dữ liệu cho những người dùng khác nhau.
Nhược điểm của ngôn ngữ lập trình SQL:
Chi phí: Chi phí vẫn hành của một số phiên bản SQL khá cao, đó là lí
do vì sao một số lập trình viên không thể sử dụng SQL được.
Giao diện phức tạp: Giao diện của SQL khá là phức tạp gây bất lợi
cho người dùng trong việc truy cập và quản lý.
Trang 3 Không được toàn quyền kiểm soát: Các lập trình viên sử dụng SQL
không có toàn quyền kiểm soát cơ sở dữ liệu do các quy tắc nghiệp vụ
bị ẩn.
Chức năng cơ bản của SQL:
Hỗ trợ người dùng trong mô tả dữ liệu
Hỗ trợ truy cập dữ liệu tại các RDSM
Giúp xác định, thao tác các dữ liệu tại CSDL.
Cho phép nhúng ngôn ngữ khác, miễn sao nó sử dụng thư viện, trình biên dịch và cả các mô-đun SQL.
Hỗ trợ người sử dụng tạo, thả CSDL và bảng.
Hỗ trợ tạo chế độ view, tính năng, thủ tục lưu trữ tại CSDL.
Người dùng có thể thiết lập quyền ở bảng, thủ tục, view.
1.2 Hệ quản trị cơ sở dữ liệu SQL server
Hệ quản trị cơ sở dữ liệu (Database Management System) chính là một gói
phần mềm được dùng để xác định, thao tác cũng như truy xuất và quản lý dữ liệu.
Hệ quản trị thường sẽ thao tác với các dữ liệu của chính DBMS Ví dụ như: định dạng dữ liệu, tên của file, cấu trúc của bản record và cả cấu trúc của file Ngoài ra,
hệ quản trị cũng sẽ giúp xác định những quy tắc nhằm xác thực cũng như thao tác với những dữ liệu này.
SQL Server là một hệ quản trị cơ sở dữ liệu quan hệ (Relational Database
Management System (RDBMS) ) sử dụng câu lệnh SQL (Transact-SQL) để trao đổi dữ liệu giữa máy Client và máy cài SQL Server Một RDBMS bao gồm databases, database engine và các ứng dụng dùng để quản lý dữ liệu và các bộ phận khác nhau trong RDBMS.
SQL Server được tối ưu để có thể chạy trên môi trường cơ sở dữ liệu rất lớn
(Very Large Database Environment) lên đến Tera-Byte và có thể phục vụ cùng lúc cho hàng ngàn user SQL Server có thể kết hợp “ăn ý” với các server khác như Microsoft Internet Information Server (IIS), E-Commerce Server, Proxy Server,…
Các thành phần cơ bản trong SQL Server:
Database Engine: là một engine có khả năng chứa dữ liệu ở các quy
mô dưới dạng support và table, đồng thời có khả năng tự điều chỉnh ví
Trang 4dụ: trả lại tài nguyên cho hệ điều hành khi một user log off và sử dụng thêm các tài nguyên của máy khi cần.
Integration Services: là tập hợp các đối tượng lập trình và các công
cụ đồ họa cho việc sao chép, di chuyển và chuyển đổi dữ liệu, định dạng dữ liệu trước khi lưu vào database.
Analysis Services: giúp phân tích dữ liệu một cách hiệu quả và dễ
dàng bằng cách dùng kỹ thuật khai thác dữ liệu – datamining và khái niệm hình khối nhiều chiều – multi dimendion cubes.
Notification Services: dịch vụ thông báo này là nền tảng cho sự phát
triển và triển khai các ứng dụng soạn và gửi thông báo, có chức năng gửi thông báo theo dịch thời đến hàng ngàn người dăng ký sử dụng trên nhiều loại thiết bị khác nhau.
Reporting Services: công cụ tạo, quản lý và triển khai báo cáo bao
gồm: server và client Nó còn là nền tảng cho việc phát triển và xây dựng các ứng dụng báo cáo.
Full Text Search Service: thành phần đặc biệt trong việc truy vấn và
đánh chỉ mục dữ liệu văn bản không cấu trúc được lưu trữ trong các
cơ sở dữ liệu SQL Server.
Service Broker: môi trường lập trình cho việc tạo ra các ứng dụng
trong việc nhảy qua các Instance.
1.2 PHÂN TÍCH HỆ THỐNG QUẢN LÝ KẾT QUẢ HỌC TẬP SINH VIÊN 1.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à
kiểm kê
+ Quản lý nhập điểm, xuất điểm bằng cách ghi chép thủ công, sinh viên
muốn xem điểm bằng việc đối chiếu thủ công
+ Chưa có cơ chế kiểm tra bạn đọc
Nhược điểm:
+ Tốn rất nhiều thời gian và công sức
+ Dễ nhầm lẫn, sai sót
+ 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 động nhằm nâng cao hiệu quả để dễ quản lý đến từng học sinh
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ông bằng “tin học hoá hoá” nhờ có sự trợ của các chương trình, phần mềm ứng dụng
Trang 5+ 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áy tính + Đưa ra máy in khi có yêu cầ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ì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ò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ã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ình tương ứng
và chia cho tổng số đơn vị học trình
Sinh 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ểm tổ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 cho phé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ại cho sinh viên.
- Xếp loại học tập:
9 00 -> 10 00 xếp loại Xuất sắc
8 00 -> 8 99 xếp loại Giỏi
7 00 -> 7 99 xếp loại Khá
Trang 66 00 -> 6 99 xếp loại Trung bình - Khá
5 00 -> 5 99 xếp loại Trung bình
< 5 xếp loại Yếu
- Xét loại học bổng:
+ Loại 1: Đạt điểm trung bình từ 8 00 trở lên và không có môn nào có điểm dưới 7 + Loại 2: Đạt điểm trung bình từ 7 00 -> 7 99 và không có môn nào có điểm dưới 6.
1.2.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ủa nhà quản lý
- Cung cấp thông tin về sinh viên cho nhà quản lý,giáo viên và sinh viên khi có yêu cầu
§ Quản lý điểm
- 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
§ Thống kê,báo cá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ỗi kỳ học
- Thống kê danh sách sinh viên trượt lần 1, lần 2(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ăm họ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
- Trong quá trình thống kê sẽ sử dụng chức năng tính điểm của quản lý điểm
1.2.3 Biểu đồ luồng dữ liệu:
Trang 71: Sơ đồ luồng dữ liệu mức khung cảnh
1.2.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, Hoc lai
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 Khoa Hoc
Kiểu thực thể Sinh Viên gồm MaSV, TenSV, Ngày Sinh, giới tính, Que quan, 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
· 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:
Trang 8MaSV → TenSV, MaLop.
MaLop → TenLop, MaKhoa, MaKhoaHoc, MaHDT
MaSV, MaMH→ Diem
MaKhoa → TenKhoa
MaKhoaHoc → TenKhoaHoc
MaHDT → TenHDT
MaMH → TenMH
Các Bước chuẩn hóa
MaLop
TenLop
MaHDT
TenHDT
MaKhoaHoc
TenKhoaHoc
MaKhoa
TenKhoa
MaMH
TenMH
* MaSV
* TenSV
* Diem
MaLop TenLop MaHDT TenHDT MaKhoaHoc TenKhoaHoc MaKhoa TenKhoa MaMH TenMH
MaLop TenLop MaHDT TenHDT MaKhoaHoc TenKhoaHoc MaKhoa TenKhoa MaMH TenMH
MaLop TenLop MaHDT MaKhoa MaKhoaHoc
Lop
MaHDT
MaKhoa
MaKhoaHoc
MaSV TenSV MaLop
SinhVien MaMH
Trang 9MaSV TenSV MaMH DiemLan1 DiemLan2
MaSV
DiemLan1 DiemLan2
Diem
MaSV MaMH DiemLan1 DiemLan2
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 }
G là tối tiểu
B2: Tách thành các lược đồ con
F=G
Xét K→A, K→L có 2 phụ thuộc hàm vế trái bằng K ta có R1(KAL) loại K→A, K→L khỏi F
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ỏi F
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ẩn 3NF như sau:
R1(KAL) khóa K
R2(ABCEF) khóa A
R3(IKM) khóa IK
R4( GH) khóa G
R5(EF) khóa E
R6(CD) khóa C
R7(IJ) khóa I
Chương 2: THIẾT KẾ CƠ SỞ DỮ LIỆU 2.1. Thiết kế cơ sở dữ liệu:
Trang 10
2.2. Từ điển dữ liệu
Thuộc
tính
Tên bảng
MONHOC
DIEM
HEDT
LOP
Trang 11MaKhoaHoc char 5 Mã khóa học SINHVIEN
2.3. Một số truy vấn SQL
Dưới là ảnh select form 1 số bảng nhập dữ liệu 1 số bảng khóa như
-Khóa học
-Hệ Đào Tạo
-Khoa
-Lớp
-Sinh Viên
- Môn học
-Điểm
Trang 12Trên là 1 trong các lệnh để thực hiện truy vấn bảng dữ liệu nhập vào
Trang 13Trigger không cho xóa môn học
Thêm dữ liệu bảng lớp
Sửa dữ liệu và xóa dữ liệu bảng lớp
Trang 14Bảng thêm môn học gồm thêm sửa,xóa dữ liệu
Trang 15Bảng thêm dữ liệu sinh viên
Bảng xóa dữ liệu sinh viên
Bảng dữ liệu thêm khóa học
Trang 16Bảng dữ liệu sửa xóa thêm khóa học
Bảng thêm hệ đào tạo
Trang 17Bảng xóa hệ đào tạo và thêm dữ liệu sửa dữ liệu
Các bảng của em vẫn gộp 1 số chức năng vào trong 1 bảng cho ngắn gọn ạ
Em gửi soruce code vào trong chương trình mong thầy cô đọc ạ
Trang 18Kết luận:
Em cảm ơn thầy cô vào các bạn đã theo dõi chương trình quản lý sinh viên bằng cơ sở dư liệu bằng MSSQL Nếu còn thiếu sót gì mong thầy cô châm chước cho em ạ, em cảm ơn ạ
Tài liệu tham khảo: Ở 1 số website trên internet
-Howkteam
-W3Shoocl
v.v