Bài 3. Quan hệ giữa các bảng và khoá ngoài trong cơ sở dữ liệu quan hệ SBT

Quan hệ giữa các bảng và khoá ngoài trong cơ sở dữ liệu quan hệ SBT Tin học Lớp 11 định hướng tin học ứng dụng trang 23 – Cánh Diều, mời các em tham khảo cùng Bumbii.

Chủ đề F. Giải quyết vấn đề với sự trợ giúp của máy tính. Giới thiệu các hệ cơ sở dữ liệu. Bài 3. Quan hệ giữa các bảng và khoá ngoài trong cơ sở dữ liệu quan hệ.

Câu F17

Trong các câu sau, câu nào SAI:

1) Chỉ cần tránh dữ liệu không đúng đắn, không cần tránh dư thừa dữ liệu.

2) Thay vì đưa tất cả dữ liệu vào một bảng, việc dùng một số bảng có liên kết với nhau là một cách tránh dư thừa dữ liệu

3) Dư thừa dữ liệu làm tốn vùng nhớ để lưu trữ một cách không cần thiết.

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

Đáp án: Phương án 1.

Chỉ cần tránh dữ liệu không đúng đắn, không cần tránh dư thừa dữ liệu.

Câu F18

Cho hai cách tổ chức dữ liệu khác nhau khi xây dựng một CSDL như sau:

Cách thứ nhất: CSDL chỉ gồm một bảng NHÂN VIÊN_CHỨC VỤ.

NHÂN VIÊN_CHỨC VỤ

Mã NVHọ và tênNgày sinhMã CVChức vụPhụ cấp
001Phan Anh03/10/1980GDGiám đốc0.8
002Lê Văn Dũng15/01/1985PDPhó giám đốc0.7
003Hoàng Kim Cúc12/02/1990NVNhân viên0.2
004Trịnh Thị Đông07/12/1980NVNhân viên0.2
005Nguyễn Thị Lan29/11/1987PDPhó giám đốc0.7
006Đoàn Thanh07/07/1982TPTrưởng phòng0.6

Cách thứ hai: CSDL gồm hai bảng NHÂN VIÊN và CHỨC VỤ.

NHÂN VIÊN

Mã NVHọ và tênNgày sinhMã CV
001Phan Anh03/10/1980GD
002Lê Văn Dũng15/01/1985PD
003Hoàng Kim Cúc12/02/1990NV
004Trịnh Thị Đông07/12/1980NV
005Nguyễn Thị Lan29/11/1987PD
006Đoàn Thanh07/07/1982TP

CHỨC VỤ

Mã CVChức vụPhụ cấp
GDGiám đốc0.8
PDPhó giám đốc0.7
NVNhân viên0.2
NVNhân viên0.2
PDPhó giám đốc0.7
TPTrưởng phòng0.6

1) Trong hai cách tổ chức dữ liệu trên, em chọn cách nào? Hãy giải thích lựa chọn của em.

2) Với cách thứ hai:

– Bảng NHÂN VIÊN và bàng CHỨC VỤ liên kết với nhau theo trường nào?

– Bảng nào là bảng tham chiếu và bảng nào là bảng được tham chiếu?

– Khoá của mỗi bảng là gì và khoá ngoài dùng trong liên kết hai bảng là gì?

Đáp án:

1) Cách tổ chức dữ liệu thứ nhất sẽ dư thừa dữ liệu. Ví dụ, mỗi khi thêm một bản ghi nhân viên (hay trưởng phòng) sẽ lặp đi lặp lại các thông tin về chức vụ và phụ cấp. Bởi vậy nên dùng cách thứ hai, trong bảng NHÂN VIÊN chỉ cần ghi mã chức vụ cho mỗi cán bộ, nhân viên.

2) Với cách thứ hai:

– Bảng NHÂN VIÊN và bảng CHỨC VỤ liên kết với nhau dựa trên trường Mã CV (viết tắt của Mã chức vụ).

– Bảng NHÂN VIÊN là bảng tham chiếu và bảng CHỨC VỤ là bảng được tham chiếu.

– Bảng NHÂN VIÊN có khoá là trường Mã NV (viết tắt của Mã nhân viên), bảng CHỨC VỤ có khoá là trường Mã CV. Trường Mã CV là khoá ngoài của bảng NHÂN VIÊN với bảng CHỨC VỤ, trường này thực hiện liên kết giữa hai bảng.

Câu F19

Trong các câu sau, câu nào đúng?

1) Liên kết giữa các bảng để đảm bảo các bảng có liên kết với nhau thuộc cùng một CSDL.

2) Liên kết giữa các bảng để có thông tin tổng hợp từ các bảng.

3) Trường dùng để liên kết hai bảng phải là kiểu số.

4) Trường dùng để liên kết hai bảng phải là khoá ngoài của bảng được tham chiếu và là khoá của bảng tham chiếu.

Đáp án: Phương án 2.

