问题标签 [entity-attribute-value]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
53651 浏览

sql - JOIN 语法中的 MySQL 相关子查询

我想通过指定 innertable.id =outertable.id 为内部查询提供 WHERE 条件。但是,MySQL (5.0.45) 报告“'where 子句'中的未知列'outertable.id'”。这种查询可能吗?

内部查询使用 GROUP BY 将行旋转到列。这可以完全在外部查询中执行,但由于额外的连接可能会产生额外的开销。

或者,我可以在内部查询中省略 WHERE 条件,而是指定 ON outertable.id = innerquery.id,但它会获取整个内部查询行集以再次加入外部查询,这是低效的。

实际的 SQL 如下所示:

0 投票
4 回答
423 浏览

database - 属性值数据库

我有许多对象,每个对象都有任意数量的共享和不同的属性值对(更具体地说:文件及其相关属性 - 例如图像的宽度和高度值,音乐的专辑/艺术家/长度文件等)。我希望能够搜索具有特定属性/值的对象(例如:按专辑)、按属性分组等。

对于这种情况,您建议使用哪种数据库?由于模块化(即时添加更多属性的能力),以及公共属性小于所有属性的 20% 的事实,具有规范化表的标准 SQL 并不能真正削减它。我已经尝试使用“瘦数据模型”来解决这个问题;但是我遇到了严重的可扩展性问题。

是否有针对这种情况调整的专门数据库(首选 BSD 许可的解决方案)?或者为此调整标准 RDBM 的任何替代方法?

0 投票
7 回答
32552 浏览

mysql - 如何旋转 MySQL 实体-属性-值模式

我需要设计存储文件的所有元数据(即文件名、作者、标题、创建日期)和自定义元数据(已由用户添加到文件中,例如 CustUseBy、CustSendBy)的表。无法预先设置自定义元数据字段的数量。实际上,确定在文件中添加了哪些自定义标签以及添加了多少自定义标签的唯一方法是检查表中存在的内容。

为了存储它,我创建了一个基表(具有文件的所有常见元数据)、一个Attributes表(保存可能在文件上设置的其他可选属性)和一个FileAttributes表(为文件的属性分配值)。

样本数据:

现在的问题是我想以这样的方式显示数据:

什么查询会产生这个结果?

0 投票
3 回答
7183 浏览

php - 使用 Magento 的 addFieldToFilter 按现有列过滤

假设情况。我想sales/order用 grand_total 等于total_paid. 我知道我可以使用addFieldToFilter特定值进行过滤,但是否可以使用此方法按其他数据库值进行过滤。如果没有,Magento 系统中是否有任何数据访问对象允许这样做。

non-eav我掌握的SQL 概念是:

这是否可以纯粹通过对象方法调用来完成,还是我需要进行加载后过滤?

其他系统如何ORM处理这个问题?

0 投票
4 回答
1774 浏览

sql - Query several EAV attributes in separate columns

I am facing issues trying to write a query. (this is slightly modified from my previous question)

My tables are laid out as follows:

I have to display the following fields:

This is the part that is challenging:

If tblTicketAttribute.Attribute= "Urgent" then the value from tblTicketAttribute.AttributeValue is displayed in UrgentPriority column

If tblTicketAttribute.Attribute= "Medium" then the value from tblTicketAttribute.AttributeValue is displayed in MediumPriority column

If tblTicketAttribute.Attribute= "Low" then the value from tblTicketAttribute.AttributeValue is displayed in LowPriority column

If tblTicketAttribute.Attribute= "Closed" then

The values in tblTicketAttribute.Attribute include "Urgent", "Medium", "Low", "Over30", "Over60", "Over90", "Closed"

I don't need to display all records. Only "Urgent", "Medium" & "Low".

0 投票
2 回答
749 浏览

sql-server - 从历史 EAV 数据库中查询的最快方法是什么

标准 EAV 模式:一列用于实体 ID,一列用于属性 ID,一列用于值 ID。

历史 EAV 架构:为时间/日期范围添加额外的列

在运行时,某些行将被排除。每个实体、每个属性可能返回 0、1 或许多行。我们只希望保留每个属性的最新值。

我们当前的解决方案是使用 SQL Server Rank() 函数为每一行标记一个排名,然后在 where 子句中我们有“and rank = 1”。

但是,性能并不令人满意。在分析过程中,我们发现分配排名非常快,但是针对排名执行 where 子句需要对数据进行第二次扫描,并将整个数据集保存在 RAM 中。

对剩余属性行进行排名并仅返回最新的最快方法是什么?

0 投票
1 回答
1588 浏览

asp.net - 您将如何在 asp.net 中设计 BPM 应用程序?

我们创建了一个简单的基于 asp.net/sqlserver 2000 的业务流程管理工具,其中我们有一个功能,用户可以创建简单的单列表单并附加到流程并定义规则和路径。

我们将动态创建的表单控件值保存在 EAV 设计表中,但是随着事务的增加,我们在报告自定义表单值时遇到了性能问题,我的问题是这个问题的替代方案是什么,其中 BPM 解决方案的主要要求是该用户将动态创建表单,你们认为其他大型 BPM 供应商(如 Skelta/ultimus/K2.net)的实施正在管理这一要求。你的东西xml可以救我吗?如果是,那么你们将如何或如何设计 BPM 应用程序的模型

0 投票
3 回答
4525 浏览

php - Magento ORM 文档

在源代码之外,是否有任何关于 Magento ORM 的大量文档?我掌握了基础知识,通常可以挖掘 Mage代码库,用 Mage::Log 调用乱扔垃圾并找出可行的方法,但如果我对模型的用途有一个高层次的了解,我的效率会大大提高要使用的。聚合方法如何工作,加入的最佳方式是什么,何时应该扩展模型,何时是使用 eav 模型与非 eav 模型的最佳时间等。

类似于Django 模型文档,但适用于 Magento。

0 投票
1 回答
280 浏览

schema - 如何创建一个模式,其中每个客户可以有多个用户定义的属性?

我将开发一个应用程序,该应用程序允许我们的客户定义将在某种反馈/调查环境中显示给用户的字段。例如,比萨店可能有一个区域要求您最喜欢的浇头,酒吧可能有您最喜欢的啤酒品牌。

系统需要能够让我们的客户创建和修改这些字段,因为它们依赖于特定的客户并且可能不会被复制。如果有一些方法可以根据类似客户的领域向客户提出建议,那将是理想的;例如,如果我们有第二家比萨店注册,在他们的管理页面上定义字段可能会说类似的企业选择询问以下问题,并显示“样本”值列表。

这会是Entity-Attribute-Value (EAV)该表模型的良好候选者吗?传统的关系模型行不通,因为它会涉及许多称为“user1”之类的字段,这当然对于任何事情都非常笨拙。

0 投票
2 回答
2989 浏览

database - 通用数据库表

以下数据库表设计是否有任何名称:

基本上我们有代表键/值对的通用列。

编号 | k1 | v1 | k2 | v2 | k3 | v3 | ……

1 | 姓名 | 山姆 | 姓氏| 史密斯 | 空 | 空 | ...

在我的应用程序中,我有许多只有一行的表,我想将它们合并到一个通用表中,该表有 X 列,每行代表单个表行。

提前致谢。