Bài 13. Cơ sở dữ liệu quan hệ SGK Tin học 11 Định hướng tin học ứng dụng Kết nối tri thức
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ì?
Khởi động
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ì?
Phương pháp giải:
Tra cứu trên internet, sách, báo,…kết hợp kiến thức thực tế của bản thân để trả lời câu hỏi.
Lời giải chi tiết:
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.
? mục I HĐ1
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?
Phương pháp giải:
Vận dụng kiến thức mục 1 và Hình 13.2 trang 65 SGK kết hợp kiến thức thực tế của bản thân để trả lời câu hỏi.
Lời giải chi tiết:
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ệ
? mục I CH1
Hãy chỉ ra các cột của bảng Bản nhạc.
Phương pháp giải:
Vận dụng kiến thức Hoạt động 1 và Hình 13.1 để trả lời câu hỏi.
Lời giải chi tiết:
Các cột của bảng Bản nhạc:
Mid
Aid
TenBN
? mục I CH2
Bảng Bản thu âm và bảng Ca sĩ có chung thuộc tính nào?
Phương pháp giải:
Vận dụng kiến thức Hoạt động 1 và Hình 13.2 để trả lời câu hỏi.
Lời giải chi tiết:
Chung thuộc tính Sid
? mục II CH1
Hãy chỉ ra khóa chính của bảng Ca sĩ và bảng Bản nhạc.
Phương pháp giải:
Vận dụng kiến thức mục 2 trang 66 SGK và kiến thức thực tế của bản thân để trả lời câu hỏi.
Lời giải chi tiết:
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
? mục II CH2
Hãy chỉ ra các khoá ngoài của bảng Bản nhạc và bảng Bản thu âm.
Phương pháp giải:
Vận dụng kiến thức mục 2 trang 66 SGK và kiến thức thực tế của bản thân để trả lời câu hỏi.
Lời giải chi tiết:
Khóa ngoài là cột Aid (1, 2, 3, 4, 1, 2)
Luyện tập
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 khóa chính được không.
Phương pháp giải:
Vận dụng kiến thức thực tế của bản thân để trả lời câu hỏi.
Lời giải chi tiết:
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:
Khóa 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 khóa 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 khóa chính của bảng Diem.
Vận dụng
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 đó.
Phương pháp giải:
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.
Lời giải chi tiết:
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
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.