Una transazione autonoma è un tipo di transazione utilizzato nella linea Oracle® di programmi software per database. Nel senso più semplice del termine, una transazione autonoma è una transazione che si verifica e si completa come parte di un’altra transazione. Durante le transazioni autonome, il software per computer interrompe l’elaborazione della transazione originale, deviando per recuperare le informazioni o completare il processo richiesto dalla transazione autonoma. Una volta ottenuto un risultato per la transazione autonoma, riprende esattamente da dove si era interrotto nell’elaborazione della transazione originale.
Le transazioni autonome vengono in genere utilizzate quando un operatore di database desidera suddividere una transazione più complessa nelle sue parti componenti. Ad esempio, se l’operatore del database vuole produrre un elenco di tutti i dipendenti che guadagnano più di $ 60,000 US Dollars (USD) all’anno e quindi desidera suddividere tale elenco solo per i dipendenti di età inferiore a 30 anni, utilizzando una transazione autonoma sarebbe consentire all’operatore di suddividere la richiesta in due parti. Innanzitutto, il computer raccoglierà un elenco di tutti i dipendenti che guadagnano $ 60,000 USD. Nel mezzo di questa operazione, risolverà la seconda parte della richiesta per completare la transazione autonoma, selezionando solo quei dipendenti dall’elenco di $ 60,000 USD o più che hanno anche meno di 30 anni.
Uno dei principali vantaggi delle transazioni autonome è che forniscono una maggiore semplicità quando si chiamano le operazioni del database. Scomponendo le cose nelle loro parti componenti, può diventare più facile per un operatore di database visualizzare ogni fase del processo, facilitando il processo di codifica della richiesta effettiva. Un secondo vantaggio delle transazioni autonome è che possono essere annidate l’una nell’altra; un operatore di database esperto può programmare una transazione che chiama una transazione autonoma dove la transazione autonoma chiama quindi un numero qualsiasi di transazioni autonome aggiuntive. Ciò migliora drasticamente la flessibilità del software di transazione del database Oracle, consentendo di codificare facilmente le transazioni più complesse.
Ogni transazione che si verifica nel programma viene tracciata dal software stesso per scopi di controllo. Ciò consente alle persone di rivedere le transazioni che sono state richieste dal database. Scrivere transazioni in forma autonoma può aiutare a semplificare la procedura di revisione, poiché è molto più facile dare un senso a un numero di transazioni semplici sequenziali rispetto a una singola dichiarazione complessa.