Trong kì thi tốt nghiệp trung học phổ thông, học sinh được đánh số báo danh, có thể thi một số môn, được chia vào các phòng thi được đánh số, sau khi chấm sẽ có điểm thi với các môn đăng ký dự thi. Em hãy đề xuất một số bảng dữ liệu và các trường làm khóa chính và khóa ngoài cho các bảng đó.
Tham khảo internet kết hợp vận dụng kiến thức và hiểu biết thực tế của bản thân để trả lời câu hỏi.
Dựa trên yêu cầu của bài toán, ta có thể đề xuất các bảng dữ liệu và các trường làm khóa chính và khóa ngoài như sau:
- Bảng HocSinh:
Trường: Mã số báo danh, Họ tên, Ngày sinh, Địa chỉ
Khóa chính: Mã số báo danh
Khoá ngoài: Không có
- Bảng MonHoc:
Trường: Tên môn học, Mã môn học
Khóa chính: Mã môn học
Khoá ngoài: Không có
- Bảng PhongThi:
Trường: Mã phòng thi, Tên phòng thi
Advertisements (Quảng cáo)
Khóa chính: Mã phòng thi
Khoá ngoài: Không có
- Bảng ThiSinh_MonHoc:
Trường: Mã số báo danh, Mã môn học
Khóa chính: Mã số báo danh, Mã môn học
Khoá ngoài: Mã số báo danh tham chiếu đến bảng HocSinh, Mã môn học tham chiếu đến bảng MonHoc
- Bảng KetQuaThi:
Trường: Mã số báo danh, Mã môn học, Mã phòng thi, Điểm thi
Khóa chính: Mã số báo danh, Mã môn học, Mã phòng thi
Khoá ngoài:
Mã số báo danh tham chiếu đến bảng HocSinh
Mã môn học tham chiếu đến bảng MonHoc
Mã phòng thi tham chiếu đến bảng PhongThi
Lưu ý rằng, trong bảng ThiSinh_MonHoc, ta cần sử dụng một tập hợp các trường (Mã số báo danh, Mã môn học) để tạo thành khóa chính, bởi vì một thí sinh có thể đăng kí thi nhiều môn học khác nhau. Còn trong bảng KetQuaThi, ta cần sử dụng một tập hợp các trường (Mã số báo danh, Mã môn học, Mã phòng thi) để tạo thành khóa chính, bởi vì một thí sinh có thể thi cùng một môn học ở nhiều phòng thi khác nhau.