2017-02-25 88 views
0

我有一个与SQL数据库一起工作的报价应用程序,我想转移到Firebase数据库。由于SQL数据库是一个关系数据库,我对这个应用程序的正确结构感到困惑。如何为报价应用程序设计Firebase数据库?

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

  • 作者
  • 分类
  • 行情

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

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

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

+0

看看[这里](https://开头火力点。 google.com/docs/database/android/structure-data)。 –

回答

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); 
+0

如何显示具有此结构的类别列表? – Sunny

+0

有一个节点:root - > categories - > categoryId:name或categoryname:true,取决于您是否允许重复或不重复 – Linxy