Biết chọn khóa cho các bảng dữ liệu trong một bài toán quen thuộc;
Hiểu được khái niệm liên kết giữa các bảng;
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
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
STT
SBD
Họ tên thí sinh
Ngày sinh
Trường
1
2
3
4
…
HA10
HA11
HA12
HA14
…
Đỗ Hà Anh
Lê Như Bình
Trần Thu Cúc
Nguyễn Anh Quân
…
02-01-1990
21-11- 1990
14-05-1899
29-11-1990
…
Lê Hồng Phong
Phan Chu Trinh
Phan Chu Trinh
Lê Hồng Phong
….
Bảng 1. Bảng THÍ SINH
Bảng ĐÁNH PHÁCH
STT
SBD
phách
1
2
3
4
…
HA10
HA11
HA12
HA14
…
S28
S27
S26
S25
…
Bảng 2. Bảng ĐÁNH PHÁCH
Bảng ĐIỂM THI
STT
phách
điểm
1
2
3
4
…
S25
S26
S27
S28
…
9
6
8
10
Bảng 3. Bảng ĐIỂM THI
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.
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 đó.
Gợi ý làm bài:
Bảng THÍ SINH chọn trường SBD làm khóa chính. Vì SBD đạt 2 yếu tố:
Trường SBD là trường khóa vì SBD đặc trưng cho từng bản ghi: dựa vào SBD để phân biệt giữa thí sinh này và thí sinh kia (2 thí sinh bất kì không thể có số báo danh giống nhau).
Tối thiểu thuộc tính.
Bảng ĐÁNH PHÁCH chọn trường SBD hoặc trường Phach làm khóa chính. Vì trường SBD và trường PHÁCH đều thõa mãn điều kiện:
Trường SBD và trường Phach là khóa vì SBD đặc trưng cho từng bản ghi: Dựa vào SBD để phân biệt giữa thí sinh này và thí sinh kia (2 thí sinh bất kì không thể có số báo danh giống nhau); trường Phach cũng đặc trưng cho từng bản ghi (các bản ghi khác nhau có số phách khác nhau).
Cả trường SBD và trường Phach đều tối thiểu thuộc tính.
Bảng ĐIỂM THI chọn trường Phach làm khóa chính.
Trường Phach là trường khóa; vì Phach đặc trưng cho từng bản ghi: hai bảng ghi khác nhau có số phách khác nhau (hai bài thi bất kì không thể có trùng số phách).
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.
Gợi ý làm bà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 qua trường Phach.
Bảng THI_SINH liên kết bắc cầu với bảng DIEM thông qua bảng DANH_PHACH.
Trường STT, SBD, Họ tên thí sinh, Ngày sinh thuộc bảng THI_SINH.
Trường Điểm trong bảng DIEM.
Liên kết giữa bảng THI_SINH và DANH_PHACH là liên kết 1-1. Vì 1 thí sinh chỉ có 1 phách bài thi, nên chỉ duy nhất 1 bản ghi của bản THI_SINH liên kết với 1 bản ghi của bản DANH_PHACH.
Liên kết giữa bảng DANH_PHACH và DIEM là liên kết 1-1. Vì 1 bài thi chỉ có 1 con điểm, nên chỉ duy nhất 1 bản ghi của bản DANH_PHACH liên kết với 1 bản ghi của bản DIEM.
Bài 3
Hãy dùng hệ quản trị CSDL Access để làm các việc sau:
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);
Đưa ra kết quả thi để 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ự giảm dần của điểm thi.
Gợi ý làm bài:
Có 2 cách để tạo mối liên kết:
Cách 1. Vào menu, chọn lệnh Tools.
Cách 2. Click vào biểu tượng Relationship..
Đưa ra kết quả thi và thông báo cho thí sinh, ta chọn đối tượng Queries để tạo (rightarrow) Chọn Create query in Design view.