Creazione dominio
copia linkTrascrizione
La tabella Media contiene un ultimo campo denominato Principale, questo campo dovrebbe essere di tipo Boolean ma siccome come abbiamo visto non è presente tra i tipi DB cambiamo e diciamo che sarà un campo Integer con lista valori Binary Values associata; procediamo, puntatore sulla tabella Media tasto destro Aggiungi Campo, Nome Principale, Lista Valori Binary Values c’è una particolarità il campo deve avere un valore predefinito impostato a FALSE.
Questo potrebbe essere un problema in quanto il check su Valore Predefinito non richiede il valore da associare ma imposta il primo degli esempi di contenuto, in questo caso -1 cioè TRUE.
Salviamo ugualmente questo campo con Salva e pensiamo come potremmo risolvere il problema: la prima idea potrebbe essere quella di modificare l’ordine delle costanti della lista (andiamo nella libreria database sulla Binary Values ed invertiamo le costanti prima False e poi True); è una mossa poco furba perché se avessimo bisogno anche di un campo con valore predefinito TRUE come possiamo fare?
Altra idea…creo una seconda Lista Binary Values con i valori scambiati…anche questa non è una grande idea…se invece della Binary Values avessimo a che fare con una lista con 10 costanti? Cosa creeremmo 10 liste valori diverse, una per ogni valore predefinito?
Dobbiamo trovare un altro sistema: cioè dobbiamo trovare il modo di poter assegnare un valore predefinito dinamico e non legato alla posizione sugli esempi di contenuto: questo approccio è offerto dall’oggetto che prende il nome di Dominio o precisamente Dominio di campo.
Cosa intendiamo per dominio di campo ? Intendiamo il poter raggruppare sotto un unico identificativo diverse caratteristiche di un campo, cioè crearsi delle tipologie personalizzate di campo.
Ad esempio potrei avere un dominio denominato Codice che definisce un campo di tipo Char 5 Caratteri, Opzionale od anche un dominio denominato Quantita per la definizione di un campo di tipo Decimal con 9 Cifre di cui 2 decimali e valore predefinito 1. Sono molteplici le possibilità quando posso definire delle tipologie personalizzate.
Ci potremmo chiedere ma perché usare questo approccio dei Domini di campo invece che effettuare la definizione direttamente sul campo ? Sicuramente per poter applicare la stessa tipologia in maniera più rapida è la prima risposta, per poter modificare la tipologia di più campi in maniera uniforme ed anche per avere un raggruppamento dei campi sotto lo stesso dominio.
Ora vi ho raccontato questa parte dei domini proprio perché il Valore predefinito dinamico è applicabile solo utilizzando i domini e quindi per il nostro campo Principale dovremo:
Nell’albero di progetto dove si trovano i domini? nello stesso posto delle liste valori e precisamente nella Libreria Database, di nuovo tasto destro Aggiungi Dominio; come sempre assegniamo un alias (un nome) ad esempio Modello False, definiamo che sarà basato sulla lista valori Binary Values, quindi Integer e che avrà un Valore Predefinito; è ancora presto per dire quale valore ma abbiamo cominciato a dire che c’è!
Confermiamo la scheda e torniamo nell’albero di progetto: siccome abbiamo impostato il Dominio con Valore Predefinito adesso possiamo finalmente dichiarare il valore; tasto destro del mouse sul nome del dominio e selezioniamo Aggiungi Default.
Nell’area di progettazione troviamo una scheda dalla grafica particolare, una scheda al cui interno è presente un foglio quadrettato: ci troviamo davanti al Visual Code Editor cioè l’editor per scrivere codice, qui lo troviamo nella veste in formato ridotto in quando la scrittura di pochi caratteri: che codice possiamo scrivere?
Possiamo scrivere costanti numeriche o alfabetiche, possiamo scrivere identificativi di Liste Valori od anche funzioni di aggregazione database; ovviamente non possiamo scrivere nulla che non sia legato al database o che sia una istruzione in linguaggio C# o Java in quanto il dominio è legato al database e le istruzioni saranno inviate al database. Detto questo utilizziamo l’identificativo False presente nella lista valori Binary Values…iniziando a digitare anche l’intellisense vi suggerisce l’identificativo false della Binary values.
Nessuno ci vietava di scrivere 0 che è poi il valore false ma siccome abbiamo una lista valori ho preferito scrivere l’identificativo, anche per una miglior leggibilità.
Confermo la scheda con Salva ed il dominio Modello False è completato e possiamo associarlo al campo Principale: doppio clic sul campo Principale ed al posto della voce Binary Values, nella combo box, scegliamo il Dominio Modello False; come notate appena applicate un dominio alcune proprietà del campo si disattivano proprio perché è il dominio che comanda la definizione.
Un click su Salva e la tabella Media è completata; non abbiamo ancora tutta la struttura del database nell’albero di progetto ma nel prossimo tutorial cominceremo a parlare di come aggiornare il database reale.
Questo potrebbe essere un problema in quanto il check su Valore Predefinito non richiede il valore da associare ma imposta il primo degli esempi di contenuto, in questo caso -1 cioè TRUE.
Salviamo ugualmente questo campo con Salva e pensiamo come potremmo risolvere il problema: la prima idea potrebbe essere quella di modificare l’ordine delle costanti della lista (andiamo nella libreria database sulla Binary Values ed invertiamo le costanti prima False e poi True); è una mossa poco furba perché se avessimo bisogno anche di un campo con valore predefinito TRUE come possiamo fare?
Altra idea…creo una seconda Lista Binary Values con i valori scambiati…anche questa non è una grande idea…se invece della Binary Values avessimo a che fare con una lista con 10 costanti? Cosa creeremmo 10 liste valori diverse, una per ogni valore predefinito?
Dobbiamo trovare un altro sistema: cioè dobbiamo trovare il modo di poter assegnare un valore predefinito dinamico e non legato alla posizione sugli esempi di contenuto: questo approccio è offerto dall’oggetto che prende il nome di Dominio o precisamente Dominio di campo.
Cosa intendiamo per dominio di campo ? Intendiamo il poter raggruppare sotto un unico identificativo diverse caratteristiche di un campo, cioè crearsi delle tipologie personalizzate di campo.
Ad esempio potrei avere un dominio denominato Codice che definisce un campo di tipo Char 5 Caratteri, Opzionale od anche un dominio denominato Quantita per la definizione di un campo di tipo Decimal con 9 Cifre di cui 2 decimali e valore predefinito 1. Sono molteplici le possibilità quando posso definire delle tipologie personalizzate.
Ci potremmo chiedere ma perché usare questo approccio dei Domini di campo invece che effettuare la definizione direttamente sul campo ? Sicuramente per poter applicare la stessa tipologia in maniera più rapida è la prima risposta, per poter modificare la tipologia di più campi in maniera uniforme ed anche per avere un raggruppamento dei campi sotto lo stesso dominio.
Ora vi ho raccontato questa parte dei domini proprio perché il Valore predefinito dinamico è applicabile solo utilizzando i domini e quindi per il nostro campo Principale dovremo:
- Primo Step: Creare l’identificativo del dominio definendo tipologia ed altri attributi
- Secondo Step: Assegnare al dominio il valore predefinito variabile
- Terzo Step: Modificare il campo ed associarvi il dominio.
Nell’albero di progetto dove si trovano i domini? nello stesso posto delle liste valori e precisamente nella Libreria Database, di nuovo tasto destro Aggiungi Dominio; come sempre assegniamo un alias (un nome) ad esempio Modello False, definiamo che sarà basato sulla lista valori Binary Values, quindi Integer e che avrà un Valore Predefinito; è ancora presto per dire quale valore ma abbiamo cominciato a dire che c’è!
Confermiamo la scheda e torniamo nell’albero di progetto: siccome abbiamo impostato il Dominio con Valore Predefinito adesso possiamo finalmente dichiarare il valore; tasto destro del mouse sul nome del dominio e selezioniamo Aggiungi Default.
Nell’area di progettazione troviamo una scheda dalla grafica particolare, una scheda al cui interno è presente un foglio quadrettato: ci troviamo davanti al Visual Code Editor cioè l’editor per scrivere codice, qui lo troviamo nella veste in formato ridotto in quando la scrittura di pochi caratteri: che codice possiamo scrivere?
Possiamo scrivere costanti numeriche o alfabetiche, possiamo scrivere identificativi di Liste Valori od anche funzioni di aggregazione database; ovviamente non possiamo scrivere nulla che non sia legato al database o che sia una istruzione in linguaggio C# o Java in quanto il dominio è legato al database e le istruzioni saranno inviate al database. Detto questo utilizziamo l’identificativo False presente nella lista valori Binary Values…iniziando a digitare anche l’intellisense vi suggerisce l’identificativo false della Binary values.
Nessuno ci vietava di scrivere 0 che è poi il valore false ma siccome abbiamo una lista valori ho preferito scrivere l’identificativo, anche per una miglior leggibilità.
Confermo la scheda con Salva ed il dominio Modello False è completato e possiamo associarlo al campo Principale: doppio clic sul campo Principale ed al posto della voce Binary Values, nella combo box, scegliamo il Dominio Modello False; come notate appena applicate un dominio alcune proprietà del campo si disattivano proprio perché è il dominio che comanda la definizione.
Un click su Salva e la tabella Media è completata; non abbiamo ancora tutta la struttura del database nell’albero di progetto ma nel prossimo tutorial cominceremo a parlare di come aggiornare il database reale.
Ultima modifica: 24/03/2021 / Validità: da 20.0.7800