Caracteristicas acid en sql
En cualquier tipo de transacción se debe cumplir con ciertas características, las cuales se denominan ACID:
- ATOMICIDAD (A): Todos las particiones de una transacción tienen que crearse, y en caso inverso no realizaremos ninguna, es decir, no podemos terminar una transacción con un aparte de sus sentencias DML sin realizar.
Ejemplo: Si una transacción desarrolla la actualización de variedades de tablas, solo existe una forma de terminar:
- Modificando todas las tablas.
- O no realizamos la modificación de ninguna.
- CONSISTENCIA (C): Esta característica nos asegura que sólo comienza aquello que se puede terminar. Solo nos permite ejecutar las transacciones que no pueden romper las reglas y directrices de Integridad de la base de datos, es decir, esta característica mantiene que cualquier transacción llevará a la base de datos desde un estado válido a otro también válido.
Ejemplo: Si una transacción va a crear actualizaciones sobre tablas que tienen una semejanza entre ellas y estas modificaciones van a romper esta relación, la transacción no se ejecuta.
- AISLAMIENTO (ISOLATION): La modificaciones realizadas sobre una base de datos deben ser invisibles para el resto de usuarios, hasta que se confirme su permanencia, es decir, las modificaciones realizadas no serán efectuadas hasta que se realice una sentencia COMMIT o una sentencia DDL.
Ejemplo: Cuando un usuario lanza una transacción y no se producido un COMMIT, las modificaciones solo serán visibles para el usuario que lanzara esa transacción, el resto de usuarios verán el estado de la base de datos, tal como estaba antes de ejecutarse la transacción, y será así, hasta que se ejecute una sentencia que haga permanente los cambios.
- DURABILIDAD (D): Esta característica asegura que una vez realizada la operación, esta persistirá y no se podrá deshacer aunque falle el sistema y que de esta forma los datos sobrevivan de alguna manera.
Ejemplo: Toda base de datos debe tener un sistema de seguridad, para que en el caso que se produzca un fallo, se puedan recuperar todos los datos, por ejemplo, un servidor de BACKUP.