In sintesi
In questa lezione viene instrodotto l'oggetto Dominio di Instant Developer.
Nota: questo video corso è stato realizzato con la versione 4 di Instant Developer. Anche se i contenuti sono ancora attuali e sono utili per imparare ad utilizzare Instant Developer, alcune affermazioni sono di fatto superate. Per i dettagli e le ultime novità sulle funzionalità illustrate vi rimandiamo alla sezione di reference che viene tenuta aggiornata giornalmente.
In questa lezione vediamo come definire i domini. Un dominio permette di definire un tipo specifico di dato. Il dominio può poi essere utilizzato nella definizione dei campi che ereditano dal dominio stesso il tipo, la lunghezza massima, la scala, il valore del flag nullable ed il valore del flag Has Default Value.
Per creare un nuovo dominio occorre utilizzare il comando del menu contestuale della DB Library. Vediamo ora le proprietà del dominio. Qui possiamo definire il tipo di dato speciale che il dominio rappresenta. Molte delle proprietà che vediamo sono uguali a quelle già viste nella lezione sui campi del database.
Supponiamo di dover utilizzare più volte il tipo di dato Date Time e di non voler re-impostare per ogni campo del database i vari parametri (Examples, Data Type, Max Length, Nullable e Has Default Value). Possiamo definire qui il tipo Time Stamp. Indichiamo un esempio di data, tipo Date Time, Max Length uguale a 19 ed indichiamo che è Nullable e che ha un valore di default.
Ora, dato che il dominio ha un valore di default, possiamo anche definire un'espressione che fornisce il valore di default che assume il campo che avrà come tipo questo dominio. Lo facciamo selezionando l'opzione Add Default Expression dal menu contestuale del dominio. Editiamo l'espressione indicando che il valore di default del campo sarà la data e l'ora corrente. Ora possiamo assegnare questo dominio al campo Data Ordine della tabella Ordini. In questo modo quando creiamo un nuovo records il campo Data Ordine verrà automaticamente riempito con la data e l'ora correnti.
E' anche possibile definire domini che derivano da altri domini. Nel nostro caso potremmo definire dentro al dominio Time Stamp un altro dominio che è simile al Time Stamp ma che non ha un valore di default. Per fare questo potremmo creare un nuovo dominio all'interno di quello appena creato e deselezionare il flag Has Default Value. Come vediamo tutte le proprietà sono già state ereditate dal dominio padre. Se noi modifichiamo le proprietà del dominio padre, le modifiche vengono riportate anche sui figli. Questo avviene solo se le proprietà dei figli non sono già state modificate.