Bài tập và thực hành 10 - Hệ cơ sở dữ liệu quan hệ - Giải BT Tin học 12
1. Mục đích, yêu cầu
- Biết chọn khóa cho các bảng dữ liệu trong một bài toán quen thuộc.
- Biết cách xác lập liên kết giữa các bảng thông qua khóa để có thể tìm được những thông tin liên quan đến một cá thể được quản lí.
2. Nội dung
Câu 1: (sgk trang 88 Tin 12): Em hãy chọn khóa cho mỗi bảng trong cơ sở dữ liệu trên và giải thích lí do lựa chọn đó.
Giải đáp:
- Bảng THI_SINH: SBD là khóa chính. Số báo danh của các thí sinh yêu cầu phải khác nhau.
- Bảng DANH PHACH: SBD hoặc phách đều thỏa mãn có thể là khóa chính. Vì: Một SBD chỉ cho đúng một phách, một phách cũng chỉ đánh đúng cho một số báo danh.
- Bảng DIEM THI: Phách là khóa chính. Điểm có thể xuất hiện nhiều lần trong bảng. Tuy nhiên, mỗi phách chỉ tương ứng với một điểm (không thể có trường hợp một bài thi lại có hai điểm).
Câu 2: (sgk trang 88 Tin 12): Em hãy chỉ ra các mối liên kết cần thiết giữa 3 bảng để có được kết quả thi thông báo cho thí sinh.
Giải đáp:
Các mối liên kết cần thiết giữa 3 bảng để có được kết quả thi thông báo cho thí sinh như sau:
- Bảng THI_SINH liên kết với bảng DANH_PHACH qua trường SBD.
- Bảng DANH_PHACH liên kết với bảng DIEM_THI qua trường phách.
- Bảng THI_SINH liên kết bắc cầu với bảng DIEM thông qua bảng DANH_PHACH.
- Liên kết giữa THI_SINH và DANH_PHACH là liên kết 1-1.
- Liên kết giữa DANH_PHACH và DIEM là liên kết 1-1.
=> Để thông báo kết quả thi ta sử dụng trường STT, SBD, Họ tên thí sinh, Ngày sinh, Trường của bảng THI_SINH, trường phách của bảng DANH_PHACH, trường điểm thi của bảng DIEM_THI.
Câu 3: (sgk trang 88 Tin 12): Hãy dùng hệ quản trị cơ sở dữ liệu Access để làm những việc sau:
- Tạo lập CSDL nói trên: gồm 3 bảng (mỗi bảng với khóa đã chọn), thiết đặt các mối liên kết cần thiết, nhập dữ liệu giả định (ít nhất là 10 thí sinh).
- Đưa ra kết quả để thông báo cho thí sinh.
- Đưa ra kết quả thi theo trường.
- Đưa ra kết quả thi của toàn tỉnh theo thứ tự tăng dần của điểm thi.
Giải đáp:
a) Tạo lập CSDL nói trên
- Tạo bảng THI_SINH:
- Tạo bảng DANH_PHACH:
- Tạo bảng DIEM_THI:
- Thiết lập liên kết: Nhấn Database Tools chọn Relationships.
- Chọn bảng để tạo mối quan hệ:
- Nhập liệu:
b) Đưa ra kết quả thi thông báo cho thí sinh.
- Chọn Create rồi nhấn Query Design:
- Lần lượt chọn các bảng THI_SINH, DANH_PHACH, DIEM_THI:
- Điền vào các điều kiện như hình dưới đây:
- Nhấn Run để thực thi Query:
- Kết quả:
c) Đưa ra kết quả thi theo trường.
- Dựa vào kết quả của Query vừa chạy ta sẽ xuất ra báo cáo.
- Nhấn vào Create chọn Report Wizard.
- Nhấn dấu > > để đưa toàn bộ các trường vào báo cáo.
- Nhấn Next -> Next. Sau đó sẽ xuất hiện bảng để ta chọn thuộc tính gộp nhóm. Ở đây ta sẽ chọn trường trương rồi nhấn mũi tên >.
- Nhấn Finish để kết thúc quá trình tạo báo cáo.
- Trường Ngày sinh bị hiện lên dấu ##### do độ dài trường không đủ để hiện thi. Để có thể hiển thị chính xác ta có thể chỉnh lại báo cáo trong Design View.
- Dê chuột vào trường Ngày sinh và tiến hành kéo sang phải:
- Trờ lại Report View.
d) Đưa ra kết quả thi của toàn tỉnh thoe thứ tự giảm dần của điểm thi.
- Dựa vào kết quả của Query đưa ra điểm thi của toàn tỉnh.
- Để sắp xếp theo thứ tự giảm dần của điểm thi ta nhấn vào trường điểm thi rồi ấn nút sắp xêp Z -> A.
- Kết quả: