Cafedev chia sẻ cho ace một số bài tập thực hành sql server nhằm giúp các bạn nâng cao kỹ năng và kiến thức khi làm việc với cơ sở dữ liệu trong thực tế.

Series tự học SQL từ cơ bản tới nâng cao cho ace.

1. Đề bài

  • Câu 1 – Tạo cơ sở dữ liệu sau

Cơ sở dữ liệu quản lý sinh viên có chứa 3 table. Viết lệnh tạo các table với các ràng buộc khóa chính, khóa ngoại được nêu trong tân từ. Kiểu dữ liệu của các Fields là tự chọn theo ngữ nghĩa.

SinhVien(MSSV, Lop, Ho, Ten, Ngaysinh, Nu)

Tân từ: Mỗi sinh viên có một mã số (MSSV) là số nguyên phân biệt, thuộc một lớp (Lop), có họ (HO) và tên (Ten) sinh viên, ngày sinh (Ngaysinh), thuộc phái nữ hay nam (Nu).

MonHoc(MSMon, TenMon)

Tân từ: Mỗi môn học có một mã số (MSMon) là một số nguyên phân biệt, có tên môn học (TenMon).

DiemThi(MSSV, MSMon, LanThi, Diem)

Tân từ: Mỗi sinh viên (MSSV) có thể học nhiều môn (MSMon). Mỗi môn học có thể thi nhiều lần  (LanThi), mỗi lần thi được đánh số thứ tự từ 1 trở đi và ghi nhận điểm thi (Diem) của các lần thi đó.

  • Câu 2 – Khai báo bổ sung các ràng buộc sau:
  1. Lần thi (LanThi) trong table DiemThi có giá trị mặc định là 1
  2. Điểm thi (Diem) trong table DiemThi được chấm theo thang điểm 10
  • Câu 3 – Tạo View:
  1. Tạo view vwLanThiCuoi dùng liêt kê danh sách lần thi cuối cùng của các sinh viên gồm: Mã số sinh viên, mã số môn học, lần thi cuối cùng của môn học (ví dụ sinh viên A thi môn học C ba lần thì lần thi cuối cùng là 3).
  2. Tạo view vwDiemThiCuoi dùng liêt kê danh sách sinh viên gồm: Mã số sinh viên, mã số môn học, lần thi cuối cùng của môn học (ví dụ sinh viên A thi môn học M ba lần thì lần thi cuối cùng là 3) và điểm của lần thi cuối cùng đó.
  • Câu 4 – Tạo trigger insert

Tạo trigger Insert cho table DiemThi dùng điền tự động số thứ tự lần thi khi thêm điểm thi một môn học của một sinh viên. Ví dụ sinh viên A đã thi môn học M hai lần thì lần thi mới thêm vào phải là 3.

  • Câu 5 – Viết hàm

Viết thủ tục hoặc hàm liệt kê kết quả thi các môn của một sinh viên khi biết mã số của sinh viên (MSSV) gồm các thông tin: mã số môn học, lần thi, điểm thi. Trong đó, mã số sinh viên là giá trị input

2. Bài giải

Hướng dẫn cách xem và tải tài liệu từ trang cafedev tại đây.


Xem bài giải

3. Series lý thuyết ôn tập

Full series tự học SQL từ cơ bản tới nâng cao tại đây nha.

Nếu bạn thấy hay và hữu ích, bạn có thể tham gia các kênh sau của cafedev để nhận được nhiều hơn nữa:

Chào thân ái và quyết thắng!

Đăng ký kênh youtube để ủng hộ Cafedev nha các bạn, Thanks you!