数学建模程序:程序开发中空间建模的十大规则

        规则:向空间结构中加载详细原数据   空间模型中应该加入原数据细节以支持不可预测过滤和商业用户查询时分组要求用户般不需要次看到单个记录但是你不能预测他们希望显示方式然后显示出细节信息如果只能获取摘要数据那么你已经对数据使用模式作出了推测而这些推测将在永固想深挖细节时候导致他们碰壁当然原数据可以被简要空间模型来补充这些模型提供了汇总数据中共同查询优势但是商业用户不能仅仅依赖于这些简要数据他们还需要数据细节来回答不断变化问题

  规则 2:机构化空间模型和业务流程

  业务流程是你所在机构所执行活动;他们代表了测量活动如采取命令业务流程通常会捕获或生成和每个事件相关独特数据每个业务流程都由个单独原事实表格代表除了单处理事实表格合并事实表格有时候也会从多流程到某事实表格过程中产生同样合并事实表格是对详细单进程事实表格补充而不是要取代他们

  规则 3:确保每个事实表格都具备相关数据维度表

  规则 2中介绍测量事件通常拥有个和其相关变量日期标记每个事实表格都至少应该具备个和日期维度表相关外关键字其粒度是单独具有日历属性和测量事件日期非标准特性如财政月和企业假日指示等有时候多个日期外关键字会在事实表中有所表现

  规则 4:确保单事实表中事实都具备相同粒度或同样细节

  有 3个基本粒度可以对所有事实表格进行分类:交换性周期性快照或积累快照不论粒度类型是什么每种包含了事实表测量都必须具备同水平细则当你混合那些代表多层次粒度事实时你就会让业务用户感到迷惑不解会使BI应用变得很容易出错

  规则 5:解决事实表中多对多关系

  由于事实表保存了业务进程活动结果那么其外关键字的间就固然会存在多对多关系如多个产品在若干日时间里在多个商店出售这些外关键字域不应该为空值有时候维度可以为单个测量事件获取多个值如和卫生保健相关多项诊断或是银行账号多个用户在这些举例中要在事实表中直接解决有多值层面是不合理这样会违背测量事件自然粒度因此我们要使用多对多将双键桥表和事实表结合使用

  规则 6:解决维度表中多对关系

  属性的间层次化固定深度多对关系通常是非正规化维度表如果你已经花了大量时间用于设计交易处理系统实体关系模型你就需要抵制本能倾向然后将多对关系转为更小层级层级非规格化是空间建模中个名词

  在单个维度表中存在多对关系是常见现象关系如和某产品代码相关产品描述也可以在维度表中进行处理偶尔多对关系会在事实表中解决如当详细维度表中有上百万行数时由此而产生属性会频繁发生改变但是使用事实表来解决多对关系应该有节制使用

         规则 7:在维度表中保存报告标签并过滤域值

  代码更重要是用于标记和查询过滤相关解码和描述符应该在维度表中被捕捉到要避免在事实表中保存隐蔽代码域或冗繁描述域同样不要只是在维度表中保存代码并假设用户不需要描述型解码或这些解码应该在BI应用中得到处理如果是个 行/列 标签或下拉菜单过滤器那么它应该作为维度属性来处理

  虽然我们在规则 5中已经讲过事实表外关键字不应该为空值但是我们也建议大家可以用“NA”(not applicable)或另默认值来替代“Null”以避免在维度表属性域中出现空值


="xspace-totlerecord">2="xspace-totlepages">1/2="xspace-current">12>
Tags:  数学建模matlab程序 数学建模程序

延伸阅读

最新评论

发表评论