Luyện tập trang 68 Tin học 11: Cho CSDL học tập có các bảng sau: Hocsinh (họ tên, số CCCD, số thẻ học sinh, ngày sinh, địa chỉ), monhoc (tên, mã môn). Diem (số thẻ học sinh, mã môn, năm, học kì, loại điểm, điểm), trong đó loại điểm chỉ các loại ĐĐG thường xuyên, ĐĐG giữa kì, ĐĐG cuối kì. Hãy xác định các khoá chính và các khoá ngoài của từng bảng, có thể lấy số CCCD làm khoá chính được không.
Lời giải:
Trong CSDL học tập này, ta có thể xác định các khoá chính và các khoá ngoài của từng bảng như sau:
- Bảng Hocsinh:
- Khoá chính: Số CCCD
- Khoá ngoài: Không có
- Bảng Monhoc:
- Khoá chính: Mã môn
- Khoá ngoài: Không có
- Bảng Diem:
- Khoá chính: Số thẻ học sinh, Mã môn, Năm, Học kì, Loại điểm
- Khoá ngoài:
- Số thẻ học sinh tham chiếu đến bảng Hocsinh.
- Mã môn tham chiếu đến bảng Monhoc.
Số CCCD có thể được sử dụng làm khoá chính của bảng Hocsinh, nhưng không nên sử dụng nó làm khoá chính của bảng Diem, bởi vì một học sinh có thể có nhiều môn học và điểm khác nhau trong các môn học đó. Do đó, ta cần sử dụng một tập hợp các trường (số thẻ học sinh, mã môn, năm, học kì, loại điểm) để tạo thành khoá chính của bảng Diem.