Salta al contenuto principale
HPO Software Guide passo passo per creare database 4D e app low-code: dalla prima tabella a un'applicazione aziendale completa.

Alcuni link in questo sito sono link di affiliazione: se acquisti tramite questi, potremmo ricevere una commissione senza alcun costo aggiuntivo per te. Questo non influisce mai sui nostri consigli. Consulta la nostra informativa sugli affiliati per i dettagli. Informativa sulle affiliazioni.

Fondamenti dell'apprendimento della quarta dimensione

Perché i campi dati sono il fondamento di un’applicazione 4D

In 4D, la Struttura è il progetto dell’intera applicazione. Prima di creare un singolo modulo o scrivere una riga di codice 4D, definisci le tabelle che contengono i tuoi dati e i campi che vivono al loro interno. Tutto a valle — moduli, liste valori, query, relazioni, report — è costruito su questa struttura. Definisci i campi correttamente e il resto dell’applicazione andrà a posto. Se sbagli, passerai anni a cercare di aggirare decisioni che non potrai annullare facilmente.

Quest’ultimo punto è la cosa più importante da comprendere sul modello dei campi dati di 4D: una volta creato un campo dati, non può essere eliminato. Questo non è un bug o una svista. Riflette una filosofia di progettazione deliberata in 4D (originariamente sviluppata da Laurent Ribardière e commercializzata per decenni da 4D Inc., ex ACI) che dà priorità alla stabilità strutturale e all’integrità dei dati rispetto a cambiamenti casuali dello schema. Il campo occupa uno slot permanente nella struttura interna della tabella e 4D riserva tale slot per tutta la vita del database.

Ciò ha conseguenze reali sul modo in cui lavori e dà forma ai consigli pratici contenuti in questo articolo.

Punti chiave

  • Un campo dati 4D, una volta creato, non può essere eliminato — può solo essere rinominato, riutilizzato o nascosto.
  • Facendo clic sull’area del campo dati (i quadrati sotto il nome di una tabella) si apre Proprietà campo; facendo clic sul nome della tabella si apre invece Proprietà tabella.
  • I campi Testo possono contenere fino a 32.000 caratteri; i campi Alpha hanno una lunghezza limitata (predefinito 20, massimo 80) e sono l’unico tipo utilizzabile come chiavi di relazione.
  • I campi creati oltre le righe visibili esistono ancora: devi solo allungare la tabella o utilizzare le frecce su/giù per vederli.
  • I campi calcolati come Età non sono definiti nella Struttura; il calcolo viene associato quando crei o modifichi un modulo.
  • Lasciare aperta la finestra Struttura (invece di chiuderla) evita di essere spinti in modalità Utente prima di essere pronti.

Creazione del tuo primo campo dati

Veniamo ora alla parte interessante: la creazione dei campi dati. Interessante, ma con quella caratteristica fastidiosa menzionata sopra: un campo, una volta creato, non può essere eliminato. Allora cosa fai se commetti un errore? Hai tre opzioni pratiche:

  • Rinominalo. Se hai creato “Frist Name” per sbaglio, rinominalo in “First Name” e vai avanti.
  • Riutilizzalo in seguito. Un campo che non ti serve oggi potrebbe servire domani. Molti sviluppatori 4D esperti mantengono una piccola riserva di campi di scorta proprio per questo motivo.
  • Nascondilo. Senza dati nel campo, ciò non influirà in modo significativo sulle dimensioni o sul funzionamento del programma. Un campo vuoto non costa quasi nulla in fase di esecuzione.

Per creare il primo campo dati, fai doppio clic sulla tabella Customers nell’area del campo dati, come indicato dalla freccia nella Figura 8. Il punto in cui fai clic è importante. Se fai clic nell’area del nome della tabella, verrà visualizzata nuovamente la finestra Proprietà tabella. Facendo clic sui quadrati (l’area del campo dati) sotto il nome della tabella viene invece visualizzata la finestra Proprietà campo.

Questa distinzione del target di clic fa inciampare quasi tutti i nuovi arrivati. Il nome della tabella è un controllo per le impostazioni a livello di tabella; la griglia di quadrati sottostante è l’elenco dei campi. Impara a mirare ai quadrati.

Correlato: — La piattaforma di database relazionale di lunga durata per i team che necessitano di app personalizzate su desktop, Web e dispositivi mobili da un singolo file..

Scegliere il tipo di dati corretto

Con la finestra Proprietà campo aperta (Figura 9), inserisci “First Name” per Nome campo e seleziona Testo per Tipo dati. I campi di testo possono contenere fino a 32.000 caratteri — abbastanza generosi per nomi, note, descrizioni e la maggior parte dei contenuti in formato libero.

Al termine, fai clic su Applica e la tabella mostrerà il primo campo dati (Figura 10).

Ora seleziona l’area del campo dati successiva nella finestra Struttura per Sample Database e ripeti:

