标签: entity-attribute-value

Magento SQL查询:获取所有“单独不可见”的简单产品

我希望直接在 Magento 数据库上编写一个 SQL 查询,该查询获取所有具有“单独不可见”可见性属性的简单产品,我认为其值为 1。

有人能帮忙吗?到目前为止我发现可见性值是在表中设置的

Catalog_product_entity_int

但一直无法取得进一步的进展。谢谢

sql magento entity-attribute-value magento-1.7

1
推荐指数
1
解决办法
1万
查看次数

数据模型,EAV的替代品

我有一个产品数据库,我想将文本,图像,视频附加到产品上。我还希望每个实体(文本,图像或视频)都具有标签,以便在应用程序上进行进一步的组织。

我想到使用此模型:

内容:

content_id|content_product_id|content_type|content_tag_id|content_url|content_title|content_text
Run Code Online (Sandbox Code Playgroud)

标签

tag_id|tag_name
Run Code Online (Sandbox Code Playgroud)

这意味着要使用Entity(content_product_id)-Attribute(content_tag_id)-值(content_url或content_title | content_text)模型。

看了很多书后,我知道使用这种建模模式(描述为数据库反模式,不可扩展并导致性能问题)是一个坏主意,您是否有其他替代方法的主意?

我想使用Doctrine ORM,并且我想找到一种可以轻松地与该数据映射器兼容的方法

mysql database-design entity-attribute-value doctrine-orm

1
推荐指数
1
解决办法
1522
查看次数

何为 EAV 编写选择查询 - 实体属性值模型

我有以下架构。其中

  • Types 表示数据库表
  • TypeProperty 代表表格的列
  • TypeRow 代表表格行

我想编写一个选择查询,我将向Type它传递单个查询,它应该给我所有的TypePropertyTypeRow以及TypeValue与这些PropertiesRows相关联的。

我将在一个 Web 应用程序中显示这些数据,用户将从下拉列表中选择一个类型,应用程序将获得PropertiesRows和相关,并将它们显示为一个完整的网格。

我正在使用 SQL Server 2014。

有人可以帮我吗?

在此处输入图片说明

sql t-sql sql-server entity-attribute-value

1
推荐指数
1
解决办法
2104
查看次数

mysql IF EXISTS

我有这张桌子

UMS

id_attribute    value   order
1                MB      1
1                Gb      2
1                TB      3
...
Run Code Online (Sandbox Code Playgroud)

和这张桌子

ATTRIBUTE_VALUE
id    id_attribute          value  name     ums
 1         1                 50     hdd     GB
 2         1                 100    hdd     TB
 3         2                 15.00  price   NULL
Run Code Online (Sandbox Code Playgroud)

我想从ATTRIBUTE_VALUE中选择,其中id_attribute = 1并且如果存在(UMS.value = ATTRIBUTE_VALUE.ums)则按UMS.order结束,如果按ATTRIBUTE_VALUE.value分组

输出示例:

50 GB
100 Tb

   and must to appear 
    15.00   !!! here is the problem because in my UMS table i don't have UMS for price

    but it doesn't appear
Run Code Online (Sandbox Code Playgroud)

php mysql entity-attribute-value

0
推荐指数
1
解决办法
1232
查看次数

EAV的替代数据库设计

我需要在关系数据库(MySQL)中建模人员数据库.

每个人都有财产.有一些属性只有1:1的关系(例如男性/女性)和其他有1:n关系的属性,如体育或语言(例如,一个人可能会打篮球和足球,会说英语和德语).另外这些1:n关系具有技能水平(例如专业,初学者).

