Concetti chiave
Una rapida panoramica del vocabolario che incontrerai ovunque in EntityFlow.
Diagramma
Un diagramma è uno schema che stai progettando. Ha un nome, un dialetto SQL predefinito, una visibilità (privato, oppure condiviso con un'area di lavoro), e contiene ogni tabella, relazione, gruppo, nota e tipo personalizzato che crei. Puoi avere tutti i diagrammi che desideri e passare dall'uno all'altro dalla finestra di dialogo Apri.
Tabella
Una tabella è una scheda sull'area di disegno che rappresenta una tabella di database. La sua intestazione mostra il nome; le sue righe sono i campi. Una sottile fascia colorata in alto è il colore della tabella, che la tinteggia anche nella minimappa. Le tabelle possono essere spostate, ridimensionate, ricolorate, compresse, duplicate e raggruppate.
Campo
Un campo (colonna) ha un nome, un tipo e un insieme di vincoli. EntityFlow mostra il ruolo di ogni campo tramite icone e badge:
| Badge | Significato |
|---|---|
| 🔑 (chiave dorata) | Chiave primaria |
| 🔗 (collegamento blu) | Chiave esterna |
| NN | Non nullo |
| ✓ | Univoco |
| Auto | Auto-incremento |
I tipi provengono dal dialetto del diagramma (ad es. varchar, int, numeric, timestamp) oltre a qualsiasi enumerazione personalizzata che definisci.
Relazione
Una relazione è una chiave esterna disegnata come un arco tra due campi. Ogni estremità porta una cardinalità (uno / molti / opzionale), ed EntityFlow instrada la linea in modo ortogonale attorno alle tue tabelle. Puoi ricolorare, ristilizzare, curvare o reinstradare manualmente qualsiasi arco. → Relazioni
Gruppo contenitore
Un gruppo contenitore (o area) è un riquadro etichettato che contiene tabelle correlate — per esempio un gruppo Catalog e un gruppo Sales. Sposta il gruppo e le sue tabelle si spostano con esso; il riquadro si riadatta man mano che aggiungi o rimuovi membri. I gruppi sono un ausilio visivo, non un oggetto di database. → Gruppi contenitori
Nota adesiva
Una nota adesiva è un'annotazione a testo libero che puoi posizionare ovunque — utile per ipotesi, attività da svolgere o per spiegare una relazione complessa. → Note adesive
Tipo personalizzato (enumerazione)
Un tipo personalizzato è un'enumerazione denominata — per esempio order_status = { pending, paid, shipped, cancelled } — che puoi riutilizzare come tipo di campo in tutto il diagramma. → Tipi personalizzati ed enumerazioni
Come viene archiviato il tuo lavoro
EntityFlow mantiene due rappresentazioni di ogni diagramma, e questa separazione è ciò che rende sicura la collaborazione in tempo reale:
- Il documento (la fonte di verità). Le tue modifiche confluiscono in un CRDT — una struttura di dati priva di conflitti — così che un numero qualsiasi di persone possa modificare contemporaneamente e convergere sempre allo stesso risultato. Viene memorizzato nella cache del tuo browser (così puoi lavorare offline) e reso persistente sul server quando hai effettuato l'accesso.
- La proiezione (una copia interrogabile). Il server deriva una copia normalizzata e di sola lettura del documento, utilizzata per la ricerca, la governance e l'esportazione lato server. Viene sempre ricostruita a partire dal documento, mai il contrario.
Non interagisci mai direttamente con questi elementi — ma è ciò che consente a un diagramma EntityFlow di essere modificato in tempo reale da una moltitudine, esportato in modo identico sul client e sul server, e ripristinato byte per byte da una versione. → Architettura
Validazione
Mentre modifichi, EntityFlow esegue una passata di validazione consapevole del dialetto e segnala eventuali problemi nell'elenco Problemi — chiavi primarie mancanti, nomi duplicati, chiavi esterne con tipi non corrispondenti, parole chiave riservate e altro ancora. → Validazione e problemi