2017-02-14 3 views
3

FirebaseをSQLデータベースとして使用できるかどうかを知りたいと思います。私はNoSQLの関係に問題があります。SQLベースのFirebaseデータベース

たとえば、ユーザーはチームに所属し、チームにはユーザーが所属しています。

+0

IMO手動で行う必要があります。 Firebase DBを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/playlist?list = PL1-K7zZEsYLlP-k-RKFa7RyNPa9_wCH2s)。 –

答えて

1

このようにFirebaseを使用することはできません。 Firebaseはリアルタイムのオブジェクトストアです。これはSQLデータベースではなく、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 - 私はfirebaseとロールから遠ざかるsqliteのdb /ちょうど同期を維持する頭があります。 – johndpope

関連する問題