目前我在问自己是否有比EAV模型更好的方法来模拟人 - 属性关系.我担心的主要是过滤那些有特殊属性的人更容易(例如所有演员都是男性和(专业打篮球或初学者)并且专业地讲英语.应该可以轻松添加新属性(这必须如果这需要由开发人员完成并且需要更改表,那就没关系了.但它不应该很难(例如修改sql语句,添加连接,添加数据库表/查找表) .

我会选择基于经典列的设计,在每个属性的单独列中的个人表中具有1:1属性.我不确定哪种是在这种设计中建模1:n关系的最佳方法.我想避免为每个1:n属性进行查找和单独的表.

最好的方法似乎仍然是以下EAV方法:

具有列id,名称的Persons表,例如

1 | Christian 

具有列person_id,property,value,level的Properties表,例如:

1 | gender   | male       |
1 | sports   | basketball | professional
1 | sports   | football   | beginner
1 | language | english    | professional
1 | language | german     | basic

sql entity-attribute-value

0
推荐指数
1
解决办法
1712
查看次数

EAV-在电子商务案例中,它真的是反模式吗?

我正在构建一个新系统,该系统将需要可扩展的数据模型。它非常复杂,但是需要这种结构的系统部分与电子商务系统的产品部分非常相关,因此我将以此为例。

想象一下一组公司。每家公司都有一系列的产品,其中有一些基本的属性,如nameskudescriptionprice等。除了这些基本属性,公司应该能够创建n定制的产品属性,属于公司(即美孚公司不应该能够看到Acme Inc.的自定义属性)。除此之外,每个公司都应该能够为每个产品转换这些属性;所以每个自定义属性值基本上从一个构造attribute,一个productlanguage和一个value

我确实知道,如果您存储固定数量的属性,而需要扩展属性数量的不是系统所有者,则EAV结构是一种反模式。

所以我的问题是-您将如何实现?在这种情况下,EAV结构真的是反模式吗?Magento是使用这种设计的人的经典示例,似乎他们建立了一个怪物,不得不通过实现平面索引表来“修复”它。但是,是否还有其他数据库设计模式可以实现这种灵活性?

database-design entity-attribute-value

0
推荐指数
1
解决办法
622
查看次数

MySql表可能*非常*很多列

一个是软件工程师招聘人员的朋友要我为他创建一个应用程序。

他希望能够根据技能搜索候选人的简历。

您可以想象,可能有数百种甚至数千种技能。

在表格中代表候选人的最佳方法是什么?我想skill_1skill_2skill_n等,但在外面有没有用得比较多的候选人n的技能。

另外,将来可能会向数据库中添加更多技能。

那么,代表候选人技能的最佳方法是什么?


@zohar的[更新],这是在架构上的第一步。任何意见?

在此处输入图片说明

mysql database-design entity-attribute-value

0
推荐指数
1
解决办法
43
查看次数

根据变体和价格进行产品的数据库架构设计

我们正在为电子商务应用程序和网站设计数据库。我们遇到了一个障碍,使我们在搜索和实验中陷入困境,但没有一个解决方案有效,因为数据中存在冗余。

我们做了一些被拒绝的设计。我不会展示所有的设计,但我会在这里展示其中的一些设计以及我们即将实现的最后设计之一。

  1. 这是我们拒绝的第一个设计,因为它过于标准化并且过于复杂。

ERD

  1. 第二个设计是同样的事情。

ERD

  1. 这是我们最后尝试的设计,但过于简化,冗余会很多。

ERD

之后,我们尝试搜索并寻找一种能够工作并适合我们之前的设计到其他桌子的设计。我们在这里发现了一个,我们对设计做了一些修改,但它也不适合我们,因为 color_id 和 size_id 会发生冗余,而且它不是外键。

ERD

我们想要设计接受这些情况的表:

  1. 我有一种具有不同颜色和不同尺寸的产品,而且尺寸不取决于颜色,反之亦然,而且它们的价格都相同。

  2. 我有一个产品,它有不同的颜色和尺寸,但尺寸取决于颜色,例如(颜色:红色)有(尺寸:S、M、L),(颜色:黑色)有(尺寸:M、L)和他们有不同的价格。

  3. 我有一个产品,它有不同的尺寸,价格变化取决于尺寸,例如产品表(尺寸:S)和(价格:50 美元),但(尺寸:L)有(价格:100 美元)。但它没有颜色变体。

这些产品不会由我们插入,而是由一些卖家插入。颜色和尺寸将是下拉菜单中的所有选择。并且尺寸将仅根据类别显示。例如,类别上衣只有 (S、M、L...),没有其他尺寸

mysql database-design relational-database entity-attribute-value

0
推荐指数
1
解决办法
6340
查看次数