Android 如何为quotes应用程序设计Firebase数据库?

Android 如何为quotes应用程序设计Firebase数据库?,android,mysql,database,firebase,firebase-realtime-database,Android,Mysql,Database,Firebase,Firebase Realtime Database,我有一个使用SQL数据库的quotes应用程序,我想转到Firebase数据库。由于SQL数据库是关系数据库,我对应用程序的正确结构感到困惑 在SQL数据库中,我使用三个表:- 作者 类别 引用 每个引用都有作者和类别,因此用户可以查看作者列表,并可以查看特定作者的所有引用。他还可以查看类别列表,并可以查看与特定类别关联的所有引用 所以Quotes表有两个外键:引用作者表主键和类别表主键 有人能帮我找出我的应用程序的最佳结构吗?Firebase Youtube为像您这样的SQL开发人员提供了

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

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

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

所以Quotes表有两个外键:引用作者表主键和类别表主键


有人能帮我找出我的应用程序的最佳结构吗?

Firebase Youtube为像您这样的SQL开发人员提供了一系列优秀的视频,应该会对您有所帮助。()

这就是说,这是一个非常简单的结构,可以工作

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

看看。如何用这种结构显示类别列表?根据是否允许重复,创建一个节点:root->categories->categoryId:name或categoryname:true