Tin học 12 Bài tập và thực hành 10: Hệ cơ sở dữ liệu quan hệ
Elib đã biên soạn và tổng hợp để giới thiệu đến các em nội dung bài giảng Bài tập và thực hành 10: Hệ cơ sở dữ liệu quan hệ. Bài giảng sẽ hướng dẫn các em giải các bài tập thực hành trong sách giáo khoa một cách cụ thể chi tiết. Mời các em cùng theo dõi.
Mục lục nội dung
1. Tóm tắt lý thuyết
1.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í.
1.2. Nội dung
Sở giáo dục của một tỉnh tổ chức một kì thi để kiểm tra chất lượng môn Toán cho các lớp 12 của tỉnh. Trong cơ sở dữ liệu quản lí kì kiểm tra này có ba bảng với cấu trúc được cho như ở cơ sở dữ liệu mẫu dưới đây:
Bảng THÍ SINH được niêm yết cho tất cả các thí sinh biết. Bảng ĐÁNH PHÁCH là bí mật chỉ có người đánh phách là Chủ tịch Hội đồng thi giữ. Bảng ĐIỂM THI có các giáo viên trong Hội đồng chấm thi biết. Có thể liên kết ba bảng trên để có được bảng kết quả kì thi dưới đây.
Hoạt động 1: 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 đó.
Hướng dẫn giải
- Bảng THÍ SINH: SBD làm khóa chính. Vì SBD của các thí sinh yêu cầu phải khác nhau
- Bảng ĐÁNH PHÁCH: SBD hoặc Phach đều thỏa mãn có thể làm 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 có hai điểm).
Hoạt động 2: Em hãy chỉ ra các mối liên kết cần thiết giữa ba bảng để có được kết quả thi thông báo cho thí sinh.
Hướng dẫn giải
- 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.
Hoạt động 3: Hãy dùng hệ quản trị CSDL Access để làm các việc sau:
a) Tạo lập cơ sở dữ liệu nói trên: gồm ba 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, đưa dữ liệu giả định (khoảng trên 10 thí sinh);
b) Đưa ra kết quả thi để thông báo cho thí sinh;
c) Đưa ra kết quả thi theo trường;
d) Đưa ra kết quả thi của toàn tỉnh theo thứ tự giảm dần của điểm thi.
Hướng dẫn giải
a) Tạo lập cơ sở dữ liệu 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 và 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ả:
2. Luyện tập
Câu 1: Hai bảng trong một CSDL quan hệ liên kết với nhau thông qua:
A. Địa chỉ của các bảng
B. Thuộc tính khóa
C. Tên trường
D. Thuộc tính của các trường được chọn (không nhất thiết phải là khóa)
Câu 2: Giả sử một bảng có 2 trường SOBH (số bảo hiểm) và HOTEN (họ tên) thì nên chọn trường SOBH làm khoá chính hơn vì:
A. Trường SOBH là duy nhất, trong khi đó trường HOTEN không phải là duy nhất
B. Trường SOBH là kiểu số, trong khi đó trường HOTEN không phải là kiểu số
C. Trường SOBH đứng trước trường HOTEN
D. Trường SOBH là trường ngắn hơn
Câu 3: Danh sách của mỗi phòng thi gồm có các trường : STT, Họ tên học sinh, Số báo danh, phòng thi. Ta chọn khoá chính là:
A. STT
B. Số báo danh
C. Phòng thi
D. Họ tên học sinh
Câu 4: Giả sử một bảng có 2 trường SOBH (số bảo hiểm) và HOTEN (họ tên) thì nên chọn trường SOBH làm khoá chính hơn vì:
A. Trường SOBH là duy nhất, trong khi đó trường HOTEN không phải là duy nhất
B. Trường SOBH là kiểu số, trong khi đó trường HOTEN không phải là kiểu số
C. Trường SOBH đứng trước trường HOTEN
D. Trường SOBH là trường ngắn hơn
Câu 5: Trong bảng sau đây, mỗi học sinh chỉ có mộ mã số (Mahs):
Khoá chính của bảng là:
A. Khoá chính = {Mahs}
B. Khoá chính = {HoTen, Ngaysinh, Lop, Diachi, Toan}
C. Khoá chính = {HoTen, Ngaysinh, Lop, Diachi, Li}
D. Khoá chính = {HoTen, Ngaysinh, Lop, Diachi}
3. Kết luận
Qua bài học này, các em cần đạt được những yêu cầu sau:
- Nắm vững các thao tác tạo bảng, chọn khóa chính.
- 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í.
Tham khảo thêm
- doc Tin học 12 Bài 10: Cơ sở dữ liệu quan hệ
- doc Tin học 12 Bài 11: Các thao tác với cơ sở dữ liệu quan hệ