Nếu tôi hiểu điều này một cách chính xác, hãy log
là để tự động ghi lại thông tin chi tiết về hành động của người dùng và profile
nắm giữ thông tin chi tiết về người dùng.
Đối với log
, dường như bạn đang cố gắng nắm giữ dữ liệu tóm tắt, dữ liệu đó sẽ cần cập nhật với mỗi lần gửi biểu mẫu. Tôi khuyên bạn chỉ cần chèn một mục nhật ký mới [ví dụ:log_id
, log_date
, profile_id
, amount
] khi đệ trình và để tổng hợp vào báo cáo. Để kích hoạt tham gia từ log
tới profile
, chúng tôi bao gồm profile_id
.
Đối với profile
bảng, bạn có thể nên cho phép các mục nhập trùng lặp của first_name
| last_name
| dob
và thử tìm một cách khác để biến chúng thành duy nhất (bằng cách sử dụng profile_id
, hoặc qua email, hoặc số hộ chiếu).
Tôi không chắc về ý định của bạn đối với rowone
, rowtwo
, rowthree
. Nếu bạn biết chúng là gì, hãy đặt tên chúng một cách rõ ràng; nếu chúng dành cho các mục lặp lại với số lần không xác định, hãy cân nhắc chuyển chúng sang một bảng riêng biệt (tức là chuẩn hóa).
Đối với báo cáo của bạn, sau đó bạn sẽ viết một truy vấn để tham gia vào log
và profile
các bảng với nhau, với sự tổng hợp (tức là GROUP BY
với SUM
và / hoặc COUNT
trên các trường cần thiết. "Lượt truy cập" sẽ là COUNT
trong số các mục nhật ký cho cấu hình đó, "Số tiền" sẽ là SUM
của amount
.