【问题标题】:How do I store data pertaining to a month or year in Mysql如何在 Mysql 中存储与月份或年份有关的数据
【发布时间】:2017-07-13 08:23:04
【问题描述】:

我在每个月底从我的客户那里收到他们在该特定月份的每个 KPI 的 csv 文件(例如 csv 用于接收的简历、加入的候选人、辞职的候选人、销售、利润、损失等)。

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

目前我所做的是我为他们的每个 KPI 都有一个表格。该表有一个我用来生成报告的日期字段。但我正在寻找更优化的方式。

提前致谢。

【问题讨论】:

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

标签: mysql database database-design storage


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2012-12-07
    • 2012-02-26
    • 2014-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-27
    • 2017-03-04
    • 2023-04-11
    相关资源
    最近更新 更多