数据研究之综合评分(二) 元数据管理-评分管理-权重管理

本文介绍了一种综合评分管理系统的数据库设计思路,包括指标管理、模板管理和数据管理三大部分,旨在应对需求多变带来的挑战,实现权重、评分及参与指标的有效管理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景:

在上一章节中,讲到了权重,评分,指标

在开发当中,需求是多变的,权重占比可能产品一句话就产生了改变,最高评分和最低评分时刻会产生改变,指标的数量随时也可能增多

为了满足需求的多变,需要设计一套合理的数据库表结构

指标管理(元数据管理):指标表

分类(父节点),子分类(父节点),指标项(叶子节点)

可以看出一个典型的字典表结构

表可以设计为

id    quota_code    quota_name    parent_code    quota_level    is_parent    unit

quota_code与parent_code具有一对多关系,

unit 单位 例如:元   %   亿元  米   亩等

模板管理:模板表和模板明细表

每次综合评分的计算,不一定需要,所有指标参与计算综合评分,每个指标之间的权重占比可能也不一样,每次评分的最高得分也不一样,这个时候我们可以引入模板这一概念

具有和一般意义上的模板表和明细表相同的表结构

模板表

id    templet_code    temlet_name    templet_type

明细表

id    templet_code    quota_code    weight    score_max    score_min    sort    

注意:同一套模板当中,不同明细之间的最大(最小)得分都应该是相同的,在同一个分类下的指标(同级分类)的权重之和为100%

模板表和明细表具有一对多关系,通过templet_code关联

指标表与明细表同样具有一对多的关系,通过quota_code关联

数据管理:数据表

数据类型种类繁多,涉及到的表可能也不经相同,综合评分的计算当中,不同维度,不同类型数据都要参与计算,如果在多张数据表之间进行查询会大大的增加逻辑的复杂性且难以维护.为此,我们需要将不同类型不同维度的数据放同一张数据表当中(如果表太大,可以进行水平分表,增加查询的速度)

表结构:

id    quota_code    static_year    area_code    quota_value    min_value    max_value

指标表与数据表为一对多关系,quota_code关联关系

area_code为地区码

quota_value为具体的指标值

static_year为年份

min_value和max_value为在同一维度同一指标下的最大最小值(是一个必要的冗余)

同一维度指的是:同一年份,同一级别行政单位(省,市,区县)

在数据表中area_code,static_year,quota_code具有联合唯一性,即某一年的某一个地区的某个指标具有唯一值

在必要条件下可以增加例如parent_code(地区父节点码,指标父节点码),area_name地区名,quota_name指标名等冗余字段

后言:

至此整个综合评分的管理体系已经梳理完毕,权重和评分还有评分参与指标的管理可以通过模板管理来完成,新增的指标项可以通过指标管理来完成,但是新增指标项对应数据的录入,仍然需要人工进行导入(这是无法自动化的,旧的指标项可以通过程序的自动化完成新增数据录入)

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值