Dữ liệu có liên quan và có tổ chức
**Cơ sở dữ liệu (CSDL)** là tập hợp dữ liệu có liên quan với nhau, được lưu trữ có tổ chức trên hệ thống máy tính. Với thư viện giả định, dữ liệu về sách và lượt mượn cùng phục vụ việc tra cứu, cho mượn, trả sách. Mỗi sách có mã; mỗi lượt mượn ghi mã sách tương ứng. Các dữ liệu ấy liên hệ được với nhau nên có thể trả lời câu hỏi như “sách nào đang được mượn?”.
Chép nguyên các trang sổ giấy thành nhiều tệp văn bản vẫn chưa tự giải quyết cách nối dữ liệu, kiểm sai hoặc cập nhật. Cần xác định đối tượng, thông tin cần giữ và cách liên hệ chúng trước khi lưu.
Một tên sách ghi hai nơi có thể lệch nhau
Giả sử sách `S07` có tên *Bầu trời giấy*. Bảng **Sách** ghi tên ấy; hai lượt `M01` và `M03` cũng sao lại tên sách. Khi sửa tên ở bảng Sách mà quên sửa ở M03, cùng một mã sách xuất hiện với hai tên khác nhau. Đó là dữ liệu **không nhất quán** do lưu lặp và cập nhật thiếu.
Cách đơn giản là giữ tên trong bảng Sách, còn mỗi lượt mượn giữ **mã sách**. Khi cần hiển thị tên, tra theo mã. Việc **hạn chế trùng lặp không cần thiết** giảm nguy cơ sửa một nơi mà quên nơi khác. Trong hệ thống thật vẫn có trường hợp chủ ý lưu kết quả tính sẵn hoặc bản lịch sử; khi ấy phải có cách giữ các bản khớp nhau.
Bài luyện
Mô tả nào phù hợp với khái niệm CSDL trong SGK?
Một ảnh đơn lẻ chưa cho thấy tập dữ liệu liên quan có tổ chức.
Đó là hai ý chính của khái niệm CSDL.
Phần mở rộng tệp không xác định quan hệ dữ liệu.
Một bảng có thể thuộc CSDL, nhưng định nghĩa không giới hạn như vậy.
Lời giải
SGK định nghĩa CSDL là tập hợp dữ liệu liên quan, được lưu có tổ chức trên hệ thống máy tính. Dữ liệu sách và lượt mượn liên hệ qua mã sách là một ví dụ.
Bài luyện
Sách S07 được ghi tên ở bảng Sách và sao lại trong M01, M03. Khi đổi tên sách chỉ ở bảng Sách, điều gì có thể xảy ra?
Đổi tên không tự xóa mã.
Đổi tên không đồng nghĩa xóa lượt.
M03 vẫn có thể giữ tên cũ.
Không có lượt mượn mới được tạo.
Lời giải
Tên sách lưu ở nhiều nơi. Nếu chỉ sửa một bản, bảng Sách mang tên mới còn M01/M03 có thể giữ tên cũ; cùng mã S07 có các tên không khớp.
Bài luyện
Để hiện tên sách cho lượt M03 mà ít lưu lặp, M03 nên giữ dữ liệu nào nối tới bảng Sách?
Mã sách ổn định cho phép tra tên trong bảng Sách.
Sao mọi thông tin làm tăng nguy cơ lệch bản.
Thứ tự dòng có thể thay đổi.
Tên người đặt kệ không xác định sách.
Lời giải
M03 giữ mã S07. Khi cần tên, dùng S07 để tìm bản ghi trong bảng Sách. Cách này tránh sao cùng tên vào nhiều lượt mượn.
Đang học