2017-02-14 66 views
3

我想知道是否可以将Firebase用作SQL数据库。我在NoSQL中遇到了关系问题。SQL中的Firebase数据库

例如:一个用户属于一个团队,一个团队拥有用户。

+0

IMO你应该手动做。将Firebase数据库导出到JSON,然后使用设计关系编写一些代码将其导入到SQL DB中。 –

+0

Firebase中的NoSQL数据库旨在按原样进行检索和使用。如果大部分数据都是关系数据库,则使用关系数据库。但是,如果您的关系非常少,就像您提到的那样,您必须有一个用户节点和一个团队节点,其中每个用户都有一个团队节点,并且每个团队都有一个节点用户。无论何时发生变化,您都必须更新团队节点以及用户节点。 –

+1

如果您想使用SQL数据库,请使用SQL数据库。有很多很好的选择。如果您想使用Firebase,请了解NoSQL。为此推荐:[NoSQL数据建模](https://highlyscalable.wordpress.com/2012/03/01/nosql-data-modeling-techniques/)和[Firebase for SQL开发人员](https://www.youtube的.com /播放列表?列表= PLL-K7zZEsYLlP-K-RKFa7RyNPa9_wCH2s)。 –

回答

1

以这种方式无法使用Firebase。 Firebase是一个实时对象商店。它不是一个SQL数据库,并不打算替代它。它完全缺乏诸如JOIN,WHERE查询过滤器,外键和其他工具关系数据库都提供的机制。这并不意味着它不是一个有价值的工具。但是任何试图将其视为“像”SQL替换的尝试都会失败。这不是它的目的。

+0

有一个外键可用功能 - https://www.youtube.com/watch?v=rtoxRg-kbt0&list=PLl-K7zZEsYLlP-k-RKFa7RyNPa9_wCH2s – johndpope

+0

对不起,不,不。验证规则可以访问多个位置的密钥,但这些密钥严格来说是服务器端的,并且不是外键。这不是对产品的批评。这是一个承认,尝试使用这些SQL领域假设来构建应用程序并不有效。 Firebase是不同的。它需要按照设计的方式来使用它的所有好处。 –

+0

引用视频 - “你可以创建外键像结构”https://youtu.be/rtoxRg-kbt0?list=PLl-K7zZEsYLlP-k-RKFa7RyNPa9_wCH2s&t=415 - 我要远离火力基地和滚动一个sqlite数据库/只是让它保持同步的头。 – johndpope