Giải bài tập Tin học lớp 11 Bài 13: Cơ sở dữ liệu quan hệ
Khởi động trang 64 Tin học 11: Trong bài trước các em đã biết khái niệm CSDL. Đã có khá nhiều mô hình CSDL khác nhau. Từ những năm 1970, Edgar Frank Cođ (1923-2003) đã đề xuất mô hình CSDL quan hệ. Mô hình này nhanh chóng trở thành mô hình được dùng phổ biến nhất, nó xuất hiện trong hầu khắp các ứng dụng quản lí, kể cả trong các ứng dụng thu tin điện tử, mạng xã hội…Vậy mô hình cơ sở dữ liệu là gì?
Lời giải:
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.
1. Khái niệm cơ sở dữ liệu quan hệ
Hoạt động 1 trang 64 Tin học 11: Một CSDL các bản nhạc, trên một trang website âm nhạc, được tổ chức như mô tả trong Hình 13.1, gồm có danh sách các tên nhạc sĩ với mã (định danh) là Aid (Hình 13.1a), danh sách các tên ca sĩ với mã (định danh) là Sid (Hình 13.1b), danh sách các bản nhạc với tên bản nhạc, mã nhạc sĩ (tác giả bản nhạc ) và mã Mid-định danh bản nhạc (Hình 13.1c), danh sách các bản thu âm gồm có mã bản nhạc và mã ca sĩ (Hình 13.1d). Hãy quan sát và trả lời các câu hỏi sau:
1. Nhạc sĩ sáng tác bản nhạc “Trường ca sông Lô” là nhạc sĩ nào? Nhạc sĩ sáng tác bản nhạc “Xa khơi” là nhạc sĩ nào?
2. Bản thu âm trong Hình 13.1d tương ứng với dòng 0005 TN là bản thu âm của bản nhạc nào, do ca sĩ nào thể hiện?
Lời giải:
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ệ
Câu hỏi 1 trang 65 Tin học 11: Hãy chỉ ra các cột của bảng Bản nhạc.
Lời giải:
Các cột của bảng Bản nhạc:
Mid
Aid
TenBN
Câu hỏi 2 trang 65 Tin học 11: Bảng Bản thu âm và bảng Ca sĩ có chung thuộc tính nào?
Lời giải:
Chung thuộc tính Sid
2. Một số thuật ngữ, khái niệm liên quan
Câu hỏi 1 trang 68 Tin học 11: Hãy chỉ ra khoá chính của bảng Ca sĩ và bảng Bản nhạc.
Lời giải:
Khoá chính của bảng Ca sĩ là Sid
Khoá chính của bảng Bản nhạc là Aid
Câu hỏi 2 trang 68 Tin học 11: Hãy chỉ ra các khoá ngoài của bảng Bản nhạc và bảng Bản thu âm.
Lời giải:
Khóa ngoài là cột Aid (1, 2, 3, 4, 1, 2)
Luyện tập
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.
Vận dụng
Vận dụng trang 68 Tin học 11: 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 khoá chính và khoá ngoài cho các bảng đó.
Lời giả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 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.
Xem thêm các bài giải SGK Tin học lớp 11 Kết nối tri thức hay, chi tiết khác:
Bài 12: Hệ quản trị cơ sở dữ liệu và hệ cơ sở dữ liệu
Bài 13: Cơ sở dữ liệu quan hệ
Bài 14: SQL – Ngôn ngữ truy vấn có cấu trúc
Bài 15: Bảo mật và an toàn hệ cơ sở dữ liệu
Bài 16: Công việc quản trị cơ sở dữ liệu