Bài 13: Cơ sở dữ liệu quan hệ

ML
Hướng dẫn giải Thảo luận (1)

Mô hình cơ sở dữ liệu là một loại mô hình dữ liệu xác định cấu trúc logic của cơ sở dữ liệu và xác định một cách cơ bản cách thức dữ liệu có thể được lưu trữ, sắp xếp và thao tác. Ví dụ phổ biến nhất của mô hình cơ sở dữ liệu là mô hình quan hệ, vốn sử dụng định dạng dựa trên bảng.

Trả lời bởi Quoc Tran Anh Le
ML
Hướng dẫn giải Thảo luận (1)

1. Nhạc sĩ sáng tác bản nhạc "Trường ca sông Lô" là Văn Cao

Nhạc sĩ sáng tác bản nhạc "Xa khơi" là nhạc sĩ: Nguyễn Tài Tuệ

2. Nhạc sĩ sáng tác bản nhạc "Trường ca sông Lô" là Văn Cao

Nhạc sĩ sáng tác bản nhạc "Xa khơi" là nhạc sĩ: Nguyễn Tài Tuệ

Trả lời bởi Thanh An
ML
Hướng dẫn giải Thảo luận (1)

Các cột của bảng bản nhạc: Mid, Aid, TenBN

Trả lời bởi Thanh An
ML
Hướng dẫn giải Thảo luận (1)

Chung thuộc tính: Sid

Trả lời bởi Thanh An
ML
Hướng dẫn giải Thảo luận (1)

Khoá chính của bảng Ca sĩ là Sid

Khoá chính của bảng Bản nhạc là Aid

Trả lời bởi Thanh An
ML
Hướng dẫn giải Thảo luận (1)

Khóa ngoại là cột Aid (1, 2, 3, 4, 1, 2)

Trả lời bởi Thanh An
ML
Hướng dẫn giải Thảo luận (1)

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.

Trả lời bởi Thanh An
ML
Hướng dẫn giải Thảo luận (1)

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 khoá chính và khoá ngoài như sau:

- Bảng HocSinh:

Trường: Mã số báo danh, Họ tên, Ngày sinh, Địa chỉ

Khoá 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

Khoá 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

Khoá 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

Khoá 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

Khoá 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 khoá 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 khoá 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.

Trả lời bởi Quoc Tran Anh Le