In sintesi
In questa lezione e nelle successive vediamo come creare ed utilizzare le strutture dati in memoria chiamate IMDB (In Memory Data Base)
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 e nelle successive vediamo come creare ed utilizzare le strutture dati in memoria chiamate IMDB (In Memory Data Base).
Queste costituiscono un modo particolarmente innovativo ed efficiente per memorizzare dati temporanei all'interno della memoria dell'applicazione: si creano delle strutture dati in memoria come se fossero le tabelle di un database e poi si usano scrivendo delle query in visual code.
Per creare una tabella IMDB è sufficiente utilizzare il comando Add Table del menu contestuale dell'applicazione Client o di una Form.
Se lo facciamo sull'applicazione Client creiamo una tabella IMDB globale, visibile in tutta l'applicazione, mentre se la creiamo all'interno di una form essa è normalmente visibile solo all'interno della form stessa. Comunque, utilizzando il flag Wide Scope delle espressioni, è anche possibile riferirsi ed utilizzare le tabelle IMDB di una form.
Proviamo a creare una nuova tabella IMDB all'interno dell'applicazione Client e vediamone le proprietà. Come vediamo le proprietà sono le stesse dell'oggetto Tabella del database. Infatti una tabella IMDB viene vista, all'interno del codice, come una tabella a tutti gli effetti. L'unica differenza rispetto ad un database è che i dati sono memorizzati in memoria.
Confermiamo ed aggiungiamo un campo alla tabella. Come vediamo, per aggiungere un nuovo campo utilizziamo il comando del menu contestuale. Vediamo le proprietà del campo. Anche queste sono le stesse dell'oggetto Campo già visto nelle lezioni sul database. L'unica differenza è costituita dal flag Nullable che non è selezionabile in quanto un campo di una tabella IMDB è sempre Nullable.
Le tabelle IMDB sono di due tipi: multi-riga e mono-riga. Una tabella multi-riga è, a tutti gli effetti, come una tabella normale, quindi può contenere più di un record. Su di essa possono essere eseguite le istruzioni già viste per le tabelle del database: insert, delete, update, select into variables.
Una tabella mono-riga, invece, può contenere un solo record, quindi ha cardinalità uguale ad 1, ed assomiglia più ad una struttura dati che non ad una tabella del database. I suoi campi sono accessibili direttamente in espressioni, come vedremo nella lezione successiva. L'icona della tabella IMDB ci indica quale tipo di tabella IMDB stiamo utilizzando. Quella che vediamo è una tabella IMDB mono-riga.
Vediamo ora quali sono i limiti delle tabelle IMDB: non sono gestite né le transazioni né i triggers. Non sono gestite le primary keys, i valori di default.
Poi, come abbiamo già visto, i campi delle tabelle IMDB sono sempre Nullable. Non sono supportati nemmeno i check constraints sia sulle tabelle sia sui campi. Infine non sono supportate le foreign keys.