zoukankan      html  css  js  c++  java
  • 数据库设计系列【6】当一个实体包含多个计算列时,如何处理?

    当一个实体包含多个计算列时,如何处理?

    1 示例需求:

    在海外采购时,将产生多种费用,如:班轮费、报关费、卸货费,仓储费、利

    息费,银行手续费等等。这些费用的公式如下:

    班轮费

    No. of FCL x rate

    报关费

    No. of FCL x rate

    卸货费

    No. of FCL x rate

    仓储费

    Qty (MT) x Conversion (MT/m3) x rate

    利息费

    N/A

    银行手续费

    Bank Charges = Purchase Amount x 0.003

    上面仅是一个简单的需求,根据公司所处的国家不同,这些公式也将做相应的调整;并且,隔一段时间,根据政策的变化,公式也需要做相应的调整。

     

    2 解决方案

    我们抛开国家和时间因素,这样就转为一个简单的公式计算问题:在采购合同模块,根据公式自动计算出多种费用,并存储于合同信息。

    具体公式如:仓储费={QtyMT}x{ MTM3}x {rate}。计算时,将对应的值替换成具体值即可。

    3 总结

    类似有很多这样需要根据公式来计算出值的应用场景,可根据实际需要,对费用公式实体做进一步的设计,如加上国家、时间、费用类型、币种等因素。其中如果加上时间的因素,就要考虑加上历史数据如何管理。

  • 相关阅读:
    [NOI2017]游戏
    [USACO09MAR]Cleaning Up
    [POI2010]Blocks
    [JSOI2011]分特产
    [POI2001]Peaceful Commission
    BZOJ4152 [AMPPZ2014]The Captain
    Luogu P3783 [SDOI2017]天才黑客
    Luogu P3645 [APIO2015]雅加达的摩天楼
    Luogu P1613 跑路
    AGC009E Eternal Average
  • 原文地址:https://www.cnblogs.com/dataadapter/p/3448336.html
Copyright © 2011-2022 走看看