如何使用未知属性建模数据?

Mel*_*emi 2 sql database-design ruby-on-rails data-modeling nosql

有哪些好方法可以对需要查询的数据进行建模,但是哪些方法无法完全预先定义?

例如...说我想模拟有关世界各国的信息.每个国家都有人口,国旗语言清单,这很容易.但是说我们也想模拟他们国家棒球队输赢记录,当然并非所有国家都有.或者,我们想跟踪他们的国王和王后血统(再次,显然不适用于大多数国家).或者,我们决定我们想要模拟平均氏族成员在一生中建立的蒙古包的数量.

无论如何,重点是,我们不会(也永远不会)知道在它袭击我们之前会发生什么.哪些方法既可扩展又可查询?

这可能是一个很好用于以文档为中心的数据库(MongoDB?),或者某些设计模式可能应用于经典的Relational数据库?

Per*_*DBA 7

您可以在纯关系数据库中执行此操作,并享受关系数据库的速度和功能.

您需要使用第六范式,正确的方法,完整的完整性和控制.

EAV是没有完整性或控制的6NF的子集,并且通常非常糟糕地实现.

我对这些问题的回答提供了对该主题的全面处理.由于提出了背景和论点,最后一个特别长.

EAV-6NF答案一个
EAV-6NF答案两个
EAV-6NF答案三