Câu hỏi: Để 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 ra tất cả dữ liệu cần quản lí vào trong 1 bảng như Anh Thư thực hiện có ưu điểm và nhược điểm gì?
Số thẻ TV | Họ và tên | Ngày sinh | Lớp | Mã Sách | Tên Sách | Số trang | Tác giả | Ngày mượn | Ngày trả |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
Gợi ý: Xét 1 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
Hướng dẫn trả lời:
Theo em, việc đưa tất cả cá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: Dữ liệu ngắn gọn, nhược điểm: Khi quản lí thì cần nhiều hơn một bảng dữ liệu, nếu dùng một bảng có thể dẫn đến dư thừa dữ liệu, dẫn đến sai nhầm, dữ liệu không nhất quán.
1. Một học sinh mượn sách nhiều lần: Giả sử học sinh có số thẻ TV ”HS-002” tên “Lê Bình” sinh ngày “02/3/2007” học lớp “11A1” đã có 68 lần mượn sách. Như vây bộ giá trị (“HS-002”, “Lê Bình”, “02/3/2007”, “11A1”) phải xuất hiện 68 lần trên 68 bản ghi của bảng. Việc gõ nhập 68 lần bộ dữ liệu về Lê Bình sẽ dễ xuấ hiện sai nhầm hơn so với 68 lần chỉ số gõ Số thẻ TV của Lê Bình vào bảng.
2. Cần bổ xung dữ liệu về số sách mới mua của thư viện:
Gồm các thông tin của các cuốn sách trong thư viện như: mã sách, tên sách, số trang, tác giả.
Câu 1: 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ảng 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ập đó có hợp lý không? Giải thích vì sao?
Hướng dẫn trả lời:
Câu hỏi: 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 khoá ngoài.
Hướng dẫn trả lời:
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 và 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 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 ghỉ 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âu hỏ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 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 trả lời:
Câu hỏi: Trong các câu sau, những câu nào đúng?
a) Một trường là khoá ngoài của một bảng nếu nó là khoả của bảng đó và đồng thời xuất hiện trong một bảng khác.
b) Khoá ngoài của một bảng là tập hợp một số trường của bảng đó và đồng thời là khoá của một bảng khác.
c) Khi hai bảng có liên kết với nhau qua khoá chính – khoá ngoài, chỉ khi bổ sung bản ghi vào các bảng mới cần thoả mãn ràng buộc khoá ngoài.
d) Các hệ quản trị CSDL quan hệ tự động kiểm tra và chỉ chấp nhận các cập nhật thoả mãn ràng buộc khoá ngoài.
Hướng dẫn trả lời:
Các câu sau đúng:
a) Một trường là khoá ngoài của một bảng nếu nó là khoả của bảng đó và đồng thời xuất hiện trong một bảng khác.
b) Khoá ngoài của một bảng là tập hợp một số trường của bảng đó và đồng thời là khoá của một bảng khác.