Header widget area left
Header widget area right

Aggiornamenti in tempo reale

Utilizzo attivo delle funzionalità del database

X-Cross usa in piano le funzionalità offerte dai moderni database, che quindi non vengono utilizzati solo come “repository” dei dati, ma svolgono parte attiva nella logica di programmazione.

Queste funzionalità del database:

  • Viste
  • Schemi
  • Integrità referenziale
  • Calcoli nel database
    • Stored procedures
    • Triggers
  • Transazioni

contribuiscono in maniera determinante all’efficienza ed alla velocità operativa di X-Cross.

Viste del database

Spesso, leggendo i dati, c’è la necessità di interrogare tabelle diverse, in relazione tra di loro. Ad esempio, leggendo la testata di una fattura, bisogna anche leggere il cliente a cui è collegata, la condizione di pagamento, e molti altri dati.

In X-Cross, questa letture multiple sono già memorizzate nel database nelle cosiddette “viste”, che consentono di leggere automaticamente, con una singola operazione, tutti i dati richiesti,  con una maggiore efficienza e velocità operativa.

Viste con stored procedures

In diversi casi è necessario leggere numerose tabelle, a diversi livelli. Per esempio in una fattura è necessario leggere la testata del documento, le righe, e le eventuali altre tabelle presenti (spese, lotti, provvigioni, ecc.).

Una fattura di X-Cross è costituita da 29 viste diverse, che debbono essere lette per ogni fattura.
Per velocizzare queste letture “intensive”, queste vengono effettuate da una combinazione di viste e stored procedures, che consente di migliorare ulteriormente la velocità di lettura della vista di un fattore 10. Questo permette, ad esempio di leggere una intera fattura, su un computer medio, in tempi inferiori a 20 centesimi di secondo (!).

Schemi del database

Non è infrequente che un utente debba gestire più aziende insieme, con alcuni dati in comune ed altri tenuti separati tra le varie aziende.
X-Cross utilizza gli “schemi” del database per memorizzare i dati delle varie aziende, che quindi sono “separate in casa” pur risiedendo nello stesso database.
Grazie a questa struttura, è possibile scegliere quali dati tenere in comune e quali tenere separati.
Un utente, quindi può decidere di avere la anagrafiche clienti e fornitori in comune, pur tenendone separati i dati commerciali; può decidere se avere il piano dei conti in comune o separato, e lo stesso per gli articoli di magazzino.
Per le tabelle comuni, è anche possibile, per ogni record, decidere la sua visibilità, ovvero in quali aziende esso sarà visibile.

Integrità referenziale

I collegamenti tra le varie tabelle vengono resi “inattaccabili” tramite l’integrità referenziale nativa del database. Questo assicura, ad esempio, che non sarà mai possibile cancellare un cliente con dei documenti, o un articolo utilizzato in una riga documento.
L’integrità referenziale gestita dal computer client, al contrario, non è mai sicura al 100%, e quindi non può escludere la generazione dei cosiddetti “orfani”, ovvero record che sono collegati ad un altro record che non esiste più.

Calcoli nel database

In X-Cross, le operazioni di aggiornamento dei dati del database (ad esempio il ricalcolo delle giacenze inserendo un movimento di magazzino) vengono svolte utilizzando il linguaggio nativo del database, tramite le “stored procedures”, che effettuano le operazioni di inserimento e modifica dei dati, ed i “triggers”, che sono legati al verificarsi di certi avvenimenti (inserimento, modifica o cancellazione di record).
Questo, rispetto all’esecuzione dei calcoli in modo indiretto, da parte del computer connesso al database (client) consente una velocità operativa 100-200 volte superiore, e una sicurezza dei dati molto più elevata.

Aggiornamenti del database per transazioni

Gli aggiornamenti complessi del database, anche se riguardano più tabelle, vengono effettuati in un’unica transazione.
Questo significa che, se qualcosa non va a buon fine, tutta l’operazione viene annullata, come se non fosse mai stata eseguita.
Quindi se per qualche motivo il collegamento viene interrotto, o anche nel caso che lo stesso server di database vada in errore, la struttura dati non subisce alcun danno ed è anche internamente coerente; infatti gli aggiornamenti eseguiti sono “tutto o niente”, ovvero o tutto va a buon fine o il database non vien modificato per nulla, peraltro segnalando l’errore.

L’utilizzo in Internet

Tutte queste funzionalità vengono gestire direttamente dal database, che si trova sul computer server.
La (elevatissima) velocità operativa, quindi, è assolutamente la stessa sia in rete locale che in Internet.

I benefici per l’utente:
L’utilizzo estensivo delle funzionalità dei moderni database comporta notevoli vantaggi per l’utente

  • Massima efficienza e velocità operativa
    • Lettura dei dati estremamente veloce in rete locale ed in internet
    • Aggiornamento dei dati praticamente istantaneo
    • Aggiornamenti in tempo reale – nessuna necessità di ricalcoli
  • Elevatissima velocità di trasmissione dati in Internet
  • Consistenza e sicurezza delle transazioni del database
  • Coerenza e sicurezza dei dati
    • Impossibilità di record “orfani