如何为报价应用程序设计Firebase数据库?

时间:2017-02-25 19:07:09

标签: android mysql database firebase firebase-realtime-database

我有一个与SQL数据库一起使用的引号应用程序,我想转移到Firebase数据库。由于SQL数据库是一个关系数据库,我对应用程序的正确结构感到困惑。

在SQL数据库中,我使用了三个表: -

  • 作者
  • 分类
  • 行情

每个引号都有一个作者和一个类别,因此用户可以查看作者列表,并可以查看特定作者的所有引号。他还可以查看类别列表,并可以查看与特定类别相关的所有报价。

所以Quotes表有两个外键引用了Authors表的主键和Categories表的主键。

任何人都可以帮我找到应用程序的最佳结构吗?

1 个答案:

答案 0 :(得分:0)

Firebase Youtube为像您这样的SQL开发人员提供了出色的视频系列,可以为您提供帮助。 (https://www.youtube.com/playlist?list=PLl-K7zZEsYLlP-k-RKFa7RyNPa9_wCH2s

话虽如此,这是一个非常简单的结构。

root
L authors
  L authorId
    L Author { name, email, etc...}
L quotes
  L quoteId
    L Quote { text, category, author }

此结构非常简单,将依赖查询来过滤您需要的数据。

作者名单

Query query = reference.child("authors");

作者名单

Query query  = reference.child("quotes").orderByChild("author").equalTo(authorId);

按类别划分的报价单

Query query = reference.child("quotes").orderByChild("category").equalTo(category);