【发布时间】:2010-11-08 12:58:48
【问题描述】:
我最近接触了实体属性值数据库模型的概念。 Magento电子商务系统。 Varien(Magento 背后的公司)使用关系数据库 (mysql) 使用 PHP 对象创建 EAV 样式模型。
我很好奇是否有“本地”EAV 数据库解决方案。 “最近出现在堆栈溢出 CouchDB 上”似乎适合这个模型。这是一个正确的假设,还是 CouchDB 是别的东西?在野外我还能在哪里找到 EAV?
关系之于 MySQL 就像 EAV 之于 _______?
【问题讨论】:
-
我仍然会说关系数据库适用于 eav。但是,既然您已经提到它,它似乎也很适合 couchdb 风格的数据库。
-
@benlumley:如何让关系数据库中的 EAV 表强制执行 NOT NULL 约束?
-
@billkarwin 是的,这是一个很好的观点。从上次评论开始 6 个月后,我同意你的观点,非关系是一个更好的解决方案,而不是同样好的解决方案 - 我现在已经尝试了一些非关系数据库!但 notnull 在那里更容易吗?
-
@benlumley:至少对于非关系数据库,您不会因为存储变量属性而违反任何规则。 :-) 但是像 NOT NULL 和 JOIN 这样的特性指出 SQL 仍然有一些优势。
标签: sql database magento entity-attribute-value vendor