【发布时间】:2016-12-09 14:32:49
【问题描述】:
我第一次尝试构建一个 nosql 数据库。我有一个用户表,其中包含:姓名和电子邮件地址。现在每个用户可以拥有多个设备。
每个设备都有多个基本上都有一个读数数组。
这是我目前的结构:
如何改进这种结构?
ps:我正在使用 angularjs 和 angularfire。
【问题讨论】:
标签: json firebase data-structures firebase-realtime-database nosql
我第一次尝试构建一个 nosql 数据库。我有一个用户表,其中包含:姓名和电子邮件地址。现在每个用户可以拥有多个设备。
每个设备都有多个基本上都有一个读数数组。
这是我目前的结构:
如何改进这种结构?
ps:我正在使用 angularjs 和 angularfire。
【问题讨论】:
标签: json firebase data-structures firebase-realtime-database nosql
在关系数据库中,有范式的概念,因此与数据模型是否被规范化的某种客观的度量有关。
在 NoSQL 数据库中,您通常会根据应用使用数据的方式对数据进行建模。因此,在不考虑应用程序的用例的情况下,几乎没有关于什么是好的数据模型的概念。
也就是说:Firebase documentation recommends flattening your data。更具体地说,它建议不要混合类型的数据,就像您对用户元数据和设备元数据所做的那样。
建议将它们分成两个顶级节点:
/users
<userid1>
email:
id:
name:
<userid2>
email:
id:
name:
/devices
<userid>
<deviceid1>
<measurement1>
<measurement2>
<deviceid2>
<measurement1>
<measurement2>
进一步推荐阅读NoSQL data modeling 并查看我们的Firebase for SQL developers。哦,当然还有Firebase documentation on structuring data。
【讨论】: