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.
- 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
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) Vì sao không nên nhồi tất cả vào một bảng
- 2) Khoá chính nhắc lại nhanh
- 3) Khoá ngoài là gì
- 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 key | PRAI-mơ-ri ki | khoá 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 key | PHO-rìn ki | khoá 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. |
| relational | ri-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í. |
| relationship | ri-LÂY-sần-síp | liê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-many | oăn-tu-MEN-ni | liê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. |
| redundancy | ri-ĐĂN-đần-si | trù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ơ sở dữ liệu trông có nhiều bảng hơn cho đẹp
- Để tránh trùng lặp dữ liệu và giữ cho dữ liệu nhất quán
- Để mỗi bảng chỉ được phép có đúng một bản ghi
- Để không cần dùng khoá chính nữa
- Một trường trong bảng này tham chiếu tới khoá chính của bảng khác
- Một trường luôn có giá trị duy nhất, không lặp lại trong bảng chứa nó
- Một bảng phụ dùng để sao lưu dữ liệu của các bảng chính trong CSDL
- Một mật khẩu do người quản trị đặt để bảo vệ bảng khỏi bị sửa
- MaHS trong HOCSINH, trỏ tới TenLop của LOP
- TenLop trong LOP, trỏ tới MaHS của HOCSINH
- MaLop trong LOP, trỏ tới MaHS của HOCSINH
- MaLop trong HOCSINH, trỏ tới MaLop (khoá chính) của LOP
- 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
- (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.
Phần học miễn phí, không cần tạo tài khoản.
Bài liên quan - Tổ chức, lưu trữ & tìm kiếm thông tin
Cùng mạch kiến thức với bài này, học nối tiếp cho chắc phần lí thuyết.