我正在设计一个包含字段的ROAD_INSPECTION
表:CONDITION
+---------+-----------+
| ROAD_ID | CONDITION |
+---------+-----------+
| 1 | 2 |
| 2 | 5 |
| 3 | 1 |
| 4 | 1 |
| 5 | 4 |
+---------+-----------+
是否有任何标准或惯例建议如何将评级格式化为范围?
例如,CONDITION
评级的最佳格式是什么?
- 0到5,零最好
- 0到5,5最好
- 1到5,一个最好
- 1到5,5最好
经验法则: 越高越好。
综上所述,我建议使用查找表来存储评级定义。也许对于某个特定问题,您想使用 0 到 5 的评分,但明天您可能需要更大或更低的比率。
或者只是您想更改每个选项的名称。
使用查找表,您可以为不同的目的选择不同的选项。有时您需要 5 个选项,有时需要 10 个,有时需要 2 个。
不要用 5 个选项来限制自己。
我不知道这类事情有任何官方标准。我倾向于根据在您的情况下最容易处理的内容来判断 5 是最差还是最好。
1-5 的等级是最常见的。如果你想要一个单独的值来表示没有答案(或者响应者表示问题不适用于他们),我会使用 NULL 而不是 0;这使得在计算中忽略这些响应变得容易(因为聚合函数就是这样做的)。
此外,请记住将应用于该领域的任何常用内容。例如,美国的医院和医生办公室通常会要求患者按照 0-10 的等级对他们的疼痛进行评分(0 = 没有疼痛,10 = 可以想象到的最严重的疼痛)。
最终用户会在报告和屏幕上看到的数字还是其他值的占位符?
作为占位符(即 CONDITION 表的外键),所使用的值并不重要。例如,当用户看到“差”、“一般”、“好”、“好”和“优秀”时,幕后使用的整数可以是任何东西。不值得花太多时间来决定。
如果最终用户将看到该号码,则遵循常见用法。行业有标准吗?公司内部有通用的用法吗?跟着那个。
大多数计算机以外的人不会标记项目或从零开始计数。避免那样。在英语中,“priority 1”或“1st class”表示该项目位于队列的头部。在确定排名时遵循该惯例。
请注意,范围 0-5 和 1-5 具有不同数量的桶。确保您的选择符合用户的粒度。
我会专注于您要衡量的内容。排名应该是直观的。
IMO 你衡量的东西越多,这个数字就应该上升。因此,如果您要衡量这条路有多好,我会选择 0-5:越高越好。
如果您要衡量道路的糟糕程度或损坏程度,我会选择 0-5:越高越差。
我个人认为应该使用 NULLS 来反映未知或没有答案。如果您将其默认为一个值,您可能会歪曲报告,并使查找缺失的评估变得更加困难。
但是:如果您要更换或升级现有系统,我会坚持使用他们现在拥有的任何系统,除非用户特别想要不同的东西。否则,您将不得不在迁移时转换数据,并在实施该系统时管理培训问题。“如果它没坏,就不要修理它”。
其他一些答案表明,使用的实际值并不那么重要,只要它们在表单、查询或报告中显示时正确映射到它们的“含义”即可。
我强烈建议这不是真的,或者至少不会长期如此。
为什么?因为我保证有人会要求您提供显示“平均”状况评级的报告:
以及管理层喜欢问的其他一百个问题。除非您的评级是数字的(并且严格按升序或降序排列),否则您将无法执行这些计算。
也就是说,我不知道这样做有任何行业标准,您只需要在您的方法中尽可能保持一致。
例如,一项不断翻转 5 是“好”还是“坏”的调查令人困惑:
所以选择一个并坚持下去。
我建议您查看完整的问卷撰写指南中关于“评分量表”的部分:
你打算如何使用评级?您是否需要计算平均值、最小值或最大值等聚合?然后用数字。如果这没有意义,请不要使用数字。
您期望什么样的 where 子句?代码看起来如何,您的设计如何有助于避免错误,您的设计选择是否支持代码的意图很容易传达?
最后但并非最不重要的一点是:为清晰和更少的错误而设计,稍后进行优化。
希望这可以帮助