【问题标题】:Database schema/design for storing metrics用于存储指标的数据库架构/设计
【发布时间】:2013-01-31 02:29:27
【问题描述】:

为了澄清,我不想将指标存储在数据库本身 - 相反,我想构建一个数据库来存储来自我们在我的组织中测量的各种控制的指标,以便于报告。一点背景知识:作为经理,我从各种应用程序中提取指标——我们的两个票务系统(是的,我知道)、我们的电话系统、来自我们的事件管理软件(即 Nagios)的警报等。我每周报告这些基础并保存一个带有历史数据的 Excel 电子表格。电子表格非常非常大而且不灵活。

我对编写 Web 应用程序并不陌生,但我还是数据库设计领域的新手。我想用一些很棒的人力车 javascript 图表来编写一个应用程序,以获得一些很棒的历史数据(并用疯狂的颜色和交互性让高级管理团队惊叹不已)。

我从哪里开始使用数据库?我可以为所有指标创建一个表,但是如何将它们索引到各种类型中(例如,电话指标有放弃率、呼入呼叫总数、呼出呼叫总数、通话总时间、平均通话时间、平均保持时间、最大值保持时间等)。那是一张杂乱无章的桌子。

我可以为每种类型(电话、票证、活动等)创建一个表,但这似乎很难在以后添加指标。

我希望这里的人有一些经验,可以给我一些关于我应该前进的方向的指示。

PS:它需要是 SQLite 或 MySQL,只是由于我目前可用的资源。

【问题讨论】:

    标签: mysql database-design project-management relational-database metrics


    【解决方案1】:

    这样一个系统的MySQL设计可以考虑以下几点:

    1. 每种类型的指标组的表,例如票证系统的实体可以是单个票证
    2. 如果工单连接到单个用户,您可以在前一个工单表中包含用户名,否则为了保持灵活性,我会说为每个连接的元素创建一个表,例如工单分配给员工并且有多个电话呼叫关联到所以你需要电话表和员工表。
    3. 为了映射多个项目,请创建映射表,例如员工票和工单电话,以将员工与多个工单和工单与多个呼叫相关联

    一旦你定义了这些实体,你就可以在 mySQL phpmyadmin 上创建可以工作的表。

    对于事物的图表方面,使用 D3.js,只需输出 json 并使用 javascript 或 json2 将其绑定到您的图表等。

    【讨论】:

    • 所以当我想添加一个新指标时,我正在创建一个包含所有新关系表的新表?这似乎工作太多,但也许这是最好的?
    • 如果您每周左右添加新的指标,那么工作量很大,但如果您可以想象一组指标,您可以从展示技能开始,然后再添加。使用 Yii 中的 Scaffolding 或 PHPScaffold 生成重复代码。例如,使用网格来显示表格的所有列,并在折线图中按一列绘制它,并且可以使用两个变量来创建日期时间。然后生成任意数量的图表。您将拥有更多的控制权和灵活性,并且随着时间的推移它将成为一个完整的解决方案。
    猜你喜欢
    • 1970-01-01
    • 2017-01-18
    • 1970-01-01
    • 2020-09-20
    • 1970-01-01
    • 2014-01-13
    • 2012-12-20
    • 1970-01-01
    相关资源
    最近更新 更多