gpt4 book ai didi

database-design - 用于库存控制的'EAV'或'Class/Concrete Table Inheritance'数据库的设计

转载 作者:行者123 更新时间:2023-12-02 04:14:39 25 4
gpt4 key购买 nike

我正在开发一个建筑项目的库存控制系统。保管人负责添加新库存并将其分配给员工或从员工退还。这些项目(以及它们的属性)将有很大的不同。例如钢铁制品,服装,工厂/机械,工具等

我的问题是要使用Class/Concrete Table Inheritance还是基于EAV的架构。我不知道项目将具有哪些属性,因此大概是“类/混凝土表继承”方法将要求最终用户向数据库中添加新表(这可能吗?)。

请参阅我建议的EAV schema。这是一个合理的解决方案吗?我想说的对,要确定库存项目,是否有必要在“EV”表的查询中执行多次自联接?

N.B.使用PHP,MySQL和Zend Framework开发。

最佳答案

  • 如果属性更改很少且相差很远,请使用表继承,但是对模式的更改应由您自己或由DBA完成。根据用户输入以编程方式修改架构似乎是个坏主意。
  • 如果属性更改相当普遍,请考虑像document-oriented databaseMongoDB一样使用 CouchDB
  • 如果属性更改很常见并且您仅限于关系数据库,请使用 EAV
  • 关于database-design - 用于库存控制的'EAV'或'Class/Concrete Table Inheritance'数据库的设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3410362/

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