【问题标题】:How to design Firebase Database for a quotes application?如何为报价应用程序设计 Firebase 数据库?
【发布时间】:2017-07-16 13:39:42
【问题描述】:

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

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

  • 作者
  • 类别
  • 行情

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

所以 Quotes 表有两个外键,分别是 Authors 表主键和 Categories 表主键的引用。

谁能帮我找出我的应用程序的最佳结构?

【问题讨论】:

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


【解决方案1】:

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

【讨论】:

  • 如何显示这种结构的分类列表?
  • 有一个节点:root -> categories -> categoryId:name 或 categoryname:true 取决于您是否要允许重复
猜你喜欢
  • 1970-01-01
  • 2021-05-10
  • 1970-01-01
  • 2015-02-03
  • 2020-07-07
  • 2013-06-21
  • 1970-01-01
  • 2014-06-05
  • 2011-12-07
相关资源
最近更新 更多