【发布时间】:2009-10-13 22:45:32
【问题描述】:
我有一张服务台。每个服务由 1 个主要类别和 1 个子类别定义。
例如,
服务 = 乔的网络公司, MainCategory = 信息技术, 子类别 = 网络开发
所提供的每项服务都有一组共同的属性(成本、位置等)
每个服务还将具有一组特定于子类别的属性。
所以在我上面的例子中,Joe's Web Company 可能具有以下属性:PHP(BOOL):1、MySql(BOOL):0、Javasctipt(BOOL):1 等
或者对于演员来说,它们可能具有以下属性:EyeColour(ENUM): Blue, Height(float): 5.11
所以,我认为超类型/子类型关系最有效,但我们可能会讨论超过 500 个表。
我还需要能够跨主类别搜索服务。为此,我正在考虑在主服务表中创建一个关键字列,因此我不需要查找每个子类型的表(某些类别可能有 50 个子类型/表)。我每晚都会运行一个脚本,用解释每个服务子类型属性的文本填充此列(例如,对于 Joe,他的关键字列将包含“PHP Javascript”)。
这种方法看起来不错,或者考虑到表的数量,EAV 解决方案是否更适合?
【问题讨论】:
标签: php mysql database entity-attribute-value