Kho tàng tài liệu học tập phong phú.

Tin học 12 Bài tập và thực hành 10: Hệ cơ sở dữ liệu quan hệ

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;
  • 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í.

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

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.

Bảng KẾT QUẢ THI

STT SBD Họ tên thí sinh Ngày sinh Trường Điểm

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

….

10

8

6

9

Bảng 4. Bảng KẾT QUẢ THI

Bài 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 đó.

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).
    • Tối thiểu thuộc tính. 

Bài 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.

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_SINHDANH_PHACHliê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_PHACHDIEM 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.