我在模拟车辆信息。车辆可以具有0个或更多个“设备”(例如发动机,车轮,扰流板,CD播放器等)。设备可以有0个或更多“属性”(例如发动机的“燃料类型”可能是“柴油”)。
我事先并不知道这些设备将会是什么(它们将由用户定义),更不用说这些未知设备的属性。
所以,现在诱惑是我使用EAV。我走错了路吗?我担心我必须做这样的事情:找到所有燃料类型都是柴油等的车辆。听起来很痛苦。
如果需要,是否有其他方法的建议?
答案 0 :(得分:0)
经验法则是:
如果一个键/值对可能是where子句的一部分或通过sql操作,它可能应该是表中的适当类型列而不是eav存储。
如果经常组合多个键/值对,它们可能属于一个单独的表。