Se stai facendo acquisti: — Un generatore di app a basso codice che si collega alla più ampia suite Zoho e prezzi per utente anziché per app..

  • Crea un campo Testo chiamato “Last Name”.
  • Crea un campo chiamato “Address”, ma imposta Address come campo di tipo Alpha.

La distinzione tra Testo e Alpha è più importante di quanto sembri a prima vista.

I campi Alpha possono contenere il numero massimo di caratteri specificato come lunghezza del campo. Il valore predefinito è 20 e il massimo è 80 caratteri. Se imposti 20 come lunghezza massima, il programma semplicemente non ti consentirà di digitare di più: il campo applica il proprio limite al momento dell’immissione. Ciò rende Alpha ideale per valori brevi e con scopo fisso: codici, abbreviazioni, flag di stato e, soprattutto, chiavi di relazione.

I campi Alpha sono gli unici campi che possono essere utilizzati per le chiavi di relazione. Se prevedi di collegare due tabelle tra loro (ad esempio, Customers a Orders), il campo di collegamento su almeno un lato deve essere Alpha. Si tratta di un vincolo strutturale, non di una preferenza, ed è uno dei motivi per riflettere attentamente prima di assegnare i tipi.

Un modo rapido per decidere:

Caso d’usoTipo consigliatoPerché
Nomi, note, descrizioniTestoFino a 32.000 caratteri, nessun limite fisso
Codici brevi, flag di stato, ID usati come chiaviAlphaLunghezza forzata, utilizzabile come chiave di relazione
Date, importi, quantitàTipi Numerico/DataAbilitano calcoli e ordinamento
Valori calcolati da altri campi (es. Età)Definiti nel modulo, non nella StrutturaMantiene la Struttura pulita

Visualizzazione di tutti i campi nella finestra Struttura

Si noti nella Figura 11 a sinistra che nella tabella Clienti vengono visualizzati solo tre campi dati. Stai per crearne un quarto chiamato “Città”, ma per vederlo devi trascinare la tabella per allungarla o utilizzare le frecce su e giù nella parte superiore della tabella per visualizzare campi aggiuntivi.

Due note pratiche qui:

Correlato: — Un generatore di rivolto a portali, directory e strumenti interni, con prezzi forfettari anziché tariffe per utente..

  • Se continui a creare i campi, questi verranno aggiunti alla tabella, ma non saranno visibili. I dati ci sono; il display semplicemente non è abbastanza alto.
  • Se ti fermi e poi torni alla creazione dei campi dati, devi allungare la tabella fino al punto in cui c’è una riga del campo dati vuota e fare clic su di essa per continuare. Non è possibile aggiungere elementi a un elenco che non è possibile visualizzare.
  • Le frecce appaiono solo quando ci sono più campi di quelli mostrati, quindi la loro presenza è di per sé un utile segnale che ci sono righe nascoste.

Quando si allunga la tabella, a volte è difficile: è necessario afferrare il bordo nel modo giusto. Con un po’ di pratica diventa facile (Figura 12).

Una nota sui campi calcolati come Età

Il campo dati “Età” verrà successivamente calcolato in base ai campi dati Data e Data di nascita. Per ora è solo un campo di immissione dati. Renderlo un calcolo deve essere fatto durante la creazione o la modifica di un modulo.

Questo è un punto architettonico sottile ma importante. In 4D, la Struttura definisce quali dati esistono; il modulo definisce come vengono presentati e calcolati. Un campo come Età è un valore derivato: cambia ogni giorno, quindi memorizzarlo come dato statico sarebbe sbagliato. Collegando il calcolo a livello di modulo, ti assicuri che l’Età sia sempre aggiornata ogni volta che il record viene visualizzato.

La nostra scelta: — Un'interfaccia semplice come un foglio di calcolo posizionata sopra un vero database relazionale, con automazioni, visualizzazioni e interfacce condivisibili..

Se provieni da strumenti come Microsoft Access o FileMaker, questa separazione potrebbe sembrare insolita. In 4D, la disciplina di mantenere i valori derivati fuori dalla Struttura ripaga con dati più puliti e meno campi obsoleti. Per un contesto più ampio su come gli schemi di database separano i dati archiviati e derivati, vedi l’articolo di Wikipedia sulla normalizzazione del database, che spiega perché l’archiviazione di valori calcolati ridondanti è generalmente sconsigliata.

Completare ed evitare la trappola dei moduli predefiniti

Una volta terminata la creazione dei campi dati, chiudi la finestra Proprietà campo facendo clic sul pulsante Fine.

Ora un avvertimento: senza moduli creati, se chiudi la finestra Struttura per il database di esempio ti verrà chiesto se desideri creare moduli predefiniti (Figura 14). Se selezioni “No”, la finestra si chiuderà e verrai indirizzato alla modalità Utente. Poiché non siamo ancora pronti per essere in modalità Utente, per ora lascia semplicemente aperta la finestra Struttura per il database di esempio.

