mysql数据库结构

1qczuiv0  于 2021-06-19  发布在  Mysql
关注(0)|答案(1)|浏览(288)

我的应用程序将允许用户喜欢或不喜欢的产品,并留下一个简短的反馈。我要做一个功能,将显示图表,并根据不同的时间框架产生报告,可能是每年,每月,每周和每天的基础。
我必须通过图表显示在特定时间段有多少用户喜欢或不喜欢该产品,并生成报告。因此,我的应用程序应该能够生成特定产品2018年8月的日图表或2018年的月图表。图表应该能够显示每天有多少用户喜欢或不喜欢的产品,如果它是每日图表,类似地,它可能是每周,每月或每年的时间框架
我不确定这种应用程序的数据库结构应该是什么?这是我到目前为止的想法。

products: id, name, descp...etc // products table

users: id, name, email ...etc // users table

user_reactions: id, user_id(foreign key), product_id(foreign key), action(liked or disliked, tinyint), feedback // user_reactions table

data: id, product_id(foreign key), date(Y-m-d), total_like, total_dislike. // data table, will be used to make graph and report

什么,我在想,我会在每天23:59:59运行一个cron作业来计算每个产品的喜欢和不喜欢,并将数据添加到最后一个表中,即。 data 然后将使用此 data 制作图表和报表的表格。我不确定这个数据库结构是否正确,或者它有一些看不见的问题(可能在将来?)
注意:我的申请将在 PHP 以及 MySQL

xnifntxz

xnifntxz1#

嗯,你的问题没有正确答案。因为对你问题的回答叫做基于观点的回答。你和我肯定会得到足够的反对票。但是,听我说,我的朋友,因为我曾经在你的国家。
这是著名教授唐纳德·克努斯先生的一句话
过早的优化是万恶之源
我们应该忘记小效率,比如说97%的时间:过早的优化是万恶之源。然而,我们不应在这关键的3%中放弃我们的机会。
我们的想法是,你必须开始建设。随着应用程序的发展,您将面临麻烦,您的数据库将面临问题,您的系统可能无法扩展或无法处理一百万个请求。但在你解决这个问题之前,你不必担心。
我并不是说你应该盲目地用无限循环构建一个系统,或者创建一个可能导致死锁的表连接。我希望你明白我的意思。
用你的知识和理解建立一个系统。因为没有人能直接解决问题。建立一个功能->你遇到一个问题->调整你的应用->冲洗和重复。总有一天,你自己的经历会给你指明正确的道路。
从你所描述的情况来看,我不知道它到底是怎么出来的,但我相信它能满足你最初的生活。随着您的进步,您可能会发现很难添加新功能或添加其他约束,但这是另一天。等着问另一个问题。
我希望我已经回答了你的问题。

相关问题