YOMEDIA
NONE

Tin học 11 Cánh Diều Chủ đề F Bài 3: Quan hệ giữa các bảng và khóa ngoài trong cơ sở dữ liệu quan hệ


Hãy cùng khám phá nội dung hấp dẫn của Bài 3: Quan hệ giữa các bảng và khóa ngoài trong cơ sở dữ liệu quan hệ. Bài học này sẽ giúp các em diễn đạt được khái niệm khoá ngoài của một bảng và mối liên kết giữa các bảng, giải thích các khái niệm đó và ràng buộc khoá là gì; biết được các phần mềm quản trị CSDL có cơ chế kiểm soát các cập nhật dữ liệu để đảm bảo ràng buộc khoá ngoài. Tại HOC247, chúng tôi cam kết mang đến cho các em những kiến thức bổ ích và thú vị qua chương trình Tin học ứng dụng. Hy vọng rằng, các em sẽ tích lũy được những kiến thức cần thiết. Chúc các em học thật tốt!

ATNETWORK
YOMEDIA
 

Tóm tắt lý thuyết

1.1. Tính dư thừa dữ liệu

a) Dư thừa dữ liệu có thể dẫn đến dữ liệu không nhất quán khi cập nhật

- Một số người cho rằng nên lưu tất cả dữ liệu vào một bảng, tuy nhiên đa số bài toán quản lí cần dùng nhiều hơn một bảng dữ liệu.

- Nếu chỉ sử dụng một bảng, có thể dẫn đến dư thừa dữ liệu.

- Như ví dụ ở trên, dữ liệu trùng lặp có thể dẫn đến sai nhầm, không nhất quán về dữ liệu. Việc tạo bảng riêng chỉ chứa thông tin người đọc và sử dụng trường Số thẻ TV làm khoá chính là giải pháp tránh dư thừa.

 

b) CSDL cần được thiết kế để tránh dư thừa dữ liệu

- Dư thừa dữ liệu tốn vùng nhớ và có thể làm dữ liệu không nhất quán.

- CSDL quan hệ thiết kế với nhiều bảng chứa dữ liệu riêng về đối tượng và sự kiện.

- Ví dụ, ở một thư viện nhỏ, CSDL có thể gồm 3 bảng (Hình 2):

 + Bảng SÁCH chứa dữ liệu về các quyển sách của thư viện.

 + Bảng NGƯỜI ĐỌC chứa dữ liệu về những người đọc.

 + Bảng MƯỢN-TRẢ chứa dữ liệu về việc mượn trả sách, liên quan đến hai đối tượng (người đọc và sách).

 

Lý thuyết Tin học 11 (Cánh diều) Bài 3: Quan hệ giữa các bảng và khóa ngoài trong cơ sở dữ liệu quan hệ (ảnh 1)

 

- Cách tổ chức CSDL gồm nhiều bảng giúp giảm dữ liệu lặp lại và tránh thông tin dư thừa.

- Việc cập nhật dữ liệu cũng tránh được nhiều rủi ro sai nhầm hơn.

 

1.2. Liên kết giữa các bảng và khoá ngoài

- Để trích xuất thông tin từ CSDL quan hệ, cần ghép nối đúng dữ liệu giữa các bảng với nhau.

- Thuộc tính liên kết hai bảng phải là khoá của bảng được tham chiếu, gọi là khoa ngoài của bảng MƯỢN -TRẢ.

Ví dụ: Xét CSDL Thư viện gồm ba bảng như Hình 2, để trả lời yêu cầu “Cho biết Họ và tên, Lớp của những học sinh đã mượn quyển sách có mã TH-01” cần dữ liệu từ hai bảng (MƯỢN-TRẢ và NGƯỜI ĐỌC) và thông tin được liên kết với nhau thông qua cặp khoá chính - khoá ngoài.

 

1.3. Hệ quản trị CSDL đảm bảo ràng buộc khoá ngoài

 

Lý thuyết Tin học 11 (Cánh diều) Bài 3: Quan hệ giữa các bảng và khóa ngoài trong cơ sở dữ liệu quan hệ (ảnh 1)

 

a) Ràng buộc khoá ngoài

- Khi hai bảng liên kết với nhau, giá trị khoá ngoài ở bảng tham chiếu sẽ được giải thích chi tiết hơn ở bảng được tham chiếu.

- Hiện tượng mất tham chiếu xảy ra khi giá trị khoá ngoài không xuất hiện trong giá trị khoá ở bảng được tham chiếu.

- Nếu muốn cập nhật giá trị khoá ngoài hợp lệ, phải bổ sung bản ghi có giá trị khoá đó vào bảng được tham chiếu trước.

- Đảm bảo tính tham chiếu đầy đủ giữa các bảng có liên kết với nhau là phần của tính toàn vẹn dữ liệu và được gọi là ràng buộc khoá ngoài.

- Ràng buộc khoá ngoài yêu cầu mọi giá trị của khoá ngoài trong bảng tham chiếu phải xuất hiện trong giá trị khoá ở bảng được tham chiếu.

 

b) Khai báo liên kết giữa các bảng

- Các hệ quản trị CSDL cho phép khai báo liên kết giữa các bảng.

- Phần mềm quản trị CSDL kiểm soát thao tác cập nhật dữ liệu dựa trên các liên kết để tránh vi phạm ràng buộc khoá ngoài.

