我有一个与SQL数据库一起使用的引号应用程序,我想转移到Firebase数据库。由于SQL数据库是一个关系数据库,我对应用程序的正确结构感到困惑。
在SQL数据库中,我使用了三个表:
-category
-author
-quotes
作者 分类 引号
每个引号都有一个作者和一个类别,因此用户可以查看作者列表,并可以查看特定作者的所有引号。他还可以查看类别列表,并可以查看与特定类别相关的所有报价。
所以Quotes表有两个外键引用了Authors表的主键和Categories表的主键。
任何人都可以帮我找到应用程序的最佳结构吗?
TNX
答案 0 :(得分:1)
有一种非常简单的方法可以实现这一目标。以下是您的规范所需的数据结构
您可以根据类别和查询firebaseDB轻松引用引号。你可以通过
来做到这一点 Database.Database().child(quotes).childOrderBy("Category-tag").observe()
同样,您可以按uid
获取作者列表。
希望您找到这个有用的
干杯!
答案 1 :(得分:1)
这是为报价应用程序构建Firebase数据库的解决方案:
Firebase-root
|
--- users
| |
| --- uid1
| |
| --- authors
| | |
| | --- authorId1: true
| | |
| | --- authorId2: true
| |
| --- categories
| |
| --- categoryId1: true
| |
| --- categoryId2: true
|
--- categories
| |
| --- categoryId1
| |
| --- quoteId1: true
| |
| --- quoteId2: true
|
--- authors
| |
| --- authorId1
| |
| --- quotes
| |
| --- quoteId1: true
| |
| --- quoteId2: true
|
|
--- quotes
|
--- quoteId1
|
--- categoryId1: true
|
--- authorId1: true
我没有在此数据库结构中包含详细信息,例如作者姓名,类别名称和其他此类详细信息,因此您可以专注于Firebase节点之间的关系。使用此数据库结构,您可以执行以下操作以查看:
属于特定作者和特定类别的所有引号
所有类别
最后,我重新命令你看到这一系列的教程:The Firebase Database For SQL Developers以便更好地理解。