Questo è un ostacolo iniziale comune. I nuovi sviluppatori chiudono la finestra Struttura, rifiutano i moduli predefiniti e si ritrovano improvvisamente in un ambiente runtime senza nulla da eseguire. La soluzione è semplice: riaprire la Struttura, ma vale la pena interiorizzare la lezione: in 4D, le modalità Struttura (design time) e Utente (run time) sono ambienti distinti e ci si sposta deliberatamente tra di essi.

Se sei curioso di sapere come si inserisce 4D nel panorama più ampio delle piattaforme di sviluppo rapido di applicazioni, la panoramica di Wikipedia sulle piattaforme di sviluppo low-code è un riferimento utile per comprendere la categoria che 4D ha aiutato a pionierizzare.

Migliori pratiche per strutturare i campi in anticipo

Dato che i campi sono permanenti, una piccola pianificazione iniziale evita molti problemi in seguito. Considera queste abitudini:

  • Nomina i campi in modo coerente. Decidi una convenzione (ad esempio, “Nome”, “Cognome”, “Data di nascita”) e applicala ovunque. La coerenza rende i moduli e il codice molto più facili da creare.
  • Riserva i campi Alpha per le chiavi. Se un campo parteciperà mai a una relazione, rendilo Alpha dall’inizio. La conversione successiva non è possibile.
  • Mantieni i valori derivati fuori dalla Struttura. Età, totali e valori calcolati simili appartengono ai moduli o ai metodi, non ai campi archiviati.
  • Lascia alcuni campi liberi. Poiché non è possibile eliminare, avere a disposizione slot inutilizzati ti dà spazio per adattarti senza ingombrare il tuo schema visibile.
  • Documenta man mano che procedi. Una breve nota sullo scopo di ciascun campo eviterà a te stesso in futuro, e a qualsiasi compagno di squadra, notevoli congetture.

Per una guida autorevole sui principi di progettazione di database relazionali che sono alla base di queste decisioni, la documentazione PostgreSQL offre un riferimento eccellente e indipendente dal fornitore sui tipi di dati e sulla progettazione dello schema, anche se l’implementazione di 4D differisce nelle sue specifiche.

Domande frequenti

Posso eliminare un campo dati in 4D dopo averlo creato?

No. Una volta creato un campo dati nella Struttura 4D, non può essere eliminato. Le tue opzioni sono rinominarlo, riutilizzarlo per un uso diverso in seguito o semplicemente nasconderlo. Un campo vuoto senza dati non influisce in modo significativo sulle dimensioni o sul funzionamento del programma, quindi lasciare un campo inutilizzato al suo posto è solitamente innocuo.

Qual è la differenza tra un campo Testo e un campo Alpha?

I campi di testo possono contenere fino a 32.000 caratteri e non hanno limiti di lunghezza fissi. I campi Alpha hanno una lunghezza limitata (il valore predefinito è 20 caratteri e il massimo è 80) e il programma applica tale limite all’immissione dei dati. Fondamentalmente, i campi Alpha sono l’unico tipo di campo che può essere utilizzato come chiavi di relazione.

Perché non riesco a vedere il nuovo campo dati che ho appena creato?

Se continui a creare campi oltre le righe visibili della tabella, questi verranno aggiunti ma non visualizzati. Per vederli, trascina la tabella per allungarla o utilizza le frecce su e giù nella parte superiore della tabella. Le frecce appaiono solo quando sono presenti più campi di quanti la tabella possa mostrarne.

Come faccio a fare in modo che un campo come Età venga calcolato automaticamente?

I campi calcolati come Età non sono definiti nella Struttura. Il calcolo viene invece associato quando crei o modifichi un modulo. Il campo Età viene inizialmente creato come un normale campo di immissione dati, e il calcolo basato su Data e Data di nascita viene aggiunto successivamente a livello di modulo.

Cosa succede se chiudo la finestra Struttura prima di creare i moduli?

Se chiudi la finestra Struttura per il Database di esempio senza aver creato moduli, 4D ti chiede se desideri creare i moduli predefiniti. Se rispondi “No”, la finestra si chiude e verrai indirizzato alla modalità Utente. Poiché non sei ancora pronto per eseguire l’applicazione, è preferibile lasciare aperta la finestra Struttura finché i moduli non saranno stati costruiti.

Perché facendo clic sulla tabella a volte si apre la finestra sbagliata?

Il punto in cui fai clic determina quale finestra appare. Facendo clic sull’area del nome della tabella si apre la finestra Proprietà tabella, mentre facendo clic sui quadratini nell’area dei campi dati sotto il nome della tabella si apre la finestra Proprietà campo. Punta alla griglia di quadratini quando desideri aggiungere o modificare i campi.


Costruisci la tua prima base in pochi minuti

Un'interfaccia semplice come un foglio di calcolo posizionata sopra un vero database relazionale, con automazioni, visualizzazioni e interfacce condivisibili.