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.



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?

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


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ệ



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



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



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



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.