Bài toán quản lý điểm số học sinh năm 2024

Danh sách hồ sơ sinh viên gồm những thông tin đầu vào như Mã sinh viên, Họ tên, Giới tính, Ngày sinh, Địa chỉ, Khoá học, Hệ đào tạo, Khoa, Ngành học, Lớp học, ...

  • Danh sách các học phần ở mỗi học kỳ theo từng ngành.
  • Danh sách điểm học phần của mỗi sinh viên.

Dữ liệu ra:

  • Thực hiện một số thống kê: Tính số lượng sinh viên mỗi lớp, mỗi ngành, mỗi khoa, ...
  • Phân lớp và đánh mã sinh viên theo các yêu cầu khác nhau từ dễ đến khó.
  • Theo dõi chương trình giảng dạy các học phần theo từng ngành.
  • Theo dõi điểm học phần của mỗi sinh viên của từng học kỳ, cả năm và cả khoá. Đưa ra danh sách sinh viên tích luỹ, ngừng tiến độ học tập.
  • Đưa ra bảng điểm tổng hợp có xếp loại học tập theo từng lớp ở mỗi học kỳ, cả năm và cả khoá học.
  • Xử lý dữ liệu: tạo các thủ tục (Procedure) hiển thị dữ liệu, tính toán, bổ sung, cập nhật, xoá, ...

1. CƠ SỞ DỮ LIỆU QUAN HỆ

Bảng DMLOP

1. BẢNG DỮ LIỆU CHI TIẾT

Bảng DMKHOA B ảng DMNGANH

Bảng DMHOCPHAN

Bảng DIEMHP

DẠNG 1: CÂU LỆNH TRUY VẤN CÓ ĐIỀU KIỆN

Bài số 1: Câu lệnh SQL không kết nối

  1. Hiển thị danh sách gồm: MaSV, HoTen, MaLop, NgaySinh, GioiTinh (Nam, Nữ) , Namsinh của những sinh viên có họ không bắt đầu bằng chữ N,L,T.
  2. Hiển thị danh sách gồm: MaSV, HoTen, MaLop, NgaySinh (dd/mm/yyyy), GioiTinh (Nam, Nữ) , Namsinh của những sinh viên nam học lớp CT11.
  3. Hiển thị danh sách gồm: MaSV, HoTen, MaLop, NgaySinh, GioiTinh của những sinh viên học lớp CT11,CT12,CT13.
  4. Hiển thị danh sách gồm: MaSV, HoTen, MaLop, NgaySinh (dd/mm/yyyy), GioiTinh (Nam, Nữ), Tuổi của những sinh viên có tuổi từ 19 đến 21.

Bài số 2: Câu lệnh SQL có kết nối

  1. Hiển thị danh sách gồm MaSV, HoTên, MaLop, DiemHP, MaHP của những sinh viên có điểm HP >= 5.
  2. Hiển thị danh sách MaSV, HoTen , MaLop, MaHP, DiemHP được sắp xếp theo ưu tiên Mã lớp, Họ tên tăng dần.
  3. Hiển thị danh sách gồm MaSV, HoTen, MaLop, DiemHP, MaHP của những sinh viên có điểm HP từ 5 đến 7 ở học kỳ I.
  4. Hiển thị danh sách sinh viên gồm MaSV, HoTen, MaLop, TenLop, MaKhoa của Khoa có mã CNTT.

Lời giải:

DẠNG 2: CÂU LỆNH TRUY VẤN CÓ PHÂN NHÓM

Bài số 1: Câu lệnh SQL có từ khoá GROUP BY không điều kiện.

Bài số 4: Câu lệnh SQL có từ khoá TOP.

  1. Cho biết MaSV, HoTen sinh viên có điểm TBC cao nhất ở học kỳ 1.
  2. Cho biết MaSV, HoTen sinh viên có số học phần điểm HP <5 nhiều nhất.
  3. Cho biết MaHP, TenHP có số sinh viên điểm HP <5 nhiều nhất.

DẠNG 3: CÂU LỆNH TRUY VẤN VỚI CẤU TRÚC LỒNG NHAU

Bài số 1: Cấu trúc lồng nhau phủ định (KHÔNG, CHƯA).

  1. Cho biết Họ tên sinh viên KHÔNG học học phần nào.
  2. Cho biết Họ tên sinh viên CHƯA học học phần có mã ‘001’.
  3. Cho biết Tên học phần KHÔNG có sinh viên điểm HP <5.
  4. Cho biết Họ tên sinh viên KHÔNG có học phần điểm HP<

Bài số 2: Cấu trúc lồng nhau không kết nối.

  1. Cho biết Tên lớp có sinh viên tên Hoa.
  2. Cho biết HoTen sinh viên có điểm học phần ‘001’là <5.
  3. Cho biết danh sách các học phần có số đơn vị học trình lớn hơn hoặc bằng số đơn vị học trình của học phần mã 001.

DẠNG 4: CÂU LỆNH TRUY VẤN VỚI LƯỢNG TỪ ALL, ANY, EXISTS

Bài số 1: Lượng từ ALL

  1. Cho biết HoTen sinh viên có DiemHP cao nhất.
  2. Cho biết HoTen sinh viên có tuổi cao nhất.
  3. Cho biết MaSV, HoTen sinh viên có điểm học phần mã ‘001’ cao nhất.

Bài số 2: Lượng từ ANY 1. Cho biết MaSV, MaHP có điểm HP lớn hơn bất kỳ các điểm HP của sinh viên mã ‘001’.

  1. Cho biết sinh viên có điểm học phần nào đó lớn hơn gấp rưỡi điểm trung bình chung của sinh viên đó.

