Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (145.13 KB, 3 trang )
BÀI THỰC HÀNH SQL-1 -Quản lý điểm
Các bảng trong csdl QLDIEM có cấu trúc như sau:
Sơ đồ quan hệ (relationship) dạng đơn giản:
Sơ đồ quan hệ cùng cấu trúc chi tiết các bảng:
Số liệu mẫu trong bảng Class:
Số liệu mẫu trong bảng Subject:
1
Số liệu mẫu trong bảng Student:
Số liệu mẫu trong bảng Mark:
Ghi chú: Trong bảng Class chứa thông tin về các lớp dự định mở và như vậy thông tin về lớp được nhập
trước khi lớp nhận sinh viên. Vì vậy có trường hợp tuy lớp đã đăng ký, nhưng do vì một lý do nào đó mà
lớp không khai giảng thì thông tin về lớp vẫn còn trong bảng Class nhưng trong bảng Student lại không
có.
Câu 1:
1. Tạo cơ sở dữ liệu QLDIEM với các bảng trên đây (lưu ý là trong bảng Class không có cột Stud_no).
Trước hết thao tác bằng EM (Enterprise Manager), đặt các khóa chính (Primary key), khóa ngoại, tạo
một diagram để thấy được tác dung của các liên kết.
2. Dùng QA (Query Analyser) để viết các lệnh tạo bảng, xóa bảng. Thêm một trường có tên là stud_no
trong bảng Class, sau đó thêm ràng buộc kiểm tra để bảo đảm stud_no>=16 và stud_no<=30.
3. Nhập một số bản ghi cho các bảng trên bằng EM và QA.
Câu hỏi 2:
Viết các lệnh T-SQL thực hiện các công việc sau:
1. Đặt foreign key constraint cho cột ClassCode trong bảng Student.
2. Hiển thị danh sách tất cả các lớp.
3. Hiển thị các lớp có số sinh viên >=20. Hiển thị danh sách các lớp kỹ thuật viên (có classcode bắt đầu
bằng 'T'.
4. Hiển thi danh sách sinh viên với đầy đủ thông tin classcode, headteacher, rollno, fullname, address.
5 Hiển thị không lặp lại tên của sinh viên có một phần địa chỉ email là “fpt.vn” hoặc "fpt.com.vn"
6. Cập nhật thông tin cho trường mark trong bảng Mark theo công thức mark = 0.4*wmark +0.6*pmark.
7. Tạo một bảng mới có tên là KetQuaThi gồm các thông tin rollno, avgMark, trong đó avgMark là
điểm trung bình của các môn thi.