2017-01-09 84 views
8

Jestem dość nowa w Firebase, mam trochę wiedzy na temat baz danych, ponieważ wcześniej pracowałem z MySQL, ale czytając zalety Firebase i co ma w ofercie - baza danych w czasie rzeczywistym, login (auth), analytics itp.Baza danych Firebase vs MySQL (hierarchiczna/relacyjna)

Szukam wdrożenia Firebase w projekcie, nad którym pracuję. Podczas gdy MySQL jest relacyjną bazą danych, przez moje poszukiwania znalazłem (jak sądzę) Firebase jest hierarchiczną bazą danych ze względu na strukturę bazy danych takiej jak drzewo JSON.

Po prawidłowym rozwoju, chciałbym narysować ERDS i tabele bazy danych, aby dowiedzieć się, w jaki sposób mój projekt będzie komunikował się z backendem. Jednak nie jestem całkiem pewien, jak mogę reprezentować strukturę danych za pomocą tych mediów, ponieważ w SQL masz klucze podstawowe i klucze obce łączące tabele. Czy tak też jest w przypadku Firebase?

Na przykład, w MySQL tabela będzie wyglądać następująco: [d]
ERD chciałby jak:

moje pytania są następujące:

  • Czy mam rację mówiąc Firebase jest hierarchiczna struktura danych?
  • W jaki sposób dane mogą być reprezentowane w tabelach ERD i bazy danych, aby pokazać strukturę danych w bazie Firebase?
  • Czy Firebase używa kluczy podstawowych i obcych, jak w MySQL
    Jeśli tak, czy są one reprezentowane w taki sam sposób jak przy projektowaniu ERD i tabel dla bazy danych MySQL?
  • Jak/jak najlepiej uporządkować dane w Firebase i pokazać je w ERD i tabelach?

Jestem nowy w Firebase, więc każda pomoc będzie miła. Dzięki.

+0

Dzięki, gotowe. . – SumOne

Odpowiedz

5

To niezwykle szeroki temat, o czym świadczy fakt, że masz cztery pytania w jednym poście. Polecam obejrzenie serii Firebase for SQL developers i przeczytanie NoSQL data modeling.

Kilka szybkich odpowiedzi:

  • Firebase jest rzeczywiście hierarchiczna struktura danych: To naprawdę tylko JSON drzewo w chmurze.
  • nie ma zdefiniowanego sposobu wyświetlania danych hierarchicznych w ERD. Częściej pokazuje się drzewo JSON.
  • Firebase ma koncepcję kluczy, które są nazwami węzłów, w których przechowywane są dane. Możesz nieco porównać te z kluczami podstawowymi relacyjnej bazy danych. Ale nie ma koncepcji zarządzanego klucza obcego.
  • jako drugie pytanie: powszechną praktyką jest modelowanie bazy danych Firebase jako JSON, co jest dość wygodne, ponieważ jest to również format przechowywany przez bazę danych.
+0

Cześć, dzięki za link i filmy naprawdę pomocne. Czy istnieje sposób automatycznego przyrostu unikalnych identyfikatorów? Na przykład w mysql możesz mieć numery jako unikalne identyfikatory i za każdym razem, gdy nowe rekordy zostaną dodane, zwiększa się numer wiersza. – SumOne

+0

Używałbyś do tego identyfikatorów Push Firebase.Automatycznie się zwiększają, ale w dalszym ciągu pracują na dużą skalę i w scenariuszach, w których użytkownicy mogą być offline. Zobacz serię filmów, które łączyłem i https://firebase.googleblog.com/2015/02/the-2120-ways-to-ensure-unique_68.html –

+0

dzięki, zobaczę i dam znać, jeśli napotkam jakieś problemy . – SumOne