Cột có tên làm rõ ý nghĩa dữ liệu
Một bảng Sách có các cột **mã sách, tên sách, số bản**. Mỗi hàng ghi một sách theo cùng cấu trúc. Nhìn vào cột, người đọc biết `2` là số bản chứ không phải mã hay năm xuất bản. Đó là ví dụ **tính cấu trúc**: dữ liệu được tổ chức theo dạng và quy tắc xác định, thuận lợi cho tìm kiếm, cập nhật và kiểm tra.
Danh sách ghi tự do như “S07, Bầu trời giấy, 2” có thể đọc được khi ít dữ liệu, nhưng chương trình phải tự biết từng vị trí mang nghĩa gì. Khi thêm cột hoặc đổi dấu ngăn cách, phần chương trình đọc tệp theo vị trí cũ có thể sai.
Ứng dụng dùng cách truy cập đã quy ước
Giả sử ứng dụng thư viện chỉ hỏi hệ quản lí dữ liệu: “lấy **tên sách** có mã S07”. Khi thay cách sắp xếp dữ liệu **bên trong** mà tên trường và cách truy cập dành cho ứng dụng vẫn giữ, ứng dụng có thể tiếp tục hoạt động. Đó là ý chính của **tính độc lập dữ liệu**: giảm việc phần mềm phải phụ thuộc vào chi tiết lưu trữ.
Ngược lại, nếu ứng dụng tự đọc từng dòng tệp và tách theo dấu phẩy, đổi dấu tách thành dấu chấm phẩy sẽ buộc sửa phần đọc tệp. Tính độc lập không có nghĩa mọi thay đổi đều vô hại: nếu bỏ cột `tên sách` mà ứng dụng đang dùng, ứng dụng vẫn phải được điều chỉnh.
Bài luyện
Bảng Sách có cột “mã sách”, “tên sách”, “số bản”. Điều gì thể hiện tính cấu trúc?
Cột có tên và ý nghĩa giúp tổ chức các bản ghi.
Tên sách là văn bản.
Thứ tự sắp xếp không phải cốt lõi của cấu trúc.
Không biết ý nghĩa cột sẽ khó dùng dữ liệu đúng.
Lời giải
Bảng Sách tổ chức mỗi bản ghi theo cùng các cột có tên: mã, tên và số bản. Nhờ đó giá trị ở từng cột có ý nghĩa rõ.
Bài luyện
Ứng dụng tự tách tệp theo dấu phẩy. Tệp đổi dấu tách thành dấu chấm phẩy. Tác động trực tiếp nào có thể xảy ra?
Đổi dấu trong tệp không đổi tên sách ngoài đời.
Đổi cách biểu diễn không tất yếu xóa dữ liệu.
Mã đọc tệp phụ thuộc trực tiếp vào dấu tách.
Định dạng tệp không tự phân quyền.
Lời giải
Chương trình đã gắn với chi tiết dấu phẩy. Khi tệp chuyển sang dấu chấm phẩy, phần tách dòng cũ không còn đọc đúng; phải sửa nó hoặc dùng lớp truy cập ổn định.
Bài luyện
Kết luận nào đúng về tính độc lập dữ liệu?
Nếu bỏ cột ứng dụng cần, ứng dụng phải đổi.
Tính độc lập vẫn cần dữ liệu được tổ chức.
Đọc trực tiếp chi tiết tệp là ví dụ phụ thuộc.
Đó là phạm vi hợp lí của tính độc lập.
Lời giải
Tính độc lập cho phép đổi một số chi tiết lưu trữ bên trong mà vẫn giữ cách truy cập của ứng dụng. Thay đổi cột hoặc giao diện ứng dụng đang dùng có thể buộc sửa ứng dụng.
Đang học