Dữ liệu về dân số nước ta từ năm 2019 đến năm 2023 có trong niên giám số liệu thống kê của Tổng cục thống kê. Việc quản lí dữ liệu này có ý nghĩa quan trọng trong hoạch định một số chính sách quốc gia. Để lưu trữ và khai thác dữ liệu về dân số hàng năm theo từng khu vực, có thể tạo cơ sở dữ liệu với các bảng sau:
KHUVUC (maKV, tenKV): lưu thông tin mã khu vực và tên khu vực; mỗi khu vực có một mã khu vực duy nhất.
TINH (maTinh, maKV, tenTinh): lưu thông tin mã tỉnh, mã khu vực và tên tỉnh; mỗi tỉnh chỉ thuộc về một khu vực và mỗi khu vực có thể có nhiều tỉnh.
DANSO (maTinh, nam, danSoTB) lưu thông tin: mã tỉnh, năm và dân số trung bình của năm.
Sau khi tìm hiểu cơ sở dữ liệu trên, một số học sinh đưa ra các ý kiến sau:
- a)Sai
Trường maKV là khóa ngoài của bảng KHUVUC.
- b)Đúng
Nhóm hai trường maTinh và nam là khóa chính của bảng DANSO.
- c)Sai
Chỉ cần liên kết hai bảng TINH và DANSO theo khóa maTinh là có thể kết xuất được thông tin đầy đủ gồm: tên tỉnh, tên khu vực, năm và dân số trung bình của năm.
- d)Đúng
Để đưa ra được thông tin gồm tên tỉnh, năm và dân số trung bình của năm 2020, có thể thực hiện câu truy vấn với các thành phần sau:
Các bảng và trường được chọn: TINH.tenTinh, DANSO.nam, DANSO.danSoTB.
Các bảng được liên kết qua khóa: TINH liên kết DANSO qua khóa maTinh.
Điều kiện kết xuất dữ liệu: DANSO.nam = 2020.
Lời giải
a) Sai. Trong bảng KHUVUC, maKV xác định duy nhất mỗi khu vực nên là khóa chính. maKV là khóa ngoài của bảng TINH (tham chiếu tới KHUVUC).
b) Đúng. Một tỉnh có dân số của nhiều năm, một năm có dân số của nhiều tỉnh; cặp (maTinh, nam) mới xác định duy nhất một dòng của bảng DANSO.
c) Sai. Tên khu vực (tenKV) nằm ở bảng KHUVUC, nên phải liên kết thêm bảng TINH với KHUVUC qua khóa maKV.
d) Đúng. Tên tỉnh ở bảng TINH, năm và dân số ở bảng DANSO; liên kết hai bảng qua maTinh và lọc DANSO.nam = 2020 là đủ.