- Hình 4 cho thấy kết quả trực quan của việc khai báo liên kết giữa 3 bảng khi dùng hệ quản trị CSDL Microsoft Access (phiên bản 365).

 

Lý thuyết Tin học 11 (Cánh diều) Bài 3: Quan hệ giữa các bảng và khóa ngoài trong cơ sở dữ liệu quan hệ (ảnh 1)

 

1.4. Thực hành về bảng với khoá ngoài

Yêu cầu:

Khám phá cách khai báo liên kết giữa các bảng trong môi trường Access và nhận biết các cập nhật vi phạm ràng buộc khoa ngoài.

Hướng dẫn thực hiện:

- Bước 1. Mở CSDL Thư viện đã có bảng SÁCH (kết quả mục thực hành ở Bài 2). Tạo cấu trúc như ở Hình 2 cho bảng NGƯỜI ĐỌC và bảng MƯỢN-TRẢ.

 + Chọn Số thẻ TV làm khoá chính cho bảng NGƯỜI ĐỌC, chọn khoá chính của bảng MƯỢN-TRẢ gồm ba thuộc tính: Số thẻ TV, Mã sách Ngày mượn.

- Bước 2. Khám phá cách khai báo liên kết giữa các bảng.

 + Trong dải Database Tools, chọn Relationships.

 + Dùng chuột kéo thả các bảng vào cửa sổ khai báo liên kết (vùng trống ở giữa).

 + Dùng chuột kéo thả khoả ngoài của bảng tham chiếu thả vào khoá chính của bảng được tham chiếu, làm xuất hiện hộp thoại Edit Relationships.

 + Đánh dấu hộp kiểm Enforce Referential Integrity và chọn Create.

- Bước 3. Khám phá báo lỗi của phần mềm quản trị CSDL khi cập nhật vi phạm rằng buộc khoa ngoài.

 + Thêm một vài bản ghi trong đó có bản ghi vi phạm lỗi ràng buộc khoa ngoài (tham khảo Hình 3), quan sát báo lỗi của phần mềm.

 + Chọn xoá một bản ghi trong bang NGƯỜI ĐỌC nếu giá trị Số thẻ TV trong bản ghi này xuất hiện trong bảng MƯỢN-TRẢ, quan sát báo lỗi của phần mềm.

Bài tập minh họa

Trong việc tạo lập CSDL, sau khi tạo xong cấu trúc cho hai bảng mà ta dự kiến có liên kết với nhau bằng khoá ngoài, ta nên khai báo liên kết trước hay nên nhập dữ liệu cho hai bảng trước? Hãy giải thích vì sao?

 

Hướng dẫn giải:

- Trong việc tạo lập CSDL, sau khi tạo xong cấu trúc cho hai bảng mà ta dự kiến có liên kết với nhau bằng khoá ngoài, ta nên nhập dữ liệu cho hai bảng trước.

- Vì phải có dữ liệu cho hai bảng mới liên kết với nhau bằng khoá ngoài được.

3. Luyện tập Bài 3 SGK Tin học 11 Cánh Diều

Học xong bài này, em sẽ:

- Diễn đạt được khái niệm khoá ngoài của một bảng và mối liên kết giữa các bảng. Giải thích được các khái niệm đó qua ví dụ minh hoạ.

- Giải thích được ràng buộc khoá ngoài là gì.

- Biết được các phần mềm quản trị CSDL có cơ chế kiểm soát các cập nhật dữ liệu để đảm bảo ràng buộc khoá ngoài.

3.1. Trắc nghiệm Bài 3 SGK Tin học 11 Cánh Diều

Như vậy là các em đã xem qua bài giảng Bài 3 Chủ đề F Tin học lớp 11 Cánh Diều Tin học ứng dụng. Để củng cố kiến thức bài học mời các em tham gia bài tập trắc nghiệm Trắc nghiệm Tin học 11 Cánh Diều Chủ đề F Bài 3.

Câu 4-10: Mời các em đăng nhập xem tiếp nội dung và thi thử Online để củng cố kiến thức về bài học này nhé!

3.2. Bài tập Bài 3 SGK Tin học 11 Cánh Diều

Các em có thể xem thêm phần hướng dẫn Giải bài tập Tin học 11 Cánh Diều Chủ đề F Bài 3 để giúp các em nắm vững bài học và các phương pháp giải bài tập.

Khởi động trang 57 SGK Tin học 11 Cánh diều - CD

Hoạt động trang 59 SGK Tin học 11 Cánh diều - CD

Thực hành trang 60 SGK Tin học 11 Cánh diều - CD

Vận dụng trang 61 SGK Tin học 11 Cánh diều - CD

Câu hỏi trang 61 SGK Tin học 11 Cánh diều - CD

4. Hỏi đáp Bài 3 SGK Tin học 11 Cánh Diều

Trong quá trình học tập nếu có thắc mắc hay cần trợ giúp gì thì các em hãy comment ở mục Hỏi đáp, Cộng đồng Tin học của HOC247 sẽ hỗ trợ cho các em một cách nhanh chóng!

Chúc các em học tập tốt và luôn đạt thành tích cao trong học tập!

-- Mod Tin Học 11 HỌC247

NONE
AANETWORK
 

 

YOMEDIA
ATNETWORK
ON