gpt4 book ai didi

php - 库存系统 - 跟踪零件状态和位置的正确方法

转载 作者:行者123 更新时间:2023-11-29 00:42:43 24 4
gpt4 key购买 nike

如果我有一个名为 group 的表:

[Part_one_id|Part_two_id|Part_three_id|status|location]
1 7 6 ready long/lat
2 2 9 in-use long/lat

每个部分都有三个单独的部分表:

     Part one                     Part two                   Part three
[id][measurement] [id][pressure] [id][temperature]

我应该通过哪种方式跟踪位置和状态?

  1. 每当组的状态更新时,运行另一个查询以更新各自表中各部分的状态和位置
  2. 如果我需要找出位置在哪里,我会查看它所在的组并拉出当前位置

最佳答案

我立即发现您的表结构存在一些大问题。

  1. 您永远不应该有一个包含以下内容的表:part1_id、part2_id,...因为如果您想在一行中添加比原始设计更多的部分,则需要添加列,对于大表这是难以处理的。而是使用连接表的多对多关系。
  2. 您可能应该审核位置,以便在任何给定时间点获得它所在位置的快照。这意味着您应该有一个包含 part_id、location_id、创建、修改的审计表和一个包含纬度/经度的位置表。

就问题本身的答案而言。我不是特别喜欢 MySQL 触发器,因为语法不是很好,而且它们的功能不如其他数据库(如 PostgreSQL 或 Oracle)。话虽如此,在这种情况下,触发器的吸引人之处在于触发器将在与触发它的更新/插入相同的事务中执行,因此您可以免费获得该业务规则。但是,根据您用来访问数据库的方式,您可以只开始事务而不是结束事务,直到完成审计插入。

最终你的表格会变成这样:

group: id, name, created, modified, status

part_group:part_id,group_id,创建,修改

位置:id,lat,long

group_location:group_id,location_id,创建,修改

然后最近创建的 group_location 将指向给定组的当前位置。

关于php - 库存系统 - 跟踪零件状态和位置的正确方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11586435/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com