BAHUB.VN
Glossary

Data Dictionary

Data AnalysisTừ điển dữ liệu

Bảng liệt kê từng trường dữ liệu của hệ thống: tên, kiểu, độ dài, bắt buộc hay không, giá trị hợp lệ và ý nghĩa nghiệp vụ. Tài liệu ít hào nhoáng nhưng được mở ra nhiều nhất.

Định nghĩa

Dev hỏi trường mã khách tối đa bao nhiêu ký tự. QC hỏi trạng thái đơn hàng có mấy giá trị. Đội tích hợp hỏi ngày sinh lưu kiểu gì. Ba câu hỏi này sẽ được hỏi lại mỗi tháng cho tới hết dự án, trừ khi có một chỗ ghi sẵn câu trả lời. Chỗ đó là data dictionary.

Từ điển dữ liệu mô tả từng trường: nó là gì, kiểu gì, dài bao nhiêu, nhận giá trị nào, và ai đó dựa vào nó để làm gì.

Một dòng gồm những cột gì

CộtNội dungVí dụ
Tên trườngTên kỹ thuật trong hệ thốngcustomer_code
Tên nghiệp vụCách người dùng gọiMã khách hàng
Kiểu và độ dàiKiểu dữ liệu, giới hạnChuỗi, 20 ký tự
Bắt buộcCó hay không, điều kiện nàoBắt buộc
Giá trị hợp lệDanh sách hoặc quy tắcChữ hoa và số, bắt đầu bằng KH
Mặc địnhGiá trị khi để trốngKhông có
Nguồn dữ liệuNgười nhập hay hệ thống sinhHệ thống sinh tự động
Ghi chú nghiệp vụQuy tắc riêng, ngoại lệKhông được sửa sau khi phát sinh giao dịch đầu tiên

Với các trường trạng thái, liệt kê đủ giá trị kèm ý nghĩa. Một dòng ghi status: varchar(20) là vô dụng; ghi rõ draft / confirmed / shipped / cancelled cùng điều kiện chuyển trạng thái thì QC viết được test case ngay.

Khác gì ERD và business glossary

Data dictionaryERDBusiness glossary
Trả lờiTừng trường trông ra saoCác bảng liên hệ với nhau thế nàoThuật ngữ nghiệp vụ nghĩa là gì
Mức chi tiếtTrườngThực thể và quan hệKhái niệm
Người dùng chínhDev, QC, đội tích hợpDev, kiến trúc sưNghiệp vụ, ban lãnh đạo
Ví dụ một mụcdue_date, kiểu ngày, bắt buộcHoá đơn thuộc về một khách hàngKhách hàng đang hoạt động nghĩa là có giao dịch trong 12 tháng

Không cái nào thay được cái nào. ERD để nhìn tổng thể, data dictionary để tra chi tiết. Còn business glossary là thứ chấm dứt cuộc cãi doanh thu tính trước hay sau chiết khấu — cuộc cãi đó chưa bao giờ nằm ở tầng kỹ thuật.

Ví dụ thực tế

Trong một dự án cho vay tiêu dùng, trường approved_date được đội back-end hiểu là ngày hệ thống tự động chấm điểm xong, còn phía nghiệp vụ hiểu là ngày chuyên viên thẩm định bấm duyệt. Hai mốc này cách nhau trung bình một ngày rưỡi. Báo cáo thời gian xử lý hồ sơ vì thế đẹp hơn thực tế, và chuyện chỉ vỡ ra ở tháng thứ tư khi phòng vận hành so với sổ tay của mình.

Sửa mất hai dòng trong data dictionary và một lần đổi tên trường thành system_scored_date với officer_approved_date. Nhưng phải làm lại toàn bộ báo cáo lịch sử của bốn tháng.

Mẹo khi đi làm

  • Viết trong lúc phân tích, đừng để tới lúc bàn giao. Từ điển dữ liệu viết sau khi hệ thống chạy chỉ là bản chép lại cấu trúc bảng và mất hết phần ý nghĩa nghiệp vụ.
  • Đặt cạnh tài liệu chức năng và liên kết qua lại. Trên Confluence, một bảng có thể nhúng vào nhiều trang.
  • Ghi ngày cập nhật và người cập nhật cho từng thay đổi lớn. Đội tích hợp bên ngoài sẽ hỏi bản nào mới nhất.
  • Đừng liệt kê mọi bảng kỹ thuật kiểu log hay bảng tạm. Chỉ mô tả những gì có ý nghĩa nghiệp vụ. Nhét cả bảng log vào thì tài liệu phồng lên gấp đôi, và phần đáng giá bị chôn ở giữa.
  • Khi bàn giao cho đội vận hành, in ra vài trang quan trọng nhất. Nghe cổ lỗ, nhưng 2h sáng mạng nội bộ sập thì tờ giấy là thứ duy nhất còn tra được.