Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/62.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Mysql中存储与月份或年份相关的数据_Mysql_Database_Database Design_Storage - Fatal编程技术网

如何在Mysql中存储与月份或年份相关的数据

如何在Mysql中存储与月份或年份相关的数据,mysql,database,database-design,storage,Mysql,Database,Database Design,Storage,我在每个月底收到客户针对特定月份每个KPI的csv文件(例如,收到的简历、加入的候选人、辞职的候选人、销售、利润、亏损等的csv) 我希望能够查询这些数据,以便生成任何月份、日期或年份的报告。此报告将动态生成,即管理员将指定在任何时间段内,他希望在报告中包含哪些行(例如,包含收到的申请、申请入围名单、1月至7月第一次面试后入围的候选人的报告)。 为了生成此类报告,将数据存储到数据库中的最佳方式是什么?我使用Mysql作为我的数据库。 我不确定当前是否需要从表中清除旧数据。因此,考虑到我保持所有数

我在每个月底收到客户针对特定月份每个KPI的csv文件(例如,收到的简历、加入的候选人、辞职的候选人、销售、利润、亏损等的csv)

我希望能够查询这些数据,以便生成任何月份、日期或年份的报告。此报告将动态生成,即管理员将指定在任何时间段内,他希望在报告中包含哪些行(例如,包含收到的申请、申请入围名单、1月至7月第一次面试后入围的候选人的报告)。 为了生成此类报告,将数据存储到数据库中的最佳方式是什么?我使用Mysql作为我的数据库。 我不确定当前是否需要从表中清除旧数据。因此,考虑到我保持所有数据的持久性,什么样的数据库设计最适合这种情况

目前我所做的是为他们的每个KPI建立一个表。此表有一个日期字段,我正在使用该字段生成报告。但我正在寻找一种更优化的方法


提前感谢。

最好将这些值(与月份或年份相关的值)存储在“日期”类型的字段中,这样在生成报告时就不需要任何其他操作。特定时间段的条件或逻辑应在前端处理。在这种情况下,日期字段的使用是优化的方式。

这太广泛了。阅读一本关于数据库规范化的书。如果您确实需要关于数据库设计的建议,请将其缩小到几个表,列出所有列、关于这些列的信息,等等。但最重要的是,先试一试,然后发布你得到的。阅读一本关于数据库规范化的书/教程/任何东西。从一个客户那里,每个KPI可以收到一个文件?KPI只是一个数字。因此,您会收到文件,每个文件都包含一个数字?在本例中,我的意思是KPI不仅仅是一个数字,而是适用于客户的某种度量。例如,收到的申请、公司营业额、销售额、发生的损失、辞职、etcHello@fancyPants,我可能是错的,但我不确定高水平的正常化会对我有多大帮助。因为事实仍然是,即使我的表被规范化了,我每年每个月都会有几个相互独立的度量的记录。我在这里没有函数依赖关系,也没有高度可修改的数据库,因此完整性很脆弱。我只是担心在我的表中有一个日期字段是否是最好的方法,或者是否有更好的方法来存储它以提高读取性能。好吧,好吧,从你的问题中,我感觉你对数据库设计一无所知,只想存储一些CSV。无论如何,重点仍然是,这个问题完全不清楚(至少对我来说)。