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ế. Tiếp theo phần 1

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

Cơ sở dữ liệu quản lý các trận đấu bóng đá tại một sân vận động 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.

Doi(MSDoi, TenDoi, Phai)

Tân từ: Mỗi đội có 1 mã số (MSDoi) là một số nguyên phân biệt; có tên (TenDoi) và thuộc phái nam hay nữ (Phai).

TranDau(MSTD, NgayTD, GioBD, GioKT)

Tân từ: Mỗi trận đấu có 1 mã số (MSTD) là một số nguyên phân biệt với những trận đấu khác, diễn ra vào 1 ngày (NgayTD), bắt đầu ở một giờ (GioBD) và dự kiến kết thúc tại một giờ (GioKT).

DoiThiDau(MSTD, MSDoi)

Tân từ: Lưu trữ danh sách các đội (MSDoi) tham gia thi đấu trong các trận đấu (MSTD). Biết rằng, mỗi trận đấu là một cuộc gặp gỡ giữa 2 đội và cả 2 đội phải thuộc cùng một phái.

  • Câu 2 – Viết ràng buộc

Viết lệnh khai báo bổ sung các ràng buộc sau:

  1. Giờ bắt đầu thi đấu (GioTD) phải nhỏ hơn giờ kết thúc (GioKT) trận đấu.
  2. Hai trận đấu trong table TranDau diễn ra trong cùng một ngày (NgayTD) thì không bắt đầu ở cùng một giờ thi đấu (GioTD).
  • Câu 3 – Tạo view
  1. Tạo view vwDoiChuaThiDau dùng liêt kê danh sách các đội chưa có mã số đội trong table DoiThiDau gồm: Mã số đội, tên đội, phái.
  2. Tạo view vwSoTranDau dùng thống kê số trận đấu diễn ra trong từng ngày thi đấu với các thông tin: Ngày thi đấu và số trận đấu trong ngày.
  • Câu 4 – Taọ trigger

Tạo insert trigger cho table DoiThiDau dùng kiểm tra ràng buộc mỗi trận đấu chỉ là một cuộc gặp gỡ giữa 2 đội và cả 2 đội phải thuộc cùng một phái.

Câu 5 – Taọ hàm

Tạo thủ tục hoặc hàm hiển thị thông tin 2 đội tham gia trong một trận đấu khi biết mã số trận đấu. Nếu mã trân đấu không có trong table DoiThiDau thì hiện thị thông báo lỗi. Trong đó, mã số trận đấu (MSTD) 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!