我有一个与SQL数据库一起使用的引号应用程序,我想转移到Firebase数据库。由于SQL数据库是一个关系数据库,我对应用程序的正确结构感到困惑。
在SQL数据库中,我使用了三个表: -
每个引号都有一个作者和一个类别,因此用户可以查看作者列表,并可以查看特定作者的所有引号。他还可以查看类别列表,并可以查看与特定类别相关的所有报价。
所以Quotes表有两个外键引用了Authors表的主键和Categories表的主键。
任何人都可以帮我找到应用程序的最佳结构吗?
答案 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);