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ệ

Tóm tắt lý thuyết Tin học lớp 11 Bài 3: Quan hệ giữa các bảng và khóa ngoài trong cơ sở dữ liệu quan hệ hay, chi tiết sách Cánh diều sẽ giúp học sinh nắm vững kiến thức trọng tâm, ôn luyện để học tốt Tin học 11.

1 4124 lượt xem


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

A. Lý thuyết Quan hệ giữa các bảng và khóa ngoài trong cơ sở dữ liệu quan hệ

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.

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ới ví dụ 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.

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)

B. Bài tập Quan hệ giữa các bảng và khóa ngoài trong cơ sở dữ liệu quan hệ

Đang cập nhật…

Xem thêm các bài lý thuyết Tin học 11 sách Cánh diều hay, chi tiết tại: 

Lý thuyết Bài 4: Các biểu mẫu cho xem và cập nhật dữ liệu

Lý thuyết Bài 5: Truy vấn trong cơ sở dữ liệu quan hệ

Lý thuyết Bài 6: Truy vấn trong cơ sở dữ liệu (tiếp theo)

Lý thuyết Bài 7: Các loại kiến trúc của hệ cơ sở dữ liệu

Lý thuyết Bài 8: Bảo vệ sự an toàn của hệ CSDL và bảo mật thông tin trong CSDL

1 4124 lượt xem


Xem thêm các chương trình khác: