2017-01-09 4 views
8

Ich bin ziemlich neu in Firebase, ich habe einige Kenntnisse von Datenbanken, weil ich schon mit MySQL gearbeitet habe, aber die Vorteile von Firebase gelesen habe und was es im Angebot hat - Echtzeitdatenbank, login (auth), analytics usw.Firebase vs. MySQL-Datenbank (hierarchisch/relational)

Ich möchte Firebase in das Projekt implementieren, an dem ich gerade arbeite. Während MySQL eine relationale Datenbank ist, fand ich durch meine Suche (glaube ich) Firebase eine hierarchische Datenbank, weil die Datenbank wie ein JSON-Baum strukturiert ist.

Nach dem richtigen Weg der Entwicklung, würde ich gerne ERDS und Datenbanktabellen zeichnen, um eine Vorstellung davon zu bekommen, wie mein Projekt mit dem Backend kommunizieren wird. Ich bin mir jedoch nicht ganz sicher, wie ich die Datenstruktur mit diesen Medien darstellen kann, weil in SQL Primärschlüssel und Fremdschlüssel Tabellen verknüpfen würden. Ist das auch für Firebase der Fall?

Zum Beispiel in MySQL würde die Tabelle wie folgt aussehen: [d]
Die ERD möchte wie:

Meine Fragen sind:

  • Bin ich sagen Firebase zu korrigieren ist eine hierarchische Datenstruktur?
  • Wie können Daten in ERD- und Datenbanktabellen dargestellt werden, um die Datenstruktur von Firebase anzuzeigen?
  • Verwendet Firebase Primär- und Fremdschlüssel wie in MySQL
    Wenn ja, werden diese auf die gleiche Weise wie beim Entwerfen von ERDs und Tabellen für MySQL-Datenbank dargestellt?
  • Wie/was ist der beste Weg, Daten in Firebase zu strukturieren und diese in ERD und Tabellen anzuzeigen?

Ich bin neu in Firebase, also jede Hilfe wäre nett. Vielen Dank.

+0

Danke, fertig. . – SumOne

Antwort

5

Dies ist ein unglaublich weites Thema, wie man an der Tatsache sehen kann, dass Sie vier Fragen in einem einzigen Beitrag haben. Ich empfehle Ihnen, unsere Firebase for SQL developers Serie anzusehen und NoSQL data modeling zu lesen.

Ein paar schnellen Antworten:

  • Firebase ist in der Tat eine hierarchische Datenstruktur: es ist wirklich nur ein JSON Baum in der Cloud.
  • Es gibt keine definierte Möglichkeit, hierarchische Daten in einem ERD anzuzeigen. Es ist üblicher, einen JSON-Baum anzuzeigen.
  • Firebase hat das Konzept der Schlüssel, die die Namen der Knoten sind, unter denen Sie Daten speichern. Sie könnten diese mit den Primärschlüsseln einer relationalen Datenbank vergleichen. Aber es gibt kein Konzept für einen verwalteten Fremdschlüssel.
  • als Ihre zweite Frage: Es ist eine gängige Praxis, Ihre Firebase-Datenbank als JSON zu modellieren, was sehr praktisch ist, da dies auch das von der Datenbank gespeicherte Format ist.
+0

Hallo, danke für den Link und Videos wirklich hilfreich. Gibt es eine Möglichkeit, eindeutige Bezeichner automatisch zu inkrementieren? S Beispielsweise können Sie in mysql Zahlen als eindeutige Bezeichner haben, und jedes Mal, wenn neue Datensätze hinzugefügt werden, erhöht sich die Zeilennummer. – SumOne

+0

Sie würden Firebase-Push-IDs dafür verwenden.Sie werden automatisch inkrementiert, aber dann auf eine Art und Weise, die weiterhin in großem Umfang funktioniert und in Szenarien, in denen Benutzer offline sein können. Sehen Sie die Video-Serie, die ich verlinkt und https://firebase.googleblog.com/2015/02/the-2120-ways-to-ensure-unique_68.html –

+0

danke, werde einen Blick und lassen Sie wissen, ob ich irgendwelche Probleme habe . – SumOne