Creazione oggetto campo
copia linkTrascrizione
Un campo normalmente presente in una tabella database è il campo Chiave Primaria, cioè un campo utilizzato per l’indicizzazione dei dati che contenga valori unici quindi non ripetuti; diverse applicazioni lavorano con tabelle il cui campo chiave primaria è definito come Valore numerico intero progressivo (detto contatore) perché effettivamente è un valore univoco che continua a incrementare e può essere infinito. Ahimè negli anni questa affermazione ha dovuto subire modifiche in quanto il valore numerico contatore è si univoco ma dentro alla stessa tabella ed allo stesso database; oggi giorno i dati sono gestiti e sincronizzati tra applicazione web e sistemi di tipo mobile quindi non c'è più un’unica base dati ma la stessa spezzettata tra più dispositivi: per tale motivo l’utilizzo di una chiave contatore porterebbe più problematiche che soluzioni.
Instant Developer mette a disposizione un algoritmo per la creazione di chiavi primaria uniche nel tempo e nello spazio: vengono denominate DOC-ID una sequenza di 20 caratteri alfanumerici (numeri, caratteri e simboli) e vengono gestite dalla parte di codice applicazione e non direttamente dal database; assomigliamo a ciò che viene denominato Universally unique identifier UUID, o per esser precisi all’implementazione Microsoft denominata GUID Globally Unique Identifier (in questo caso la sequenza è di 32 caratteri solo numeri e lettere). Esiste una correlazione tra DOCID e GUID in quanto è possibile trasformare un elemento da DOCID a GUID e viceversa.
Nel progetto YouBB tutte le tabelle avranno quindi come chiave primaria un campo di tipo DOCID cioè una sequenza di 20 caratteri; mouse nell’albero di progetto sul nome della tabella Localita, tasto destro Aggiungi Campo; digitiamo Id come nome campo assegniamo una descrizione e un titolo identico e come già detto per l’oggetto tabella, vi ricordo che il Nome è solo un alias utilizzato nel progetto e non il nome fisico assegnato al campo: il nome fisico è sotto la voce Codice. Il sistema ha creato un nome automatico unendo il Nome del Campo con il Nome Elemento definito sulla Tabella ecco che il nome fisico del campo sarà IdComune. Questo è il primo significato della proprietà Nome Elemento sull’oggetto Tabella.
È sempre possibile modificare i nomi fisici ed evitare questo automatismo... ma mi raccomando di eseguire l’operazione prima di avere l’applicazione già in fase di produzione; quando il database contiene dati è sempre più difficile apportare modifiche alla struttura (non ho detto impossibile ma sicuramente più complicato).
Definiamo la tipologia del campo Id; le tipologie disponibili sono quelle elencate nella combobox (Integer, Float, Decimal, Currency, Char, Char Fixed, Date, DateTime), sono meta-tipologie non reali tipologie del motore database scelto; durante l’invio della struttura verranno trasformate nella tipologia corretta.
Questo campo sarà la chiave primaria quindi inserisco come Esempi di contenuto una sequenza di 20 caratteri qualsiasi, come Tipo di dati imposto Char(Lunghezza fissa), con Lunghezza Massima a 20 caratteri; non dimentichiamoci del check sull’opzione Chiave Primaria che appunto dichiara il campo come chiave della tabella; tutto perfetto confermo il contenuto della scheda con Salva.
Secondo campo, tasto destro sull’albero di progetto, sulla tabella Localita, Aggiungi Campo: il nome che leggo nel foglio di analisi database è Denominazione: conterrà appunto i nomi delle Località, imposto come descrizione e Titolo la stessa frase Nome Località e come Esempi di contenuto alcuni esempi di città: Roma PUNTO VIRGOLA Milano PUNTO VIRGOLA Torino; questi esempi di contenuto verranno mostrati in fase di progettazione interfaccia per poter capire ad esempio quando larga dovrà essere una colonna o una input di testo; continuo definendo Tipo di Dati Char Lunghezza 50 caratteri. Confermo e passo all’ultimo campo previsto nella tabella Localita: ISO Stato; si vuole memorizzare il codice dello Stato in cui è presente la località, il campo è sempre di tipo Char, 5 caratteri. Vorrei applicare al campo un valore predefinito, nel caso l’utente non digiti nessun Stato voglio che venga impostato il valore ITA. E’ presente un check Valore Predefinito, ma anche spuntandolo non mi viene richiesto il valore…. la logica è molto semplice se il check Valore Predefinito è spuntato viene applicato come valore il primo elemento presente nella riga Esempi di contenuto. Quindi il valore ITA dovrà essere il primo tra gli esempi (ITA;ESP;CH).
Tra gli attributi del campo è presente anche un check con la voce Opzionale; tutti i campi definiti sino ad ora sono obbligatori per il salvataggio del record, però in alcuni casi potremmo dover impostare alcuni campi come Opzionali (non necessari per un salvataggio corretto).
Confermiamo la scheda e controllando l’albero di progetto, possiamo vedere gli oggetti appena inseriti (Tabella e relativi campi); potete notare che l’icona Rossa è per il campo di Chiave Primaria, che un'icona Blu con un lucchetto per i campi obbligatori, e un'icona con il simbolo 1 per campi con valori predefiniti.
Instant Developer mette a disposizione un algoritmo per la creazione di chiavi primaria uniche nel tempo e nello spazio: vengono denominate DOC-ID una sequenza di 20 caratteri alfanumerici (numeri, caratteri e simboli) e vengono gestite dalla parte di codice applicazione e non direttamente dal database; assomigliamo a ciò che viene denominato Universally unique identifier UUID, o per esser precisi all’implementazione Microsoft denominata GUID Globally Unique Identifier (in questo caso la sequenza è di 32 caratteri solo numeri e lettere). Esiste una correlazione tra DOCID e GUID in quanto è possibile trasformare un elemento da DOCID a GUID e viceversa.
Nel progetto YouBB tutte le tabelle avranno quindi come chiave primaria un campo di tipo DOCID cioè una sequenza di 20 caratteri; mouse nell’albero di progetto sul nome della tabella Localita, tasto destro Aggiungi Campo; digitiamo Id come nome campo assegniamo una descrizione e un titolo identico e come già detto per l’oggetto tabella, vi ricordo che il Nome è solo un alias utilizzato nel progetto e non il nome fisico assegnato al campo: il nome fisico è sotto la voce Codice. Il sistema ha creato un nome automatico unendo il Nome del Campo con il Nome Elemento definito sulla Tabella ecco che il nome fisico del campo sarà IdComune. Questo è il primo significato della proprietà Nome Elemento sull’oggetto Tabella.
È sempre possibile modificare i nomi fisici ed evitare questo automatismo... ma mi raccomando di eseguire l’operazione prima di avere l’applicazione già in fase di produzione; quando il database contiene dati è sempre più difficile apportare modifiche alla struttura (non ho detto impossibile ma sicuramente più complicato).
Definiamo la tipologia del campo Id; le tipologie disponibili sono quelle elencate nella combobox (Integer, Float, Decimal, Currency, Char, Char Fixed, Date, DateTime), sono meta-tipologie non reali tipologie del motore database scelto; durante l’invio della struttura verranno trasformate nella tipologia corretta.
Questo campo sarà la chiave primaria quindi inserisco come Esempi di contenuto una sequenza di 20 caratteri qualsiasi, come Tipo di dati imposto Char(Lunghezza fissa), con Lunghezza Massima a 20 caratteri; non dimentichiamoci del check sull’opzione Chiave Primaria che appunto dichiara il campo come chiave della tabella; tutto perfetto confermo il contenuto della scheda con Salva.
Secondo campo, tasto destro sull’albero di progetto, sulla tabella Localita, Aggiungi Campo: il nome che leggo nel foglio di analisi database è Denominazione: conterrà appunto i nomi delle Località, imposto come descrizione e Titolo la stessa frase Nome Località e come Esempi di contenuto alcuni esempi di città: Roma PUNTO VIRGOLA Milano PUNTO VIRGOLA Torino; questi esempi di contenuto verranno mostrati in fase di progettazione interfaccia per poter capire ad esempio quando larga dovrà essere una colonna o una input di testo; continuo definendo Tipo di Dati Char Lunghezza 50 caratteri. Confermo e passo all’ultimo campo previsto nella tabella Localita: ISO Stato; si vuole memorizzare il codice dello Stato in cui è presente la località, il campo è sempre di tipo Char, 5 caratteri. Vorrei applicare al campo un valore predefinito, nel caso l’utente non digiti nessun Stato voglio che venga impostato il valore ITA. E’ presente un check Valore Predefinito, ma anche spuntandolo non mi viene richiesto il valore…. la logica è molto semplice se il check Valore Predefinito è spuntato viene applicato come valore il primo elemento presente nella riga Esempi di contenuto. Quindi il valore ITA dovrà essere il primo tra gli esempi (ITA;ESP;CH).
Tra gli attributi del campo è presente anche un check con la voce Opzionale; tutti i campi definiti sino ad ora sono obbligatori per il salvataggio del record, però in alcuni casi potremmo dover impostare alcuni campi come Opzionali (non necessari per un salvataggio corretto).
Confermiamo la scheda e controllando l’albero di progetto, possiamo vedere gli oggetti appena inseriti (Tabella e relativi campi); potete notare che l’icona Rossa è per il campo di Chiave Primaria, che un'icona Blu con un lucchetto per i campi obbligatori, e un'icona con il simbolo 1 per campi con valori predefiniti.
Ultima modifica: 19/03/2021 / Validità: da 20.0.7800