Đầu tiên, tôi nghĩ có lẽ câu hỏi này thuộc về trao đổi cơ sở dữ liệu, nhưng tôi nghĩ nó liên quan rộng rãi đến một giải pháp lập trình nói chung hơn là cơ sở dữ liệu. Sẽ chuyển sang trao đổi cơ sở dữ liệu nếu mọi người nghĩ rằng đó là tốt nhất.
Tôi đã tự hỏi khi một bảng cơ sở dữ liệu nên có dấu thời gian được tạo và cập nhật?
Câu trả lời rõ ràng đầu tiên là nếu bất kỳ logic kinh doanh nào cần biết khi nào một cái gì đó được cập nhật (như ngày hoàn thành giao dịch, v.v.) thì nó phải đi vào.
Nhưng những gì về trường hợp logic kinh doanh không? Ví dụ: tôi có thể nghĩ về các kịch bản trong đó sẽ rất hữu ích khi biết ngày giờ các hàng thay đổi để giúp tìm lỗi, ví dụ như một số logic nghiệp vụ đang thất bại và nhìn vào các hàng cơ sở dữ liệu liên quan có thể xác định rằng một hàng đang được cập nhật trước đó một hàng khác gây ra lỗi.
Với trường hợp sử dụng này, sẽ rất hợp lý khi cung cấp cho mỗi bảng một bản cập nhật và tạo dấu thời gian (ngoại trừ các bảng enum tầm thường nhất sẽ không được cập nhật bởi bất kỳ phần nào của ứng dụng).
Đưa cho mỗi bảng một dấu thời gian chắc chắn là một cách tuyệt vời để nhanh chóng phá hỏng cơ sở dữ liệu (mặc dù có thể sai).
Vì vậy, khi nào một bảng cơ sở dữ liệu nên sử dụng tạo và cập nhật dấu thời gian?