Sdílet prostřednictvím


Transakce

Koncept transakce byl vyvinut pro zpracování případů, kdy výsledný stav databáze závisí na celkovém úspěchu sérií operací. Tato situace může přijít, protože operace by mohly změnit výsledky předchozích akcí. Pokud v takových případech jedna operace selže, může být výsledný stav neurčitý.

Chcete-li tento problém vyřešit, seskupte transakce z řad operací takovým způsobem, aby integrita konečného výsledku mohla být zajištěna. Buď musí být všechny operace úspěšné a potom potvrzené (zapsané do databáze) jinak se celá transakce nezdaří. Zrušení transakce se nazývá vrácení zpět. Vrácení zpět umožňuje obnovení změn a vrací databázi do předtransakčního stavu.

Například v automatizované bankovní transakci, jak převod peněz z účtu A na účet B, tak výběr z účtu A a vklad na účet B, musí být celé zpracování fondů správně nebo musí celá transakce selhat.

Transakce musí mít vlastnosti ACID, které dodrží tohle:

  • Nedělitelnost  Transakce je atomovou jednotkou a práci vykoná pouze jednou, buď je vykonána všechna práce nebo žádná.

  • Konzistence Transakce zachovává konzistenci dat, převádí jeden konzistentní stav dat do druhého konzistentního stavu dat. Data vázání transakce musí být zachována sémanticky.

  • Izolace    Transakce je jednotkou izolace a každá se vyskytuje samostatně, souběžně, nezávisle na sobě. Transakce by nikdy neměla zobrazit dílčí etapy jiných transakcí.

  • Životnost  Transakce je jednotkou obnovení. Je-li transakce úspěšná, její aktualizace přetrvávají i v případě, že systém selže nebo je vypnutý. Pokud se transakce nezdaří, systém zůstane ve stavu před spuštěním transakce.

Můžete použít transakce v technologii OLE DB (Podpora transakcí v technologie OLE DB) nebo rozhraní ODBC (Transakce (rozhraní ODBC)).

Distribuovaná transakce je transakcí, která aktualizuje distribuovaná data, tedy údaje o více než jednom síťovém počítačovém systému. Chcete-li použít transakce nad distribuovaným systémem, používejte rozhraní Microsoft .NET Framework, nikoli podporu transakce technologie OLE DB.

Viz také

Koncepty

Programový přístupu k datům