我有一个用于RDBMS的数据库设计的ERD。根据数据集的类型属性,数据集与策略有多对多的关系。数据集实体具有许多属性。
问题是数据集将来可以有其他属性来查询。现在,这导致我像DynamoDB一样的NOSQL数据库。但是附加属性的未知查询使我(恕我直言)在NoSQL DB之上建立了一个Graph模型。那么,我可以有以下Graph关系:
数据集有一个类型。类型有一个政策。如果未提供,则Type也具有默认策略。这是为数据集类型的策略建立数据集的多对多关系的模型。我可以在以后参加数据集实体的其他属性并将其添加到NOSQL数据库中,并使用NOSQL之上的Graph模型(Neptune)进行查询?这是建模的正确方法吗?
TIA,
使用Postgres和数据集实体的jsonb列为处理其他未来属性的问题提出了不同的解决方案。
metadata jsonb,
因此,您可以在此json中添加任意数量的新属性并将其推送到jsonb列。然后我可以在WHERE子句中像这样查询它:
metadata->>'startIdx' <= '${startIdx}'
表格不需要使用新字段进行更改,但查询将需要在查询中容纳新字段。很久以前,使用xml而不是json来实现同样的概念,但是RDBMS没有办法在列中的json数据内部进行查询。