2017-02-14 64 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