web-dev-qa-db-fra.com

Base de données Firebase vs MySQL (hiérarchique / relationnelle)

Je suis assez nouveau sur Firebase, j'ai une certaine connaissance des bases de données parce que j'ai déjà travaillé avec MySQL mais je lis les avantages de Firebase et ce qu'il a à offrir - base de données en temps réel, connexion (auth), analyse, etc.

Je cherche à implémenter Firebase dans le projet sur lequel je travaille. Alors que MySQL est une base de données relationnelle, grâce à ma recherche, j'ai trouvé (je crois) Firebase est une base de données hiérarchique en raison de la façon dont il a structuré la base de données comme un arbre JSON.

En suivant la bonne voie de développement, je voudrais dessiner des tables ERDS et de base de données pour avoir une idée de la façon dont mon projet va communiquer avec le backend. Cependant, je ne sais pas trop comment représenter la structure de données à l'aide de ces supports car en SQL, vous auriez des clés primaires et des clés étrangères reliant les tables. Est-ce également le cas pour Firebase?

Par exemple, dans MySQL, la table ressemblerait à: [d]
La DRE souhaite:

Mes questions sont:

  • Ai-je raison de dire que Firebase est une structure de données hiérarchique?
  • Comment les données peuvent-elles être représentées dans les tables ERD et Database pour montrer la structure des données de Firebase?
  • Firebase utilise-t-il des clés primaires et étrangères comme dans MySQL
    Si oui, sont-ils représentés de la même manière que lors de la conception des ERD et des tables pour la base de données MySQL?
  • Comment/quelle est la meilleure façon de structurer les données dans Firebase et de les afficher dans ERD et les tableaux?

Je suis nouveau sur Firebase, donc toute aide serait sympa. Merci.

12
SumOne

Il s'agit d'un sujet incroyablement large, comme le montre le fait que vous avez quatre questions dans un même article. Je recommande de regarder notre série Firebase pour les développeurs SQL et de lire modélisation des données NoSQL .

Quelques réponses rapides:

  • Firebase est en effet une structure de données hiérarchique: c'est vraiment juste un arbre JSON dans le cloud.
  • il n'existe aucun moyen défini d'afficher les données hiérarchiques dans un ERD. Il est plus courant d'afficher un arbre JSON.
  • Firebase a le concept de clés, qui sont les noms des nœuds sous lesquels vous stockez des données. Vous pouvez quelque peu les comparer aux clés primaires d'une base de données relationnelle. Mais il n'y a pas de concept de clé étrangère gérée.
  • comme deuxième question: il est courant de modéliser votre base de données Firebase en JSON, ce qui est assez pratique car c'est aussi le format que la base de données stocke.
10
Frank van Puffelen