Bài số 3: Lượng từ EXISTS

  1. Cho biết MaSV, HoTen sinh viên đã ít nhất một lần học học phần nào đó.
  2. Cho biết MaSV, HoTen sinh viên đã không học học phần nào.
  3. Cho biết MaLop,TenLop đã không có sinh viên nào học.

DẠNG 5: CÂU LỆNH TRUY VẤN VỚI CẤU TRÚC TẬP HỢP

  1. Cho biết MaSV đã học ít nhất một trong 2 học phần có mã là ‘001’, ‘002’.
  2. Cho biết MaSV chưa học học phần nào.
  3. Cho biết Mã sinh viên học ít nhất hai học phần có mã ‘001’ và ‘002’.

DẠNG 6: CÂU LỆNH BỔ SUNG, CẬP NHẬT, XOÁ DỮ DIỆU

Bài số 1: Lệnh INSERT bổ sung dữ liệu

  1. Bổ sung một dòng dữ liệu cho bảng DMKHOA bộ giá trị sau:

DẠNG 2: THỦTỤC

DẠNG BÀI 1: Tạo thủ tuc cập nhật, bổ sung , xoá dữ liệu.

Bài số 1: Viết chương trình tính điểm trung bình chung theo từng học kỳ với mã lớp chỉ định.

Bài số 2: Tạo thủ tục bổ sung dữ liệu cho bảng SINHVIEN.

Bài số 3: Tạo thủ tục bổ sung dữ liệu cho bảng DIEMHP.

Bài số 4: Viết thủ tục xoá sinh viên có mã chỉ định.

Bài số 5: Cập nhật lại điểm có mã chỉ định.

Bài số 6: Cập nhật lại dữ liệu cho khoa có mã chỉ định.

Bài số 7: Viết đoạn chương trình phân lớp thành 2 lớp A,B với điều kiện là: Nếu Mã sinh viên là số lẻ thì là lớp A, nếu Mã sinh viên là chẵn thì là lớp B

Bài số 8: Viết đoạn chương trình phân lớp thành A,B,C,D,.. bất kỳ với số lượng lớp chỉ định. Phân lớp được quy định như sau:

  • Nếu Mã sinh viên chia cho số lớp dư 0 là lớp ‘A’
  • Nếu Mã sinh viên chia cho số lớp dư 1 là lớp ‘B’ - ....

DẠNG BÀI 2: Tạo thủ tục hiển thị dữ liệu với các điều kiện chỉ định.

Bài toán 1: Tạo thủ tục: Hiển thị danh sách gồm MaSV, HoTen, , MaLop, DiemHP, MaHP của những sinh viên có DiemHP nhỏ hơn số chỉ định, nếu không có thì hiển thị thông báo không có sinh viên nào.

Bài toán 2: Tạo thủ tục: Hiển thị Hoten sinh viên CHƯA học học phần có mã chỉ định, Kiểm tra Mã học phần chỉ định có trong danh mục không, Nếu không có thì hiển thị thông báo không có học phần này.

Bài toán 3: Tạo thủ tục: Hiển thị danh sách gồm: MaSV, HoTen, MaLop, NgaySinh (dd/mm/yyyy), GioiTinh (Nam, Nữ),Tuổi của những sinh viên có tuổi

trong khoảng chỉ định. Nếu không có thì hiển thị thông báo không có sinh viên nào

Bài toán 4: Tạo thủ tục:Cho biết MaKhoa, Tên Khoa, tổng số sinh viên của Khoa chỉ định. Kiểm tra điều kiện Mã khoa có trong bảng danh mục không.

Bài toán 5: Tạo thủ tục: Hiển thị MaLop,TenLop, Tổng số SV mỗi lớp của khoa có mã chỉ định, Kiểm tra điều kiện MaKhoa có trong bảng Danh mục không, Nếu không có thì hiển thị thông báo Không có lớp này.

Bài toán 6: Tạo thủ tục: Tính điểm trung bình chung từng học kỳ theo từng sinh viên của lớp có mã chỉ định.

Bài toán 7: Tạo thủ tục: Hiển thị danh sách gồm: MaSV, HoTen, MaLop, MaKhoa, NgaySinh (dd/mm/yyyy),GioiTinh (Nam, Nữ) của những sinh viên ở Khoa có mã chỉ định, Nếu không có thì hiển thị thông báo Không có sinh viên nào. Bài toán 8: Tạo thủ tục: Cho biết Hoten sinh viên KHÔNG có điểm HP <5 ở lớp có mã chỉ định, Kiểm tra Mã lớp chỉ định có trong danh mục không, Nếu không thì hiển thị thông báo.

Bài toán 9: Tạo thủ tục: Hiển thị danh sách gồm: MaSV, HoTen, MaLop, NgaySinh (dd/mm/yyyy), GioiTinh(Nam, Nữ), của những sinh viên học lớp có mã chỉ định. Kiểm tra MaLop chỉ định có tồn tại trong bảng không, nếu không có thì hiển thị thông báo Không có lớp đó.

BÀI TẬP TỰ GIẢI

  1. Hiển thị danh các khách hàng đã mua hàng trong ngày chỉ định (ngày là tham số truyền vào)
  2. Hiển thị danh sách 5 khách hàng có tổng trị giá các đơn hàng lớn nhất.
  3. Hiển thị danh sách 10 mặt hàng có số lượng bán lớn nhất.

Cập nhật cột Khuyến mãi như sau: Khuyến mãi 5% thành tiền nếu SoLuong >100, 10% thành tiền nếu SoLuongL >500.