根据手动价格创建正确的数据库结构
我被分配了一个相当具有挑战性的数据库设计,我想有人可能会给我一些指点来帮助我开始。我们目前有一个仓库货物进出系统,现在我们想使用这些数据来计算仓储费用。
数据库已经保存了以下信息:货物日期、货物日期、寄售重量、件数、尺寸、货物描述、仓储容器类型(如果适用)。数据保存在MySQL中,这可能不适合下面的资费结构。
这是1,2,3,4波段的收费结构。根据客户规模和重要性,我们大约有12个波段。所有其他频带都是以下各项的派生结果:
带1到达我们的设施欧元0.04每公斤+欧元4.00每批普通货物欧元0.07为杂志-没有仓储费存储费用5天后4.00欧元每完整托盘最大尺寸120x100x160厘米(标准仓库木托盘)欧元每立方米6.50欧元每立方米散装货物或超标货物。用特定集装箱运送的货物,仅限20英尺托盘--仅限50.00欧元,仅限40英尺托盘--20.00欧元
BAND 2每公斤0.04美元,6天后不收取最低仓储费,每立方米集装箱2.50欧元,仅20英尺托盘-40英尺托盘50欧元-20欧元
第三级每公斤0.03欧元+每批3.00欧元,最大2000公斤每公斤0.02欧元+每批2.00欧元5天后超过2000公斤的仓储费每托盘4.00欧元最大尺寸120x100x160每公斤散装货物0.04欧元
4天后每个托盘收费5.00欧元,最大尺寸为120x100x160
到目前为止,我的想法是在货物到达时收取收费区间,然后尝试将费率纳入一个具有一些标准化的表中,例如集装箱类型。
有没有人有过这种手动到系统转换的经验?
发布于 2019-01-04 02:38:57
可能计算价格的算法太混乱了,无法在SQL中完成。因此,让我们从不同的角度来处理你的问题。
你正在做的第一步,想想需要什么数据--也许是一个由2列组成的“(Java/PHP/VB/...).
我的观点是,算法需要驱动任务;数据库只是一个持久化存储。
这是另一种方法。而不是有天,公斤等列,只要有一个JSON字符串的任何需要的因素。在客户机代码中,对JSON进行解码,然后使用合适的IF语句来处理on,如果存在,则使用ELSE ...等。
同样,数据库只是一个持久化存储;客户端通过它方便的方式来驱动格式。
在这两种实现中,都会有一个列表示所涉及的项目类型,外加Band
。SELECT
会有ORDER BY Band
。请注意,不会有12的概念;任何数字都可以实现。
性能?获取所有~12行并遍历它们--这应该不是性能问题。如果你有一千个波段,你可能会注意到一个轻微的延迟。
https://stackoverflow.com/questions/54007960
复制相似问题