Tin Học KHMT
Ôn tập Tin học THPT › Tin học 11 - Tin học ứng dụng › Bài 4
Tin học 11 - Tin học ứng dụng

Bài 4. Khoá ngoài và liên kết giữa các bảng

Ở các bài trước, em đã tạo được vài bảng riêng lẻ. Bài này em học cách nối các bảng lại với nhau bằng khoá ngoài, để một cơ sở dữ liệu thực sự làm việc như một khối thống nhất.

Chủ đề C · Tổ chức, lưu trữ & tìm kiếm thông tin - đọc khoảng 12 phút · 23 câu luyện tập trong ứng dụng

Tương ứng sách giáo khoa
  • Cánh DiềuTin học 11 (Tin học ứng dụng) - Chủ đề F(ICT) · Bài 3. Liên kết các bảng trong cơ sở dữ liệutr. 139
  • Kết nối tri thứcTin học 11 (Tin học ứng dụng) - Bài 20. Thực hành tạo lập các bảng có khoá ngoàitr. 95
Xem bảng đối chiếu cả bộ →

Bắt đầu bằng một hình dung

Lớp em lập một cuốn sổ theo dõi việc mượn sách ở thư viện lớp. Ban đầu, mỗi lần có bạn mượn sách, thủ thư ghi vào một dòng: họ tên bạn, ngày sinh, tổ, rồi tên sách, tác giả, nhà xuất bản. Cuốn sổ đầy rất nhanh và trông rắc rối.

Bạn Minh mượn sách chăm nhất lớp, tuần nào cũng ba bốn lần. Thế là trong sổ, họ tên, ngày sinh, tổ của Minh bị chép đi chép lại hàng chục lần, y hệt nhau. Một hôm Minh chuyển sang tổ khác, thủ thư phải lật lại toàn bộ cuốn sổ để sửa từng dòng có tên Minh. Sửa sót một dòng là dữ liệu "cãi nhau" ngay: cùng một người mà chỗ ghi tổ 1, chỗ ghi tổ 3.

Cả lớp nghĩ ra cách hay hơn: tách thông tin học sinh ra một cuốn riêng, thông tin sách ra một cuốn riêng, còn cuốn ghi mượn thì chỉ cần ghi "mã của bạn nào" mượn "mã của cuốn sách nào". Đó chính là ý tưởng cốt lõi của bài học hôm nay.

Nội dung bài học

  1. 1) Vì sao không nên nhồi tất cả vào một bảng
  2. 2) Khoá chính nhắc lại nhanh
  3. 3) Khoá ngoài là gì
  4. 4) Liên kết một-nhiều

Tóm tắt lý thuyết cần nhớ

  • Tách dữ liệu thành nhiều bảng để tránh trùng lặp và giữ nhất quán: mỗi thông tin gốc ghi đúng một chỗ.
  • Khoá ngoài là trường ở bảng con tham chiếu tới khoá chính của bảng cha; giá trị của nó phải đã tồn tại bên bảng cha.
  • Liên kết một-nhiều: phía "một" giữ khoá chính, phía "nhiều" giữ khoá ngoài trỏ về.
  • Khoá chính phải duy nhất, còn khoá ngoài được phép lặp lại vì nhiều bản ghi con cùng trỏ về một bản ghi cha.

Thuật ngữ tiếng Anh trong bài

Tiếng AnhĐọc làNghĩa
primary keyPRAI-mơ-ri kikhoá chính
Cột dùng để phân biệt mỗi hàng, không ai trùng ai - như số báo danh riêng của mỗi học sinh.
foreign keyPHO-rìn kikhoá ngoài
Cột dùng để nối bảng này với bảng kia - như số lớp trong bảng học sinh chỉ sang bảng danh sách lớp.
relationalri-LÂY-sần-nồ(CSDL) quan hệ
Kiểu cơ sở dữ liệu chia dữ liệu thành nhiều bảng rồi nối với nhau, nhờ vậy đỡ ghi trùng, dễ quản lí.
relationshipri-LÂY-sần-sípliên kết giữa các bảng
Mối nối được khai báo giữa hai bảng, cho phép ghép dữ liệu của chúng lại khi truy vấn.
one-to-manyoăn-tu-MEN-niliên kết một-nhiều
Dạng liên kết phổ biến nhất: một bản ghi ở bảng cha ứng với nhiều bản ghi ở bảng con, ví dụ một lớp có nhiều học sinh.
redundancyri-ĐĂN-đần-sitrùng lặp dữ liệu
Tình trạng cùng một thông tin bị ghi lại ở nhiều nơi, khiến tốn chỗ và dễ sai lệch khi sửa sót một chỗ.

Câu hỏi trắc nghiệm có đáp án

