该数据库存储工程项目的不同对象类型:电机、电缆、泵、传感器等。
我们正在讨论是否为每种对象类型设置不同的表?(成堆的表,当我们想要添加一个新的对象类型时很痛苦——这会不时发生......)
或者,就像我们目前所做的那样,我们是否应该有一个存储对象类型(ID、名称)的表和另一个存储每个对象类型的可能属性的表,以及另一个存储每个属性类型的每个属性值的表?(一个真正的 PITA,但灵活。)
有人做过类似的事情吗?需要考虑的要点?执行?
如果您可以获得企业应用程序架构模式(Fowler) 的副本,请查看Object-Relational Structural Patterns;每种方法都有利有弊,答案会根据您的特定项目的上下文而有所不同。
具体来说:
序列化 LOB(如果您考虑这种模式,还可以考虑使用 NoSQL 数据存储而不是 RDBMS)
您需要回答的最大问题是关系数据库是否适合您的数据。您只是在寻找存储数据的地方吗?你会使用来自不同对象的数据吗?在序列化 LOB中使用出色的序列化框架(如Kryo)并在标准列中存储搜索或关联关系所需的元数据可能就足够了。