问题标签 [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.
python - 如何结合 SQLAlchemy 和 EAV DB 模式的强大功能?
我最近一直在使用 Pylons 做一些工作,很像用于数据库交互的 SQLAlchemy 模型。我认为我的网站有一个部分可以从 EAV 模式中受益。
使用它作为我的表格示例:
我可以手动运行如下查询来提取和更新数据:
这既简单又有效……但手动构建查询并不是我的首选方法。我想使用 SQLAlchemy 创建我的表模型并让它完成所有的工作。
如果我要使用每个type
都有自己的列的标准模式,我可以执行以下操作:
然后我可以使用以下方法提取数据:
我希望能够为我的 EAV 架构做同样的事情。所以基本上,我需要一种方法来扩展 SQLAlchemy 并告诉它,当我调用它时data.age
,实际上意味着,我想要SELECT value FROM table WHERE id=1 AND type='age'
.
这是可行的吗?还是我会被迫用手动发出的查询来弄乱我的代码?
mysql - 什么是查询实体-属性-值模型的有效方法
我正在使用这样的数据库设置:
我想查询已经开始但未结束的艺术家名称“某个名称”的所有实体。
我想出了这样的事情:
但这并没有让我觉得非常有效。有更好的方法吗?
mysql - 保留页面更改历史记录。有点像 SO 对修订所做的
我有一个 CMS 系统,可以跨表存储数据,如下所示:
我正在尝试实施一个修订系统,有点像 SO。如果我只是为了这样做,Entries Table
我打算将对该表的所有更改的副本保存在一个单独的表中。因为我必须为至少 4 个表执行此操作(TAGS 表不需要修改),所以这似乎根本不是一个优雅的解决方案。
你们会怎么做呢?
请注意,元表是在EAV (entity-attribute-value)中建模的。
先感谢您。
sql - 具有额外属性的记录:稀疏表还是 EAV?
我有一个模型,它已经有几十个列,大部分时间都会被填充。现在我需要添加每次可能不同的字段。
最好的方法是什么?我不喜欢 EAV 模式。我也不喜欢有一个稀疏表的想法,特别是考虑到这些额外的属性可能会有很大的不同。
例子:
现在我想添加如下属性:
这些额外的属性可能因记录而异,并且大多数情况下它们的数量有限,但不能保证。
将记录视为:
我希望能够列出、过滤和搜索记录,就好像那些额外的属性实际上是列一样,例如:我应该能够进行类似SELECT fields FROM table WHERE ep_n > 20
和SELECT fields FROM table WHERE ep_1='ABC'
最好的解决方案是什么?
sql - 使用一个查询创建摘要结果
我有一个格式如下的表格。
每个 uut_sn 都有多个特征名称/值对。我想用 MySQL 生成表
这可能只需要一个查询吗?
谢谢,-彼得
sql - 规范化 SQL 表
我们能否进一步规范化这个 Sql 表结构是主键是ID,Date,NAme,Type
等等
sql - Transact-SQL 查询 / 如何组合多个 JOIN 语句?
几个小时以来,我一直在努力解决这个 SQL 难题,所以我心想:“嘿,你为什么不问问堆栈,让网络从解决方案中受益呢?”
所以就在这里。首先,这些是我的 SQL 表:
字段
表单域
价值观
形式
记录
数据池
考虑以下约束。
- 每个 Form 有 0 个或多个 DataPool。每个 DataPool 只能分配给一个 Form。
- 每个表单有 0 个或多个字段。每个字段可能被分配给几个表单。
- 每条记录都有 0 个或多个 Value。每个值都链接到一个记录。
- 每个 DataPool 有 0 个或多个 Record。每条记录都链接到一个数据池。
- 每个值都链接到一个字段。
- 此外,所有名称列都具有唯一值。
现在,问题来了:
我需要根据以下列从 Values 表中查询每个值:
- 链接到值的字段名称
- 数据池的名称链接了链接到值的记录
- 链接到该数据池的表单的名称
上面的 3 列必须等于存储过程中接收到的 3 个参数。
这是我到目前为止得到的:
如何按 PoolName 列过滤 Values 表的行?DataPools 表与 Values 表没有直接关系,但仍与与 Values 表直接相关的 Records 表相关。关于如何做到这一点的任何想法?
magento - magento 使用 where 条件选择属性
你好呀。我想知道以下的正确语法:
选择属性modellijn
所在的属性brand=114
。上面的语法返回一个错误。我一直在寻找 2 天来寻找正确的语法,但不幸的是到目前为止没有结果。
我希望这里有人愿意帮助我!