Mấy câu mẫu để bạn tự kiểm tra ngay. Trong ứng dụng, bài này có đủ 23 câu, chấm điểm tự động và giải thích từng câu sai.

Câu 1 · Nhận biết
Lí do chính khiến ta tách dữ liệu thành nhiều bảng thay vì gộp hết vào một bảng lớn là gì?
  1. Để cơ sở dữ liệu trông có nhiều bảng hơn cho đẹp
  2. Để tránh trùng lặp dữ liệu và giữ cho dữ liệu nhất quán
  3. Để mỗi bảng chỉ được phép có đúng một bản ghi
  4. Để không cần dùng khoá chính nữa
Đáp án: B - Gộp mọi thứ vào một bảng khiến thông tin của cùng một đối tượng lặp lại nhiều dòng, tốn chỗ và dễ sai khi cập nhật. Tách bảng giúp mỗi thông tin ghi một chỗ nên tránh trùng lặp và giữ nhất quán. Phương án A chỉ là hình thức, không phải lí do. C sai vì bảng vẫn chứa nhiều bản ghi. D sai vì tách bảng càng cần khoá chính để tham chiếu.
Câu 2 · Nhận biết
Khoá ngoài là gì?
  1. Một trường trong bảng này tham chiếu tới khoá chính của bảng khác
  2. Một trường luôn có giá trị duy nhất, không lặp lại trong bảng chứa nó
  3. Một bảng phụ dùng để sao lưu dữ liệu của các bảng chính trong CSDL
  4. Một mật khẩu do người quản trị đặt để bảo vệ bảng khỏi bị sửa
Đáp án: A - Khoá ngoài là trường ở một bảng dùng để trỏ tới khoá chính của bảng khác, tạo liên kết giữa hai bảng. Phương án về tính duy nhất mô tả khoá chính, không phải khoá ngoài (khoá ngoài được phép lặp). Hai phương án còn lại (bảng sao lưu, mật khẩu) hoàn toàn không liên quan đến khái niệm khoá ngoài.
Câu 3 · Thông hiểu
Trong hai bảng LOP(MaLop, TenLop) và HOCSINH(MaHS, HoTen, MaLop), trường nào là khoá ngoài và nó trỏ tới đâu?
  1. MaHS trong HOCSINH, trỏ tới TenLop của LOP
  2. TenLop trong LOP, trỏ tới MaHS của HOCSINH
  3. MaLop trong LOP, trỏ tới MaHS của HOCSINH
  4. MaLop trong HOCSINH, trỏ tới MaLop (khoá chính) của LOP
Đáp án: D - HOCSINH là bảng con (phía nhiều), chứa trường MaLop dùng để cho biết mỗi học sinh thuộc lớp nào; nó trỏ tới khoá chính MaLop của bảng LOP nên là khoá ngoài. MaHS là khoá chính của HOCSINH, không phải khoá ngoài. Các phương án còn lại đảo ngược sai vai trò bảng cha - bảng con.
Câu Đúng/Sai (Phần II) · Thông hiểu
Cho biết mỗi phát biểu sau đúng hay sai:
  • a)Tách dữ liệu ra nhiều bảng giúp giảm việc lặp lại thông tin của cùng một đối tượng.Đúng
  • b)Khi gộp tất cả vào một bảng, việc cập nhật một thông tin bị đổi trở nên an toàn hơn.Sai
  • c)Nếu mỗi thông tin gốc chỉ ghi ở một chỗ thì dễ giữ dữ liệu nhất quán hơn.Đúng
  • d)Trùng lặp dữ liệu không bao giờ gây ra mâu thuẫn trong cơ sở dữ liệu.Sai
Vì sao:
  • (a) Đúng - tách bảng để mỗi đối tượng ghi một chỗ, bớt lặp.
  • (b) Sai - gộp một bảng khiến phải sửa nhiều dòng, dễ sót và kém an toàn.
  • (c) Đúng - ghi một chỗ thì cập nhật một lần là đủ, giữ được nhất quán.
  • (d) Sai - trùng lặp chính là nguồn gốc của mâu thuẫn khi sửa sót.

Thử ngay: minh hoạ từng bước

Bấm từng bước để tự xem cơ chế hoạt động, hoặc bấm “Tự chạy” cho nó tiến mỗi giây một lần. Đổi được dữ liệu đầu vào - không cần đăng nhập.

Học trọn bài này trong ứng dụng

Bài giảng đầy đủ, 23 câu luyện tập chấm tự động, thi thử đúng cấu trúc đề tốt nghiệp (24 trắc nghiệm + 4 Đúng/Sai), bài thực hành máy tự chấm và gia sư AI giải thích chỗ sai.

Mở bài 4 trong ứng dụng

Phần học miễn phí, không cần tạo tài khoản.