Data Builder
Il Data Builder di Archie Core è un’interfaccia di modellazione dei dati per definire tabelle di database, tipi di campi e relazioni tra tabelle.
Per aprire il Data Builder, fai clic su Modello Dati (Data Model) nella barra laterale, seleziona la tabella su cui vuoi lavorare, e poi fai clic sulla scheda Schema.

Per ogni tabella definita, il motore GraphQL di Archie Core crea automaticamente tipi di oggetti dello schema GraphQL e i corrispondenti campi di query, mutazione e sottoscrizione con i resolver.
Ciò significa che tutte le azioni Crea, Leggi, Aggiorna ed Elimina (CRUD), così come le connessioni in tempo reale (websockets), sono immediatamente disponibili per l’uso tramite l’endpoint API univoco dello spazio di lavoro.
Lavorare con le Tabelle
Sezione intitolata “Lavorare con le Tabelle”In background, Archie Core fornisce un’istanza di database PostgreSQL dedicata per il tuo spazio di lavoro. PostgreSQL è un database relazionale a oggetti open source avanzato noto per la sua affidabilità e integrità dei dati. Gestisce in modo efficiente query complesse e supporta completamente la conformità ACID (Atomicità, Coerenza, Isolamento, Durabilità).
Creare Tabelle
Sezione intitolata “Creare Tabelle”Fai clic sul pulsante + Aggiungi Tabella (+ Add Table) per creare una nuova tabella. Il nome predefinito per le nuove tabelle è “untitled_table”. Tutte le tabelle richiedono nomi univoci (i nomi attribute, workspace e la loro forma plurale sono riservati e non possono essere utilizzati in nessun caso di lettera).
Non appena viene creata una tabella, i corrispondenti tipi di schema GraphQL e i resolver di query, mutazione e sottoscrizione verranno generati automaticamente.

Aggiornare Tabelle
Sezione intitolata “Aggiornare Tabelle”Dopo aver creato una tabella, è possibile definire campi e relazioni. Tutti gli aggiornamenti a una tabella vengono pubblicati in tempo reale, offrendo un’esperienza fluida tra la definizione di un modello dati e la sua elevata disponibilità.
Non appena una tabella viene aggiornata, i suoi corrispondenti tipi di schema GraphQL e i resolver di query, mutazione e sottoscrizione verranno aggiornati automaticamente.
Per garantire che gli errori e gli sbagli relativi alle tabelle siano ridotti al minimo, Archie Core protegge da molte azioni dannose. Alcune di queste includono:
- Un messaggio che richiede un Valore Predefinito (Default Value) apparirà quando si modifica un campo non obbligatorio in obbligatorio.
- I valori dei campi Data, Numero e Testo vengono convertiti automaticamente quando viene aggiornato un tipo di campo esistente.
- Quando si modifica un campo non univoco in univoco, i record correnti vengono convalidati per avere valori univoci.
Eliminare Tabelle
Sezione intitolata “Eliminare Tabelle”Per eliminare una tabella:
- Vai al nome della tabella e fai clic su
... - Fai clic su Elimina questa Tabella (Delete this Table).
- Si apre una finestra di dialogo di conferma. Digita il nome della tabella e fai clic su Elimina (Delete).
Pericolo: Le tabelle eliminate non possono essere ripristinate e tutti i record esistenti della tabella andranno persi. Inoltre, se ci sono tabelle correlate alla tabella che viene eliminata - appartiene a (belongs to) e ha molti (has many), specificati come obbligatori o meno - quelle relazioni verranno interrotte.

Relazioni tra Tabelle
Sezione intitolata “Relazioni tra Tabelle”Archie Core supporta tre tipi di relazioni tra tabelle da definire che sono congruenti con quanto ci si aspetta dai database relazionali:
| Tipo | A a B | B ad A |
|---|---|---|
| uno-a-uno | I record nella tabella A possono avere_uno (have_one) o appartenere_a (belong_to) record nella tabella B. | I record nella tabella B possono avere_uno (have_one) o appartenere_a (belong_to) record nella tabella A. |
| uno-a-molti | Il record nella tabella A può avere_molti (have_many) record nella tabella B. | I record nella tabella B possono avere_uno (have_one) o appartenere_a (belong_to) record nella tabella A. |

Definire una relazione tra due tabelle può essere realizzato trascinando e rilasciando una tabella su un’altra o selezionando Tabella (Table) come Tipo di Dati quando si crea un nuovo campo tabella.
Configurazioni Tabella
Sezione intitolata “Configurazioni Tabella”Per specificare le relazioni ha molti, ha uno e appartiene a tra le tabelle.
Configurazioni
- Nome: Per selezionare quale tabella deve essere correlata.
- Tabella Correlata: Il nome della relazione come appare sulla tabella corrispondente.
- Tipo: Se la relazione è ha uno o ha molti.
- Descrizione: Una casella di testo facoltativa in cui puoi scrivere informazioni sul campo.
- Obbligatorio: Se la relazione del campo è richiesta.
Tipi di Tabella
Sezione intitolata “Tipi di Tabella”Esistono tre tipi di tabelle: Personalizzata (Custom), Vista (View) e Tipo di Dati (Data Type).
Tabelle Personalizzate
Sezione intitolata “Tabelle Personalizzate”Le tabelle personalizzate sono le tabelle create in qualsiasi spazio di lavoro da un amministratore. Sono completamente personalizzabili.
Tabelle Vista
Sezione intitolata “Tabelle Vista”Le Tabelle Vista sono tabelle virtuali che aggregano campi da diverse tabelle in un’unica vista. Sotto il cofano, si basano sul set di risultati di un’istruzione SQL. In uno spazio di lavoro, possono essere create utilizzando la mutazione GraphQL viewCreate nell’Explorer API.
Tipo di Dati
Sezione intitolata “Tipo di Dati”I Tipi consentono di definire un set statico e ordinato di valori che si escludono a vicenda. A differenza dei campi di testo standard, un Enum limita l’inserimento dei dati a un elenco specifico di costanti predefinite.
Esempi comuni includono indicatori di stato (ad es. BOZZA, PUBBLICATO, ARCHIVIATO), ruoli utente o etichette di categoria.
Utilità e Vantaggi
Sezione intitolata “Utilità e Vantaggi”L’utilizzo di Enum nello schema del database offre diversi vantaggi chiave:
- Integrità dei Dati: Gli Enum impongono una rigorosa convalida dei dati a livello di database. Poiché il campo accetta solo valori dall’elenco definito, elimina gli errori causati da errori di battitura o convenzioni di denominazione incoerenti (ad es. impedendo un mix di “Alto”, “alto” e “Hi” per un campo di priorità).
- Coerenza del Codice: Forniscono un’unica fonte di verità per i valori consentiti, rendendo la logica dell’applicazione più prevedibile e più facile da mantenere.
- Leggibilità: Gli Enum rendono i dati auto-descrittivi. Un valore come
PAGAMENTO_FALLITOè molto più significativo per sviluppatori e analisti di un codice numerico arbitrario comecodice_errore: 3. - Prestazioni: In PostgreSQL, gli Enum vengono archiviati in modo efficiente sotto il cofano ma presentati come stringhe leggibili, offrendo un equilibrio tra prestazioni e leggibilità umana.