2012-07-01 21 views
6

Giả sử tôi có một dấu thời gian giữ cơ sở dữ liệu. Đối với mỗi thuộc tính dấu thời gian, tôi có thể thêm thuộc tính độ chính xác, nêu rõ khoảng tin cậy, vì vậy thông tin được lưu trữ có thể là, ví dụ: "ngày 1 tháng 7 năm 2012 12:13, +/- 3 tháng".Tôi nên mô hình hóa độ chính xác/độ tin cậy của dữ liệu trong cơ sở dữ liệu như thế nào?

Nhưng nhìn chung, độ chính xác/độ tin cậy ghi không đơn giản như vậy. Cơ sở dữ liệu phả hệ có thể cần phải ghi lại thực tế rằng một người có thể là cha của người khác.

Vì vậy, có nguyên tắc chung hoặc thực tiễn tốt nhất nào về lưu trữ thông tin với các mức độ chính xác/tin cậy khác nhau không?

Trả lời

4

Với ví dụ về cha của bạn thật dễ dàng; không thể tin tưởng hơn 100% rằng ai đó là cha của người khác; nói chung không thể tự tin hơn 100% mọi thứ! Điều này lần lượt ngụ ý rằng đối với tất cả mọi thứ bạn chỉ có thể lưu trữ mức độ tin cậy phần trăm của bất kỳ thuộc tính dữ liệu nào.

Tuy nhiên, bạn có thể không muốn lưu trữ mức độ tin cậy dưới dạng phần trăm; nó phụ thuộc vào chính thuộc tính dữ liệu và nghĩa là dữ liệu. Ví dụ:

Ví dụ: nếu bạn muốn lưu trữ chuỗi cụ thể "chính xác" khi so sánh với chuỗi khác, bạn có thể muốn lưu trữ Levenshtein distance thay thế. Trong ví dụ về dấu thời gian của bạn, cá nhân sẽ lưu trữ các giá trị tối thiểu và tối đa, mặc dù bạn cũng có thể lưu trữ số tháng mà bạn sẽ cộng hoặc trừ; hoặc sẽ nhanh chóng tính toán lựa chọn từ cơ sở dữ liệu.

Điều tôi đang cố gắng viết là câu trả lời cho câu hỏi của bạn không phụ thuộc vào cơ sở dữ liệu nhưng trên số dữ liệu trong đó và nhu cầu của người dùng, doanh nghiệp, v.v. dữ liệu mỗi thuộc tính hoặc cột riêng lẻ cần một giải pháp riêng lẻ; không thể có một giải pháp "chung chung".

Các vấn đề liên quan