Liên kết giữa các bảng để có thông tin tổng hợp từ các bảng.

Câu F20

Giả sử có một trường học dùng CSDL quản lý điểm học sinh gồm các bảng có cấu trúc như sau:

HỌC SINH

Mã định danhHọ và tênNgày sinhGiới tínhĐịa chỉMã lớp

LỚP

Mã lớpTên lớpGV chủ nhiệm

ĐIỂM TỔNG KẾT

Mã định danhTB ToánTB Ngữ vănTB Tin họcTB Tiếng Anh

1) Hãy chọn khoá cho mỗi bảng.

2) Hãy chỉ ra các khoá ngoài.

3) Hãy chỉ ra các mối liên kết giữa hai bảng, trong liên kết đó bảng nào là bảng tham chiếu và bảng nào là bảng được tham chiếu.

Đáp án: Phương án 2, 3.

Câu F21

Trong các phát biểu dưới đây, những phát biểu nào đúng với khóa ngoài?

1) Một trường xuất hiện trong cả hai bảng, vừa là khóa của bảng này vừa là khóa của bảng kia.

2) Một trường có vai trò liên kết hai bảng, trong mối liên kết đó trường này là khoá ở bảng được tham chiếu.

3) Một tập hợp trường có vai trò là khoá của bảng này và tập hợp trường này cũng xuất hiện trong một bảng khác.

4) Một tập hợp trường có vai trò liên kết hai bảng, trong mối liên kết đó tập hợp trường này là khoá ở bảng tham chiếu.

Đáp án:

1) Bảng HỌC SINH có khoá là Mã định danh; bảng LỚP có khoá là Mã lớp, bảng ĐIỂM TỔNG KẾT có khoá là Mã định danh.

2) Bảng HỌC SINH có khoá ngoài là Mã lớp (đối với bảng LỚP); bảng HỌC SINH có khoá ngoài là Mã định danh (đối với bảng ĐIỂM TỔNG KẾT); bảng ĐIỂM TỔNG KẾT có khoá ngoài là Mã định danh (đối với bảng HỌC SINH).

3) Các mối liên kết:

– Liên kết HỌC SINH – LỚP qua khoá ngoài Mã lớp, bảng HỌC SINH là bảng tham chiếu, bảng LỚP là bảng được tham chiếu.

– Liên kết HỌC SINH – ĐIỂM TỔNG KẾT qua khoá ngoài Mã định danh, bảng HỌC SINH là bảng tham chiếu, bảng ĐIỂM TỔNG KẾT là bảng được tham chiếu (giải thích cho mỗi Mã định danh: học sinh có mã định danh đó có điểm tổng kết của từng môn học ra sao).

– Liên kết ĐIỂM TỔNG KẾT – HỌC SINH qua khoá ngoài Mã định danh, bảng ĐIỂM TỔNG KẾT là bảng tham chiếu, bảng HỌC SINH là bảng được tham chiếu (giải thích cho mỗi Mã định danh: thông tin cá nhân của mỗi học sinh có mã định danh này).

Câu F22

Trong các câu sau, những câu nào đúng về ràng buộc khóa ngoài?

1) Ràng buộc khóa ngoài là yêu cầu mỗi bảng trong CSDL phải có khoá ngoài

2) Ràng buộc khóa ngoài là yêu cầu dữ liệu của hai bảng có liên kết với nhau. phải đảm bảo có tham chiếu đầy đủ theo liên kết này.

3) Nếu hai bảng có liên kết với nhau thì mọi giá trị của khoá trong bảng được tham chiếu phải xuất hiện trong giá trị khoá ngoài ở bảng tham chiếu.

4) Cập nhật vi phạm ràng buộc khóa ngoài tức là vi phạm ràng buộc toàn vẹn của dữ liệu.

Đáp án: Phương án 2, 4.

Những câu sau đúng về ràng buộc khoá ngoài:

2) Ràng buộc khoá ngoài là yêu cầu dữ liệu của hai bảng có liên kết với nhau phải đảm bảo có tham chiếu đầy đủ theo liên kết này.

4) Cập nhật vi phạm ràng buộc khoá ngoài tức là vi phạm ràng buộc toàn vẹn của dữ liệu.

Câu F23

Giả sử có một trường học dùng CSDL quản lý điểm học sinh gồm các bảng có cấu trúc như ở bài F21. Em hãy:

1) Tự điền dữ liệu giả định năm bản ghi cho bảng HỌC SINH, hai bản ghi cho bảng LỚP, ba bản ghi cho bảng ĐIỂM TỔNG KẾT sao cho dữ liệu điền vào không bị vi phạm ràng buộc khóa ngoài

2) Hãy lấy ví dụ các cập nhật vi phạm ràng buộc khóa ngoài như sau:

– Hai cập nhật thêm bản ghi.

– Một cập nhật sửa bản ghi.

– Hai cập nhật xóa bản ghi.

Đáp án:

