Pieno utilizzo del database
Integrità referenziale e chiavi esterne
Tutte le tabelle sono collegate attraverso integrità referenziali (foreign keys).
In questo modo l’integrità dei dati è garantita dal database stesso, garantendo la più affidabile consistenza dei dati.
ID chiavi primarie
Alcuni vecchi progetti si basano ancora, per collegare una tabella all’altra, sull’uso delle code columns. Ad esempio, il codice articolo in stock può essere utilizzato per collegare righe documento, transazioni stock e così via.
In X-Cross, tutte le chiavi primarie vengono generate automaticamente in colonne ID intere (4 o 8 byte). In questo modo i codici espliciti inseriti dall’utente possono essere modificati (se consentiti) in qualsiasi momento, massimizzando la velocità di lettura delle viste complesse.
Calcoli e procedure 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, e sono legate al verificarsi di certi avvenimenti (inserimento, modifica o cancellazione di record), i cosiddetti “trigger”.
Questo, rispetto all’esecuzione delle procedure indirette, consente al computer (client) connesso al database, una velocità operativa 100-200 volte superiore, e una sicurezza dei dati molto più elevata.
Vantaggi per gli utenti:
- Massima efficienza e velocità operativa.
- Velocità di trasmissione dati molto elevata su Internet.
- Consistenza e sicurezza delle transazioni del database.
Inserimento e aggiornamento con procedure
Gli inserimenti e gli aggiornamenti nelle tabelle del database vengono eseguiti attraverso procedure di archiviazione.
In questo modo i calcoli che servono alla scrittura dei dati (rimuovere i ‘nulls’, controllare le chiavi esterne, ecc.) vengono eseguiti direttamente nel server del database, con la massima efficienza e velocità delle operazioni, e questo permette anche di inserirli e aggiornarli nelle viste articolate (complex views).
Queste procedure vengono create automaticamente, ma possono essere integrate con linee di programmazione personalizzate per eseguire compiti specifici.
Aggiornamenti del database transazionale
Gli aggiornamenti complessi del database, anche se riguardano più tabelle, vengono effettuati in un’unica transizione.
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.
Cross SQL
CrossModel include il proprio editor di codice SQL, che riduce drasticamente i tempi di sviluppo rispetto ai tradizionali editor SQL basati su testo.