Chào mừng quý vị đến với website của ...
Quý vị chưa đăng nhập hoặc chưa đăng ký làm thành viên, vì vậy chưa thể tải được các tài liệu của Thư viện về máy tính của mình.
Nếu chưa đăng ký, hãy nhấn vào chữ ĐK thành viên ở phía bên trái, hoặc xem phim hướng dẫn tại đây
Nếu đã đăng ký rồi, quý vị có thể đăng nhập ở ngay phía bên trái.
Nếu chưa đăng ký, hãy nhấn vào chữ ĐK thành viên ở phía bên trái, hoặc xem phim hướng dẫn tại đây
Nếu đã đăng ký rồi, quý vị có thể đăng nhập ở ngay phía bên trái.
Chủ đề F. Bài 3. Quan hệ giữa các bảng và khoá ngoài trong cơ sở dữ liệu quan hệ
(Tài liệu chưa được thẩm định)
Nguồn: Bạch Kim
Người gửi: Ngô Văn Chinh (trang riêng)
Ngày gửi: 16h:00' 07-11-2023
Dung lượng: 1.6 MB
Số lượt tải: 0
Nguồn: Bạch Kim
Người gửi: Ngô Văn Chinh (trang riêng)
Ngày gửi: 16h:00' 07-11-2023
Dung lượng: 1.6 MB
Số lượt tải: 0
Số lượt thích:
0 người
Bài 3. Quan hệ giữa các bảng và khoá ngoài trong cơ sở dữ liệu quan hệ
Trang bìa
Trang bìa
Ảnh
Bài 3. Quan hệ giữa các bảng và khoá ngoài trong cơ sở dữ liệu quan hệ
MỤC TIÊU
Mục tiêu
Ảnh
Hình vẽ
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 hoa. Giải thích được ràng buộc khoa 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 khoa ngoài.
KHỞI ĐỘNG
Khởi động
Ảnh
Ảnh
Để quản lí sách, người đọc và việc mượn trả sách của một thư viện (TV) trường học, bạn Anh Thư dự định chỉ dùng một bảng như mẫu ở Hình 1. Theo em, trong trường hợp cụ thể này, việc đưa tất cả dữ liệu cần quản lí vào trong một bảng như Anh Thư thực hiện có ưu điểm và nhược điểm gì?
Gợi ý
Ảnh
Gợi ý: Xét một số trường hợp sau: 1) Một học sinh mượn sách nhiều lần, mỗi lần mượn nhiều quyển sách. 2) Cần bổ sung dữ liệu về số sách mới mua của thư viện.
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
Ảnh
Hình vẽ
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.
1. Tính dư thừa dữ liệu
b) CSDL cần được thiết kế để tránh dư thừa dữ liệu
Ảnh
- 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. - 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.
b) CSDL cần được thiết kế để tránh dư thừa dữ liệu
Ví dụ
Ảnh
Ở 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).
Hình 2
Ảnh
2. Liên kết giữa các bảng và khoá ngoài
Định nghĩa
Ảnh
Hình vẽ
Khoá ngoài của một bảng: một trường (hay một số trường) của bảng này và đồng thời là khoá của một bảng khác.
Ảnh
Liên kết
Ảnh
- Để 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
Hoạt động
Ảnh
Hình vẽ
Hãy xét tình huống sau đây: CSDL Thư viện có bảng MƯỢN-TRẢ liên kết với bảng NGƯỜI ĐỌC qua khoá ngoài Số thẻ TV. Hiện tại, bảng NGƯỜI ĐỌC có bốn bản ghi (ghi nhận dữ liệu về bốn học sinh đã làm thẻ thư viện). Người thủ thư đang muốn thêm một bản ghi cho bảng MƯỢN-TRẢ (Hình 3). Theo em, cập nhật đó có hợp lí không? Giải thích vì sao?
Ảnh
Ảnh
a) Ràng buộc khoá ngoài
Ảnh
- 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.
a) Ràng buộc khoá ngoài
b) Khai báo liên kết giữa các bảng
Ảnh
- 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).
Ảnh
4. Thực hành về bảng với khóa ngoài
Yêu cầu
Ảnh
Hình vẽ
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
Ảnh
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ổ the TV làm khoá chính cho bảng NGƯỜI ĐỌC, chọn khoa chỉnh của bảng MƯỢN-TRẢ gồm ba thuộc tính: Sổ thẻ TV, Mã sách và Ngày mượn.
Hướng dẫn thực hiện
Ảnh
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, chon 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 khoá 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 khoá 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 bàng 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.
Củng cố bài học
Củng cố bài học
Ảnh
CSDL quan hệ có thể gồm một số bảng, trong đó có những bảng có mối liên kết với nhau. Những liên kết này giúp tìm được những thông tin đúng đắn và đầy đủ. Nếu hai bảng có chung một trường và trường này là khoá của một trong hai bảng thị trường đó là khoá ngoài của bảng còn lại. Hai bảng có thể liên kết với nhau thông qua khoá ngoài. Dữ liệu trong hai bảng liên kết với nhau qua khoá ngoài cần phải thoả mãn ràng buộc khoá ngoài. Mọi giá trị khoá ngoài đều phải xuất hiện trong trường khoá ở bảng được tham chiếu. Mọi hệ quản trị CSDL quan hệ đều có cơ chế đảm bảo cập nhật dữ liệu không vi phạm rằng buộc khoả ngoài đối với các liên kết giữa các bảng.
Vận dụng
Bài tập
Ảnh
Hình vẽ
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.
Ảnh
Gợi ý
Ảnh
Ta nên tạo liên kết trước vì tạo liên kết được tạo giữa các bảng cho phép tổng hợp dữ liệu từ nhiều bảng. Ngoài ra việc liên kết được tạo giữa các bảng sẽ giúp Microsoft Access: Quản lý dữ liệu được hợp lý hơn; Bảo vệ các ràng buộc toàn vẹn của dữ liệu; Cho phép tổng hợp dữ liệu từ nhiều bảng; thực hiện cập nhập nội dung CSDL dễ dàng hơn,…
Mục 3
Ảnh
Trang bìa
Trang bìa
Ảnh
Bài 3. Quan hệ giữa các bảng và khoá ngoài trong cơ sở dữ liệu quan hệ
MỤC TIÊU
Mục tiêu
Ảnh
Hình vẽ
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 hoa. Giải thích được ràng buộc khoa 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 khoa ngoài.
KHỞI ĐỘNG
Khởi động
Ảnh
Ảnh
Để quản lí sách, người đọc và việc mượn trả sách của một thư viện (TV) trường học, bạn Anh Thư dự định chỉ dùng một bảng như mẫu ở Hình 1. Theo em, trong trường hợp cụ thể này, việc đưa tất cả dữ liệu cần quản lí vào trong một bảng như Anh Thư thực hiện có ưu điểm và nhược điểm gì?
Gợi ý
Ảnh
Gợi ý: Xét một số trường hợp sau: 1) Một học sinh mượn sách nhiều lần, mỗi lần mượn nhiều quyển sách. 2) Cần bổ sung dữ liệu về số sách mới mua của thư viện.
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
Ảnh
Hình vẽ
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.
1. Tính dư thừa dữ liệu
b) CSDL cần được thiết kế để tránh dư thừa dữ liệu
Ảnh
- 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. - 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.
b) CSDL cần được thiết kế để tránh dư thừa dữ liệu
Ví dụ
Ảnh
Ở 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).
Hình 2
Ảnh
2. Liên kết giữa các bảng và khoá ngoài
Định nghĩa
Ảnh
Hình vẽ
Khoá ngoài của một bảng: một trường (hay một số trường) của bảng này và đồng thời là khoá của một bảng khác.
Ảnh
Liên kết
Ảnh
- Để 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
Hoạt động
Ảnh
Hình vẽ
Hãy xét tình huống sau đây: CSDL Thư viện có bảng MƯỢN-TRẢ liên kết với bảng NGƯỜI ĐỌC qua khoá ngoài Số thẻ TV. Hiện tại, bảng NGƯỜI ĐỌC có bốn bản ghi (ghi nhận dữ liệu về bốn học sinh đã làm thẻ thư viện). Người thủ thư đang muốn thêm một bản ghi cho bảng MƯỢN-TRẢ (Hình 3). Theo em, cập nhật đó có hợp lí không? Giải thích vì sao?
Ảnh
Ảnh
a) Ràng buộc khoá ngoài
Ảnh
- 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.
a) Ràng buộc khoá ngoài
b) Khai báo liên kết giữa các bảng
Ảnh
- 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).
Ảnh
4. Thực hành về bảng với khóa ngoài
Yêu cầu
Ảnh
Hình vẽ
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
Ảnh
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ổ the TV làm khoá chính cho bảng NGƯỜI ĐỌC, chọn khoa chỉnh của bảng MƯỢN-TRẢ gồm ba thuộc tính: Sổ thẻ TV, Mã sách và Ngày mượn.
Hướng dẫn thực hiện
Ảnh
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, chon 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 khoá 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 khoá 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 bàng 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.
Củng cố bài học
Củng cố bài học
Ảnh
CSDL quan hệ có thể gồm một số bảng, trong đó có những bảng có mối liên kết với nhau. Những liên kết này giúp tìm được những thông tin đúng đắn và đầy đủ. Nếu hai bảng có chung một trường và trường này là khoá của một trong hai bảng thị trường đó là khoá ngoài của bảng còn lại. Hai bảng có thể liên kết với nhau thông qua khoá ngoài. Dữ liệu trong hai bảng liên kết với nhau qua khoá ngoài cần phải thoả mãn ràng buộc khoá ngoài. Mọi giá trị khoá ngoài đều phải xuất hiện trong trường khoá ở bảng được tham chiếu. Mọi hệ quản trị CSDL quan hệ đều có cơ chế đảm bảo cập nhật dữ liệu không vi phạm rằng buộc khoả ngoài đối với các liên kết giữa các bảng.
Vận dụng
Bài tập
Ảnh
Hình vẽ
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.
Ảnh
Gợi ý
Ảnh
Ta nên tạo liên kết trước vì tạo liên kết được tạo giữa các bảng cho phép tổng hợp dữ liệu từ nhiều bảng. Ngoài ra việc liên kết được tạo giữa các bảng sẽ giúp Microsoft Access: Quản lý dữ liệu được hợp lý hơn; Bảo vệ các ràng buộc toàn vẹn của dữ liệu; Cho phép tổng hợp dữ liệu từ nhiều bảng; thực hiện cập nhập nội dung CSDL dễ dàng hơn,…
Mục 3
Ảnh
 
↓ CHÚ Ý: Bài giảng này được nén lại dưới dạng ZIP và có thể chứa nhiều file. Hệ thống chỉ hiển thị 1 file trong số đó, đề nghị các thầy cô KIỂM TRA KỸ TRƯỚC KHI NHẬN XÉT ↓
Các ý kiến mới nhất