为了账号安全,请及时绑定邮箱和手机立即绑定

如何为每种产品都有多个参数的产品设计一个产品表

如何为每种产品都有多个参数的产品设计一个产品表

波斯汪 2019-06-17 15:12:05
如何为每种产品都有多个参数的产品设计一个产品表我在餐桌设计方面没有多少经验。我的目标是创建满足以下要求的一个或多个产品表:支持多种产品(电视,电话,个人电脑,.)。每种产品都有一组不同的参数,例如:手机会有颜色,大小,重量,操作系统.。PC将有CPU,HDD,RAM.参数集必须是动态的。您可以添加或编辑任何您喜欢的参数。如果没有针对每种产品的单独的表,我如何才能满足这些要求?
查看完整描述

3 回答

?
呼唤远方

TA贡献1856条经验 获得超11个赞

以下是Eav的一些缺点:

No way to make a column mandatory (equivalent of NOT NULL).
No way to use SQL data types to validate entries.
No way to ensure that attribute names are spelled consistently.
No way to put a foreign key on the values of any given attribute, e.g.

查找表。

你在这里提到的所有事情:

  • 数据验证
  • 属性名拼写验证
  • 强制列/字段
  • 处理相关属性的销毁

在我看来,根本不属于数据库,因为没有一个数据库能够像应用程序的编程语言那样在适当的级别上处理这些交互和需求。

在我看来,以这种方式使用数据库就像用石头敲钉子一样。你可以用石头来做这件事,但你不应该用锤子,它更精确,而且是专门为这种活动设计的吗?

获取常规表格布局的结果既复杂又昂贵,因为要从多个行获取属性,需要对每个属性进行联接。

这个问题可以通过对部分数据进行少量查询并将其处理为您的应用程序的表格布局来解决。即使您有600 GB的产品数据,如果需要来自本表中每一行的数据,也可以分批处理。

进一步说,如果您想提高查询的性能,您可以选择某些操作,例如报告或全局文本搜索,并为它们准备索引表,这些索引表将存储所需的数据并定期重新生成,比方说每30分钟一次。

你甚至不需要担心额外数据存储的成本,因为它每天变得越来越便宜。

如果您仍然关注应用程序所做操作的性能,则可以始终使用Erlang、C+、Go语言对数据进行预处理,然后只需在主应用程序中进一步处理优化后的数据。


查看完整回答
反对 回复 2019-06-17
  • 3 回答
  • 0 关注
  • 617 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信