相关疑难解决方法(0)

实体 - 属性 - 值表设计

我目前正在为电子商务平台的产品部分设计数据库结构.它需要以这样的方式设计,使得可以销售具有无限多个不同属性的无限数量的不同类型的产品.

例如,笔记本电脑的属性可以是RAM,屏幕尺寸,重量等.书的属性可以是作者,ISBN,出版商等.

似乎EAV结构最合适.

  • 选择一个产品
  • 产品属于属性集
  • 属性集包含属性x和y
    • 属性x是数据类型datetime(存储在attribute_values_datetime中的值)
    • 属性y是数据类型int(存储在attribute_values_int中的值)
  • 每个属性定义表示类型(i,e,x具有列类型 - > datetype)

假设上述情况,我是否可以将选择加入attribute_values_datetime表以获取正确的数据而不获取结果集并在表已知的情况下构建第二个查询?构建这种类型的查询是否会有很大的性能损失,或者下面的内容会更合适(尽管功能较少)

  • 选择一个产品
  • 产品属于属性集
  • 属性集包含属性x和y
    • 属性x是数据类型datetime,但在attribute_values中存储为TEXT
    • 属性y是数据类型int,但在attribute_values中存储为TEXT

mysql sql database-design database-schema entity-attribute-value

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

如果EAV是邪恶的,那么动态值的用途是什么?

我需要创建数据库,其中Accountgrouptable将具有动态字段,以便Accounts在需要时输入这些动态字段值.这可能并不重要,但我正在使用C#与EF和Linq.

这对我来说很难,因为我从来没有做过这样的事情,因为我做了我的研究,每个人都说EAV系统太可怕了,你应该设计得不同,问题是之后没有人告诉 - 怎么样?

所以也许你可以帮助我,告诉我如何在不做EAV的情况下实现类似的东西?

这就是我到目前为止所拥有的.

在此输入图像描述

c# database database-design entity-framework entity-attribute-value

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

电子商务项目的数据库设计(我应该使用EAV方法)

我即将设计我的第一个电子商务数据库.

我在大多数电子商务网站上发现的是,这些网站有Category,然后是SubCategory,然后又是SubCategory等等.并且SubCategory的深度不固定意味着One Category有六个嵌套的Sub Category,而另一些则有不同

现在所有产品都具有与之相关的属性.

现在我的问题是这些网站继续为嵌套子类别添加表,并继续为数据库中的属性添加列

要么

他们应用称为"EAV"模型的东西(如果我是对的)来解决这个问题,或者他们继续添加列和/或表,并继续更新WebPages,因为在我发现现在有一个新类别的许多网站上.

(如果他们使用EAV模型,那么网站性能受到影响不是..)

由于这是我的第一个电子商务项目,请为您提供一些有价值的建议.

谢谢,

任何帮助表示赞赏.

database database-design

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