Firebase-构建数据库

时间:2018-12-18 05:36:33

标签: ios database firebase

我正在使用iPad版应用程序,使用Firebase组织体育赛事。 要求是:

  • 每个运动项目可能包含许多赛事。

  • 许多团队都会报名参加活动。

要处理的查询为:

  • 显示指定运动名称和赛事名称的球队名称
  • 显示所有已注册球队的详细信息,并提供体育名称和赛事名称

为Firebase设计数据库模型是新手。如图所示,我已经设计了firebase结构。

此结构将最佳地支持我的查询吗?  请提出我必须进行的更改。 在此先感谢:)

Firebase结构

Screen Shot

2 个答案:

答案 0 :(得分:0)

第一,firebase按钮具有按时间顺序排序的非常方便的功能,这意味着仅应用字母数字排序,即使脱机写入,它们也将按时间顺序排列。

理想地,您以不需要查询文档的方式设计文档。 如果您来自MSSQL世界,则您的文档将类似于MSSQL视图,但没有用于备份它们的表。

或者换句话说,按您期望的查询结果存储文档。

应用到应用

我们假设:

  1. 您的应用程序中有一个视图,显示给定运动中所有事件的开始日期时间,参加的团队数和奖项。
  2. 单击任何事件,您将看到一个视图,显示开始日期时间,结束日期时间,地点,赞助商以及所有加入团队的团队名称。

这实际上是两个专门用于此类视图的节点:

Firebase Example nodes

答案 1 :(得分:0)

所以,我从您的问题中得到的是类似 实体:体育,团队,活动 并且每个实体之间将存在多对多关系,但是当您处理基于非sql的解决方案时,您可以使用类似于此结构的结构来获取所需查询的结果

Sports:{
sport_name,
id,
Teams:
[{team_name, id}]
}

Events: {
event_id
event_name
teams :
[
{team_name, team_id}
]
}

要获取每个团队的详细信息,您可以在团队的另一个节点上保留所有详细信息。

因此,每次需要为任何事件注册团队时,您都可以直接转到team节点下的已注册团队,而对于其他查询则相同。