php - 帮助父类(super class)型/子类型? (和类别..)

标签 php mysql database entity-attribute-value

我有一张服务台。每个服务由 1 个主要类别和 1 个子类别定义。

例如,

服务 = 乔的网络公司, MainCategory = 信息技术, 子类别 = Web 开发

提供的每项服务都将具有一组共同的属性(成本、位置等)

每个服务还将具有一组特定于 SubCategory 的属性。

所以在我上面的示例中,Joe 的网络公司可能具有以下属性:PHP(BOOL):1、MySql(BOOL):0、Javasctipt(BOOL):1 等

或者对于 Actor ,他们可能具有以下属性:EyeColour(ENUM): Blue, Height(float): 5.11

因此,我认为父类(super class)型/子类型关系最有效,但我们可能讨论超过 500 个表。

我还需要能够跨主要类别搜索服务。为此,我正在考虑在主服务表中创建一个关键字列,这样我就不需要查找每个子类型的表(某些类别可能有 50 个子类型/表)。我会每晚运行一个脚本,用解释每个服务子类型的属性的文本填充此列(例如,对于 Joe,他的关键字列将包含“PHP Javascript”)。

考虑到表的数量,这种方法看起来不错还是 EAV 解决方案更适合?

最佳答案

我认为创建 500 多个表不是可行的方法。在我看来,您的结构是“无模式”的,而不是纯粹的关系结构。我会考虑使用专用的面向文档的 dbms(Mongodb、Tokyo Cabinet)或推出您自己的数据库,使用 mysql 作为低级数据存储(请在此处查看 http://bret.appspot.com/entry/how-friendfeed-uses-mysql 以获得出色的示例)。

关于php - 帮助父类(super class)型/子类型? (和类别..),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1563371/

相关文章:

php - 在 php 中使用序列化将关联数组存储在数据库中

php - 在 mySQL 数据库中存储图像的问题

密码和哈希的 PHP AES 加密

PHP/MySQL - 当 id 匹配时打印行

mysql - 根据多个 id 对多个表中的列求和

php - 保存小部件设置: php file vs db [apc installed]

PHP - 提交后保存选择选项值

php - 子文件夹 url 获取参数在 htaccess 中不起作用

mysql - 如何正确索引

mysql - 显示表中行下方的行总和