In diesem Blogbeitrag stelle ich drei wichtige Prinzipien aus dem Datenbank-Kurs von JJ Englert vor. Sie umfassen die besten Praktiken zur Strukturierung von Datentypen, Reduzierung von Datenbankanfragen und Verbesserung der Datenleistung in Bubble Anwendungen.
Hinweis: Dieser Blogbeitrag gibt einen kleinen Einblick in den Kurs von JJ und konzentriert sich auf eine persönliche Auswahl von Schlüsselerkenntnissen. Der Kurs selbst vermittelt viel mehr Wissen als hier aufgegriffen wird.
Eine skalierbare Datenbank in Bubble anlegen – das braucht man
Bevor man Datentypen in Bubble beginnt zu erstellen, empfehle ich:
Das Design der Anwendung parat zu haben: Am besten hat man das UI jeder Seite vor sich liegen
Die Funktionen der App zu verstehen: Wo und wie werden die Daten in der Anwendung benötigt?
Die erforderlichen Daten grob zu kategorisieren: Daten gruppieren hilft später beim Anlegen der Datentypen in Bubble.
eCommerce Datenbankschema für eine Lieferservice-App
Um die drei Prinzipien besser zu erläutern, kann ich sie am Beispiel der UI einer Lieferservice-App verdeutlichen. Ich habe dieses Beispiel auch für den praktischen Teil meiner Kurszertifizierung genutzt. Die Lieferservice-App funktioniert ähnlich wie Lieferando und eat.ch.
Die UI der Lieferservice-App am Beispiel einiger Seiten
Prinzip 1: Erst die UI erstellen, dann Datentypen auf die UI abstimmen
Das erste wichtige Prinzip besteht darin, die Datenbankstruktur auf die UI jeder Seite der Anwendung abzustimmen. Erst wenn die UI erstellt ist, sollte man sich Gedanken über die passenden Datentypen machen. So wird sichergestellt, dass jede Seite nur die benötigten Daten lädt und die Anwendung ingesamt schneller läuft.
Für die Lieferservice-App habe ich mich auf jeder Seite der App umgesehen, um herauszufinden, welche Daten benötigt werden, und dann wichtige Datentypen wie Nutzer, Restaurant, Essen, Bewertungen und Bezahlung identifiziert.
Prinzip 2: Eher mehr und kleinere Datentypen anlegen, als wenige, grosse Datentypen erstellen
Die meisten Bubble Entwickler neigen dazu, wenige grosse Datentypen zu erstellen, um die Übersichtlichkeit im Bereich Daten zu wahren. Jedoch ist es effizienter, mehrere kleine Datentypen zu erstellen. So können Datenfelder besser voneinander getrennt und schneller aufgerufen werden. Ausserdem vereinfacht es die Strukturierung von Satellitendatentypen, da man diese einfacher in Bezug zueinander setzen kann.
Für die Lieferservice-App habe ich darüber nachgedacht, welche Datentypen ich als Satelliten anlegen kann und diese in unterschiedlich miteinander verknüpfte Datentypen strukturiert, basierend auf der UI. Ich habe das Schema in Lucid Chart gezeichnet und immer wieder in der App-UI überprüft, wie die Daten in Verbindung zueinander stehen.
Prinzip 3: Datentypen, die dazu neigen gross zu werden, in Satelliten aufbrechen und miteinander in Bezug setzen
Das letzte wichtige Prinzip ist das Aufbrechen von grossen Datentypen in Satelliten. Dies bedeutet, dass grosse Datentypen in kleinere Untergruppen aufgeteilt und diese in Beziehung zueinander gesetzt werden. Dadurch wird das Laden von Daten beschleunigt und die Benutzerfreundlichkeit verbessert sich.
Für die Lieferservice-App habe ich die Datentypen in Relation zueinander gesetzt und geprüft, ob ich alle Felder berücksichtigt habe.
Bubble Datenbank Zertifizierung
Ich habe mein eCommerce-Datenbankschema für die Zertifizierung bei NoCodeAlliance eingereicht und erfolgreich bestanden.
Hier das Feedback von JJ:
"Hi Anna, Sorry for the delay with getting back to you. This got lost in the shuffle of things somehow. Anyways, I really like your DB schema. I think you do a great job using satellites, and everything is clean and simple. There are a couple of choices that you can make such as calculating the average review (and count) and storing that value on the restaurant satellite itself (so you don't have to run those calcs on every page load.) Anyways, that's the small stuff. I think you killed it and I'd have you create DB schemas for me (and my team) any day. Congrats on your certification, and for making it all the way through the course!" Otherwise, we look forward to seeing all of the things that you will go onto build and accomplish, and will always be in your corner. Sincerely, JJ Englert Founder of NoCode Alliance
Kommentare