SQL Server/MySQL

Thiết kế hệ quản trị CSDL - Quản lý sinh viên (create, alter, update, insert, select) - Lập trình SQL Server

Chào bạn, tôi hiểu rồi. Bạn cần hệ thống lại nội dung đề bài (yêu cầu bài tập) một cách chuyên nghiệp, sạch sẽ để lưu trữ hoặc ra đề, thay vì các đoạn mã thực thi.

Dưới đây là nội dung đề bài được biên soạn lại từ các hình ảnh của bạn:


BÀI TẬP: QUẢN LÝ SINH VIÊN (Student Management System)

1. Khởi tạo Cơ sở dữ liệu (1.0 điểm)

  • Tạo một cơ sở dữ liệu có tên là: StudentManagementSystem.

  • Viết lệnh để bắt đầu sử dụng cơ sở dữ liệu vừa tạo.


2. Tạo bảng và Cấu trúc dữ liệu (3.0 điểm)

Xây dựng các bảng dựa trên thiết kế sau:

Bảng Class (Lưu thông tin lớp học)

CộtKiểu dữ liệuRàng buộcMô tả
ClassIdINTNOT NULLMã lớp
ClassCodeNVARCHAR(50)Tên/Ký hiệu lớp

Bảng Student (Lưu thông tin sinh viên)

CộtKiểu dữ liệuRàng buộcMô tả
StudentIdINTNOT NULLMã sinh viên
StudentNameNVARCHAR(50)Họ và tên
BirthDateDATETIMENgày sinh
ClassIdINTMã lớp (Khóa ngoại)

Bảng Subject (Lưu thông tin môn học)

CộtKiểu dữ liệuRàng buộcMô tả
SubjectIdINTNOT NULLMã môn học
SubjectNameNVARCHAR(100)Tên môn học
SessionCountINTSố tiết học

Bảng Result (Lưu kết quả học tập)

CộtKiểu dữ liệuRàng buộcMô tả
StudentIdINTNOT NULLMã sinh viên (Khóa ngoại)
SubjectIdINTNOT NULLMã môn học (Khóa ngoại)
MarkINTĐiểm thi

3. Chỉ mục và Thay đổi cấu bảng (1.0 điểm)

  • Tạo Index: Tạo một Non-Clustered Index tên là NCI_Student_StudentName trên bảng Student, áp dụng cho cột StudentName.

  • Thay đổi kiểu dữ liệu: Tiến hành chỉnh sửa bảng Result, thay đổi kiểu dữ liệu của cột Mark từ INT sang FLOAT (để lưu được điểm số thập phân).


4. Thiết lập Ràng buộc (4.0 điểm)

Khóa chính (PRIMARY KEY)

  • PK_Class: Cột ClassId trên bảng Class.

  • PK_Student: Cột StudentId trên bảng Student.

  • PK_Subject: Cột SubjectId trên bảng Subject.

  • PK_Result: Cặp cột StudentIdSubjectId trên bảng Result.

Khóa ngoại (FOREIGN KEY)

  • FK_Student_Class: Cột ClassId (Student) tham chiếu đến ClassId (Class).

  • FK_Result_Student: Cột StudentId (Result) tham chiếu đến StudentId (Student).

  • FK_Result_Subject: Cột SubjectId (Result) tham chiếu đến SubjectId (Subject).

Ràng buộc kiểm tra (CHECK CONSTRAINT)

  • CK_Subject_SessionCount: Đảm bảo giá trị cột SessionCount trong bảng Subject phải lớn hơn 0.


5. Nhập liệu mẫu (2.0 điểm)

Thực hiện thêm dữ liệu vào các bảng theo các bảng dữ liệu cho sẵn (Xem chi tiết trong tài liệu đính kèm để đảm bảo chính xác các giá trị tên lớp, tên sinh viên và điểm số).


6. Truy vấn dữ liệu (3.0 điểm)

Thực hiện các yêu cầu sau bằng ngôn ngữ SQL:

  1. Tìm kiếm sinh viên: Hiển thị danh sách sinh viên (StudentId, StudentName, BirthDate) có ngày sinh nằm trong khoảng từ 10/10/1992 đến 10/10/1993.

  2. Thống kê lớp học: Đếm số lượng sinh viên của từng lớp. Kết quả hiển thị bao gồm: ClassId, ClassCode, TotalStudent (Sĩ số).

  3. Tính tổng điểm: Tính tổng điểm tất cả các môn của từng sinh viên. Chỉ hiển thị những sinh viên có tổng điểm lớn hơn 10. Kết quả gồm: StudentId, StudentName, TotalMark.

Phản hồi từ học viên

5

Tổng 0 đánh giá

Đăng nhập để làm bài kiểm tra

Chưa có kết quả nào trước đó