una transacción es una única unidad lógica de trabajo que accede y posiblemente Modifica el contenido de una base de datos. Transacciones acceda a los datos mediante operaciones de lectura y escritura.
para mantener la consistencia en una base de datos, antes y después de la transacción, se siguen ciertas propiedades. Estas se llaman propiedades ácidas.

la Atomicidad
con esto queremos decir que toda la transacción se lleva a cabo a la vez o no ocurrir en absoluto. No hay midway i. e., las transacciones no ocurren parcialmente. Cada transacción se considera como una unidad y se ejecuta hasta su finalización o no se ejecuta en absoluto. Se trata de las dos operaciones siguientes.
– Abort: si una transacción aborta, los cambios realizados en la base de datos no son visibles.
– Commit: si una transacción se confirma, los cambios realizados son visibles.la atomicidad también se conoce como la «regla de todo o nada».

considere la siguiente transacción T consistente en T1 y T2: transferencia de 100 de la cuenta X a la cuenta Y.,

si la transacción falla después de completar T1 pero antes de completar T2.(digamos, después de escribir (X) pero antes de escribir (y)), entonces la cantidad se ha deducido de X pero no se ha agregado a Y. Esto resulta en un estado de base de datos inconsistente. Por lo tanto, la transacción debe ejecutarse en su totalidad para garantizar la corrección del Estado de la base de datos.

consistencia
esto significa que las restricciones de integridad deben mantenerse para que la base de datos sea coherente antes y después de la transacción. Se refiere a la exactitud de una base de datos., En referencia al ejemplo anterior,
el importe total antes y después de la transacción debe mantenerse.
Total antes de que ocurra T = 500 + 200 = 700.
Total después de que t ocurra = 400 + 300 = 700.
Por lo tanto, la base de datos es consistente. La inconsistencia ocurre en caso de que T1 se complete pero T2 falle. Como resultado T está incompleta.

Isolation
Esta propiedad garantiza que varias transacciones puedan ocurrir simultáneamente sin provocar la inconsistencia del Estado de la base de datos. Las transacciones se realizan de forma independiente y sin interferencias., Los cambios que ocurran en una transacción en particular no serán visibles para ninguna otra transacción hasta que ese cambio en particular en esa transacción se escriba en la memoria o se haya confirmado. Esta propiedad garantiza que la ejecución de las transacciones concurrentemente resultará en un estado que es equivalente a un estado alcanzado estos fueron ejecutadas secuencialmente en un cierto orden.Let X = 500, y = 500.
considere dos transacciones T Y T».

supongamos que T se ha ejecutado hasta Read (Y) y luego comienza T»., Como resultado, el intercalado de operaciones tiene lugar debido a que T «lee el valor correcto de X pero el valor incorrecto de Y y la suma calculada por
T»: (X+y = 50, 000+500=50, 500)
Por lo tanto no es consistente con la suma al final de la transacción:
T: (X+Y = 50, 000 + 450 = 50, 450).
Esto resulta en inconsistencia de la base de datos, debido a una pérdida de 50 unidades. Por lo tanto, las transacciones deben tener lugar de forma aislada y los cambios deben ser visibles solo después de que se hayan realizado en la memoria principal.,

durabilidad:
Esta propiedad garantiza que una vez que la transacción ha completado la ejecución, las actualizaciones y modificaciones de la base de datos se almacenan y escriben en el disco y persisten incluso si se produce un error del sistema. Estas actualizaciones ahora se vuelven permanentes y se almacenan en memoria no volátil. Los efectos de la transacción, por lo tanto, nunca se pierden.,

Las propiedades del ácido, en su totalidad, proporcionan un mecanismo para garantizar la corrección y consistencia de una base de datos de tal manera que cada transacción es un grupo de operaciones que actúa una sola unidad, produce resultados consistentes, actúa de forma aislada de otras operaciones y las actualizaciones que realiza se almacenan de forma duradera.

Este artículo es contribuido por Avneet Kaur. Si te gusta GeeksforGeeks y te gustaría contribuir, también puedes escribir un artículo usando contribute.geeksforgeeks.org o envíe su artículo a [email protected]., Vea su artículo que aparece en la página principal de GeeksforGeeks y ayude a otros Geeks.