1) Điền dữ liệu vào bảng LỚP trước, chỉ các giá trị xuất hiện trong trường Mã lớp của bảng LỚP mới được điền vào trường Mã lớp của bảng HỌC SINH; Mã định danh ở bảng ĐIỂM TỔNG KẾT phải được lấy trong trường Mã định danh ở bảng HỌC SINH.

2) Hướng dẫn:

– Có thể thêm một bản ghi cho bảng HỌC SINH mà giá trị Mã lớp không trùng với giá trị nào trong trường Mã lớp của bảng LỚP; tương tự có thể thêm bản ghi cho bảng ĐIỂM TỔNG KẾT với giá trị Mã định danh chưa xuất hiện trong các Mã định danh ở bảng HỌC SINH.

Sửa một bản ghi trong bảng HỌC SINH hoặc một bản ghi trong bảng ĐIỂM TỔNG KẾT để xảy ra trường hợp như thêm bản ghi nói trên.

Chọn một bản ghi trong bảng LỚP có giá trị Mã lớp xuất hiện ở bảng HỌC SINH, xoá bản ghi này sẽ dẫn đến vi phạm ràng buộc khoá ngoài. Tương tự, chọn bản ghi trong bảng HỌC SINH có Mã định danh xuất hiện trong bảng ĐIỂM TỔNG KẾT rồi xoá bản ghi này.

Câu F24

Giả sử một cơ sở kinh doanh dùng CSDL gồm ba bảng có cấu trúc như sau:

KHÁCH HÀNG

Tên trườngMô tảKhóa chính
Mã khách hàngMỗi Mã khách hàng xác định duy nhất một khách hàngKhóa chính
Họ và tênHọ và tên của khách hàng
Địa chỉĐịa chỉ của khách hàng

MẶT HÀNG

Tên trườngMô tảKhóa chính
Mã mặt hàngMỗi Mã mặt hàng xác định duy nhất một mặt hàngKhóa chính
Tên mặt hàngTên của mặt hàng
Đơn giáĐơn giá của mặt hàng (VND)

HÓA ĐƠN

Tên trườngMô tảKhóa chính
Số hiệu đơnMỗi Số hiệu đơn xác định duy nhất một hóa đơn đặt mua hàngKhóa chính
Mã khách hàngMã khách hàng
Mã mặt hàngMã mặt hàng
Số lượngSố lượng hàng đặt mua
Ngày giao hàngNgày giao hàng

1) Hãy chỉ ra các mối liên kết giữa các bảng này, mỗi liên kết đó sử dụng khoá ngoài là gì, đâu là bảng tham chiếu và đâu là bảng được tham chiếu?

2) Giải thích ràng buộc khóa ngoài với những minh hoạ trên CSDL (có thể đưa dữ liệu giả định vào).

Đáp án:

1) Các mối liên kết:

– HOÁ ĐƠN liên kết với KHÁCH HÀNG, khoá ngoài là Mã khách hàng, bảng tham chiếu là bảng HOÁ ĐƠN, bảng được tham chiếu là bảng KHÁCH HÀNG.

– HOÁ ĐƠN liên kết với MẶT HÀNG, khoá ngoài là Mã mặt hàng, bảng tham chiếu là bảng HOÁ ĐƠN, bảng được tham chiếu là bảng MẶT HÀNG.

2) Ví dụ, nếu hiện tại các bảng có dữ liệu như dưới đây:

KHÁCH HÀNG

Mã khách hàngHọ và tênĐịa chỉ
KH1Mai TrangBình Dương
KH2Lê MinhĐồng Nai

MẶT HÀNG

Mã mặt hàngTên mặt hàngĐơn giá
H1Thước kẻ5 000VND
H2Bút bi3 000VND
H3Bút lông10 000VND

HÓA ĐƠN

Số hiệu đơnMã khách hàngMã mặt hàngSố lượngNgày giao hàng
S1KH2H2PD

Việc thêm bản ghi (S2, KH5, H1, 100, “01/10/2022”) vào bảng HÓA ĐƠN sẽ vi phạm ràng buộc khóa ngoài vì không có mã khách hàng “KH5” trong bảng KHÁCH HÀNG

Tương tự, việc thêm (S3, KH3, H10,…,….) vi phạm ràng buộc khoá ngoài vì không có mã mặt hàng nào là “H10” trong bảng MẶT HÀNG.

Xem các bài giải khác tại Giải sách bài tập tin học lớp 11 Tin học ứng dụng – Cánh Diều

Thông tin liên hệ & mạng xã hội:
Website: https://bumbii.com/
Facebook: https://www.facebook.com/bumbiiapp
Pinterest: https://www.pinterest.com/bumbiitech

0 0 đánh giá
Article Rating
Theo dõi
Thông báo của
guest

0 Bình luận
Phản hồi nội tuyến
Xem tất cả bình luận
0
Cùng chia sẻ bình luận của bạn nào!x