Schlüsselkonzepte
Ein kurzer Überblick über das Vokabular, das Ihnen überall in EntityFlow begegnet.
Diagramm
Ein Diagramm ist ein Schema, das Sie entwerfen. Es hat einen Namen, einen Standard-SQL-Dialekt, eine Sichtbarkeit (privat oder mit einem Arbeitsbereich geteilt) und enthält jede Tabelle, Beziehung, Gruppe, Notiz und jeden benutzerdefinierten Typ, den Sie erstellen. Sie können beliebig viele Diagramme haben und über den Dialog Öffnen zwischen ihnen wechseln.
Tabelle
Eine Tabelle ist eine Karte auf der Arbeitsfläche, die eine Datenbanktabelle darstellt. Ihre Kopfzeile zeigt den Namen; ihre Zeilen sind die Felder. Ein schmaler farbiger Streifen oben ist die Farbe der Tabelle, die sie auch in der Minikarte einfärbt. Tabellen können verschoben, in der Größe geändert, umgefärbt, eingeklappt, dupliziert und gruppiert werden.
Feld
Ein Feld (Spalte) hat einen Namen, einen Typ und eine Reihe von Einschränkungen. EntityFlow zeigt die Rolle jedes Felds mit Symbolen und Abzeichen an:
| Abzeichen | Bedeutung |
|---|---|
| 🔑 (goldener Schlüssel) | Primärschlüssel |
| 🔗 (blauer Link) | Fremdschlüssel |
| NN | Nicht null |
| ✓ | Eindeutig |
| Auto | Auto-Inkrement |
Die Typen stammen aus dem Dialekt des Diagramms (z. B. varchar, int, numeric, timestamp) sowie aus allen benutzerdefinierten Enumerationen, die Sie definieren.
Beziehung
Eine Beziehung ist ein Fremdschlüssel, der als Kante zwischen zwei Feldern gezeichnet wird. Jedes Ende trägt eine Kardinalität (eins / viele / optional), und EntityFlow leitet die Linie orthogonal um Ihre Tabellen herum. Sie können jede Kante umfärben, neu gestalten, biegen oder manuell umleiten. → Beziehungen
Container-Gruppe
Eine Container-Gruppe (oder Bereich) ist ein beschrifteter Kasten, der zusammengehörige Tabellen enthält — zum Beispiel eine Catalog-Gruppe und eine Sales-Gruppe. Verschieben Sie die Gruppe, und ihre Tabellen verschieben sich mit; der Kasten passt sich neu an, wenn Sie Mitglieder hinzufügen oder entfernen. Gruppen sind eine visuelle Hilfe, kein Datenbankobjekt. → Container-Gruppen
Haftnotiz
Eine Haftnotiz ist eine Freitext-Anmerkung, die Sie überall platzieren können — praktisch für Annahmen, To-dos oder zur Erklärung einer kniffligen Beziehung. → Haftnotizen
Benutzerdefinierter Typ (Enumeration)
Ein benutzerdefinierter Typ ist eine benannte Enumeration — zum Beispiel order_status = { pending, paid, shipped, cancelled } — die Sie als Feldtyp im gesamten Diagramm wiederverwenden können. → Benutzerdefinierte Typen und Enumerationen
Wie Ihre Arbeit gespeichert wird
EntityFlow hält zwei Repräsentationen jedes Diagramms vor, und diese Trennung ist es, die die Echtzeit-Zusammenarbeit sicher macht:
- Das Dokument (die Quelle der Wahrheit). Ihre Änderungen fließen in eine CRDT — eine konfliktfreie Datenstruktur — sodass beliebig viele Personen gleichzeitig bearbeiten können und stets zum selben Ergebnis konvergieren. Es wird in Ihrem Browser zwischengespeichert (damit Sie offline arbeiten können) und auf dem Server gespeichert, wenn Sie angemeldet sind.
- Die Projektion (eine abfragbare Kopie). Der Server leitet eine normalisierte, schreibgeschützte Kopie des Dokuments ab, die für Suche, Governance und serverseitigen Export verwendet wird. Sie wird stets aus dem Dokument neu aufgebaut, niemals umgekehrt.
Sie interagieren nie direkt mit diesen — aber das ist der Grund, warum ein EntityFlow-Diagramm live von einer Menge bearbeitet, auf Client und Server identisch exportiert und Byte für Byte aus einer Version wiederhergestellt werden kann. → Architektur
Validierung
Während Sie bearbeiten, führt EntityFlow einen dialektbewussten Validierungsdurchlauf aus und zeigt alle Probleme in der Liste Probleme an — fehlende Primärschlüssel, doppelte Namen, Fremdschlüssel mit nicht übereinstimmenden Typen, reservierte Schlüsselwörter und mehr. → Validierung und Probleme