问题标签 [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 投票
3 回答
5519 浏览

java - 支持实体-属性-值模型的 Java 框架

我有兴趣开发一个基于门户的应用程序,该应用程序与EAV 模型一起使用,并且想知道是否有任何 Java 框架有助于这种类型的开发?

salesforce.com 使用 EAV,目前有二十张表。我寻求的框架应该允许它可配置为不同的 EAV 实现

0 投票
1 回答
546 浏览

entity-framework - 实体框架 - 分离和重新附加实体?

我有实体-属性-值 (EAV) 数据库。这种意义上的实体与 EF 中的实体无关,而只是指您存储信息的一些“事物”。您在值表中存储一个值,该值与一个属性(信息的名称)和一个实体相关联。

在 EAV 模型中,您不存储 NULL 值。对于 {Entity,Attribute} 的给定组合,值表中缺少条目意味着 NULL。

因此,Value 表中的 Data 列(比如 Int 类型)不可为空。这是我必须处理的一个约束。我无法改变它。

我正在构建一个 WPF 应用程序并希望将一个 Value 实体绑定到一个文本框。如果在保存时文本框为空,我需要确保绑定的实体不包含在保存中(因为这会在表中写入 0,这是不正确的)。如果文本框不为空,显然应该保存数据。

我正在尝试根据文本框的值分离和重新附加实体,但遇到与关系对象有关的错误。

关于如何实现我想要做的事情的任何想法?

0 投票
2 回答
401 浏览

sql-server - 在哪里可以找到创建 EAV 模型的 SQL 语句?

或者,有人知道我在哪里可以获得 Erwin 的 EAV 模型吗?

0 投票
1 回答
84 浏览

database - 如何构建具有零件数组的存储库实体

我有一个产品实体,它有几个类(每种产品类型都有不同的字段,有数千种产品类型)。一个产品类别可以是具有“手柄长度”、“头部重量”等字段的锤子。另一种可能是具有“坐垫材料”、“弹簧盒”等字段的椅子。客户根据他们的需求添加字段特定需求,几乎就像图片目录中的关键字一样。这些最终成为搜索字段,但我们不想使用纯文本搜索,因为产品将具有迎合产品类别的特定形式。

该产品分为描述、图像和价格三种字段,类似于:

我可以简化为:

最好让存储库实体成为具有三个不同内容数组的对象吗? 关于表示这样一个对象的好方法有什么想法吗?我什至在考虑某种“工厂存储库”哈哈。

0 投票
3 回答
657 浏览

sql - SQL扁平化&动态查询题

首先,我不确定这是否是处理这个问题的最佳方式……完全可以接受替代解决方案。

其次,我觉得我错过了明显的......但我仍然错过了它,所以不要骄傲地问!

更新:带有 SQL 2005 的 .NET 3.5 环境,因此可以使用动态 linq,尽管我总是倾向于将任何类型的动态(即时构建)查询视为笨重的。PITA 来维护。

更新2:为了响应北极,伪代码/书面文字逻辑/ sql / linq / C#都可以接受(!)......更多的是一个概念上的“什么是好方法”,而不是我需要代码类型的问题。

给定一张看起来像这样的“鞋子”表:

我需要一种方法来查询鞋子,这样

颜色=红色返回

COLOR=RED 和 SIZE=11 返回

COLOR=RED 和 SIZE=11 和 MANUFACTURER=GUCCI 返回

在设计时,我知道可能有多少不同的属性,也不知道可能有多少查询参数......

希望这是有道理的......如果没有,请相应地发表评论,我会再试一次。

0 投票
2 回答
2712 浏览

sql-server - 通用数据库设计方法

我面对客户的应用程序如下所示:

  • 它允许最终用户输入“材料”。
  • 对于这些材料,它们可以附加任意数量的“属性”。
  • 属性可以有任何类型的值:decimal、int、dateTime 和 varchar(长度从 5 个字符到大块文本不等),

本质上,Schema 看起来像这样:

材料
MaterialID int not null PK
MaterialName varchar(100) not null

属性
PropertyID
PropertyName varchar(100)

MaterialsProperties
MaterialID
PropertyID
PropertyValue varchar(3000)

该应用程序的一个基本功能是搜索功能:最终用户可以通过输入以下查询来搜索材料:

  • [属性] 检查日期 > [日期时间值]
  • [属性] serialNr = 35465488

猜猜这在包含近 200 万条记录的 MaterialsProperties 表中的表现如何。

数据库最初是在 SQL Server 2000 下创建的,后来迁移到 SQL Server 2005

怎样才能做得更好?

0 投票
6 回答
162692 浏览

php - Magento - 检索具有特定属性值的产品

在我的块代码中,我试图以编程方式检索具有特定值属性的产品列表。

或者,如果这是不可能的,如何检索所有产品然后过滤它们以仅列出具有特定属性的产品?

我将如何使用标准布尔过滤器执行搜索ANDOR匹配我的产品子集?

0 投票
4 回答
11035 浏览

sql-server - 基于 SQL Server 的 EAV

我有兴趣在 SQL Server 数据库上使用 EAV 模型。有没有人能给我指出现有模型/模式的文章或框架(我对 Saas 不感兴趣)?

0 投票
5 回答
584 浏览

database-design - 存储多类型字段的最佳方式

假设我们有一个字段可以有多种类型,例如:字符串或日期或 XML 数据类型。

现在我们有两种方法可以将其存储在数据库中

1-使用字符串类型字段+字段定义类型:失去“类型感知”排序功能,需要强制转换

2-单独的表(StringValues,DateValues,Decimal,XML ...等):指向值+字段定义类型的外键:有点复杂,性能

如果仅存储唯一值,则第二种方法可能具有额外的优势:它将用作索引。

你有什么想法吗?


Note1: 最好考虑基于 MS SQL Server 2008 和 Linq2SQL 的项目


注意2:也许我们会在另一个问题中讨论如何实现EAV,我问的是关系存储中的EAV。


注3:类型可以更改,但不会频繁更改

0 投票
2 回答
2400 浏览

database-design - 用户定义字段的 EAV 替代方案?

鉴于用户必须能够在对象上定义自己的字段,并为这些字段定义允许的值 - 动态(无编译) - 如果不使用EAV ,您将如何解决这个问题?

示例:所有对象都需要一个或多个对123 statusnumber的引用(允许 1.a 或 2.b 或 3.c)。