我是Firebase的新手,我对数据库有一定的了解,因为我之前使用过MySQL,但是阅读了Firebase的优点及其提供的内容 - 实时数据库,登录(auth),分析等 .
我希望将Firebase应用到我正在进行的项目中 . 虽然MySQL是一个关系数据库,但通过我的搜索,我发现(我相信)Firebase是一个分层数据库,因为它的结构数据库就像JSON树一样 .
按照正确的开发方式,我想绘制ERDS和数据库表,以了解我的项目如何与后端进行通信 . 但是,我不太确定如何使用这些介质表示数据结构,因为在SQL中,您将拥有主键和连接表的外键 . 这也是Firebase的情况吗?
例如,在MySQL中,表格如下所示:
ERD希望:
我的问题是:
-
我说Firebase是一个分层数据结构吗?
-
如何在ERD和数据库表中表示数据以显示firebase的数据结构?
-
Firebase是否使用MySQL中的主键和外键
如果是这样,它们是否以与为MySQL数据库设计ERD和表格时相同的方式表示? -
如何/什么是在Firebase中构建数据并在ERD和表中显示这些数据的最佳方法?
我是Firebase的新手,所以任何帮助都会很好 . 谢谢 .
1 回答
这是一个令人难以置信的广泛主题,可以从一个帖子中有四个问题的事实看出 . 我建议观看我们的Firebase for SQL developers系列并阅读NoSQL data modeling .
一些快速回答:
Firebase确实是一个分层数据结构:它实际上只是 Cloud 中的一个JSON树 .
没有定义的方法在ERD中显示分层数据 . 显示JSON树更常见 .
Firebase具有键的概念,键是您存储数据的节点的名称 . 您可以将它们与关系数据库的主键进行比较 . 但是没有托管外键的概念 .
作为您的第二个问题:将Firebase数据库建模为JSON是一种常见做法,这非常方便,因为它也是数据库存储的格式 .