En SQLite, una transacción es un grupo de comandos T-SQL que se ejecutan como un comando T-SQL único. Si se produce un error al realizar estos comandos SQLite, la transacción se volverá a rodar en su totalidad. En general, SQLite está en modo automático, lo que significa que automáticamente crea una transacción con cada comando, lo procesa y comete los cambios en la base de datos.
En este artículo, demostraremos cómo implementar la transacción SQLite para asegurar la integridad y la confiabilidad de los datos."
Propiedades de la transacción sqlite
SQLite es una base de datos transaccional, lo que significa que todas las actualizaciones y búsquedas son atómicas, consistentes, aisladas y duraderas (ácido). Las cuatro características estándar establecidas a continuación, que comúnmente se abrevian como ácido, están presentes en las transacciones.
Atomicidad: Se requiere que se complete un solo paso del proceso por una transacción atómica. Denota que una modificación no se puede dividir en componentes más pequeños. O la transacción completa se ejecuta o no cuando una transacción está en modo de confirmación.
Consistencia: Las transacciones deben garantizar que la base de datos cambie de un estado legítimo a otro. La base de datos se vuelve inconsistente cuando una transacción inicia y ejecuta un comando para actualizar los datos. Sin embargo, la base de datos debe permanecer consistente cuando la confirmación y la reversión se realizan en las transacciones.
Aislamiento: La transacción pendiente de la sesión debe estar segregada de otras sesiones. Cuando una sesión inicia una transacción y usa el comando Insertar o actualizar para modificar los datos, las modificaciones solo son accesibles para la operación actual y no para otros. Los cambios realizados por otros usuarios después de que comenzó la transacción, por otro lado, nunca deben ser evidentes para el usuario actual.
Durabilidad: Si una transacción se compromete correctamente, los cambios en la base de datos deben ser permanentes en caso de un corte de energía o un bloqueo del programa. La actualización no debe persistir si el programa termina primero antes de que se comete la transacción.
Cómo realizar transacciones en SQLite?
Supongamos que deseamos regular tales transacciones para retener la consistencia de los datos y manejar las fallas de la base de datos. Podemos detener el modo automático e iniciar las transacciones explícitamente en función de nuestras necesidades utilizando las siguientes instrucciones.
Tenga en cuenta que solo las operaciones de DML insertan, actualizan y eliminan las instrucciones de control transaccional. No se pueden usar para extraer tablas ya que la base de datos comete de inmediato estas operaciones.
Creación de tablas SQLite para realizar transacciones
Para realizar transacciones, primero, tenemos que crear una tabla. En la figura, puede notar que hemos creado una tabla con el nombre "Person_accounts."La tabla se especifica con las cuatro columnas como Person_id, Person_name, Account_Number y The Account_balance con sus tipos de datos.
Crear tabla persona_accounts (Aquí, tenemos un registro insertado con el comando SQLite Insertar.
Insertar en los valores de Person_Accounts (1, 'Ayat', 171636460, 5000);La tabla se puede ver en el formato de tabla de la siguiente manera:
Ejemplo 1: Realice la transacción con el comando BEGIN en SQLITE
Comenzar la transacción, o el comando begins, se puede usar para iniciar transacciones. Sin embargo, si la base de datos se termina o se produce un error, una transacción se revertirá.
Inicialmente, hemos incluido una terminología de comienzo con el término de transacción. Luego, tenemos el comando de actualización, que funciona en la columna de cuentas_balance donde Person_id es igual a "2" junto con la persona_id igual a "4". Como hemos dado una instrucción de confirmación, la transacción termina aquí.
Comenzar la transacción;La traducción se realiza con éxito en la tabla "Person_accounts", y el campo "Account_balance" se actualiza en la persona especificada_id.
Ejemplo 2: Realice el comando de transacción en confirmación en SQLite
El comando de confirmación es un comando transaccional que guarda cambios en la base de datos activada por una transacción. El comando de confirmación conserva todas las transacciones de la base de datos ya que la instrucción anterior de confirmación o reversión.
En el siguiente ejemplo, tenemos el primer inicio de la transacción con el término inicio de la transacción. Después de esto, tenemos el comando Insertar, que inserta un nuevo registro en la tabla "Person_accounts."Hemos dado un comando de confirmación al final, que termina la transacción aquí y guarda el cambio en la tabla dada.
Comenzar la transacción;La vista de la tabla muestra el nuevo registro en la siguiente tabla.
Ejemplo 3: Realice la transacción en el comando de reversión en SQLite
Rollback es un comando transaccional que se utiliza para relajarse las transacciones que aún no se han comprometido con la base de datos.
Aquí, hemos realizado la operación Eliminar en la tabla "Persons_Accounts", donde coincidió con la condición en el campo de cuenta de cuenta dada. Después de esto, hemos dado instrucciones de reversión que también terminarán la transacción aquí pero no guardar los cambios que hemos realizado en la tabla.
Comenzar la transacción;Después de realizar la operación de reversión, la tabla tiene los mismos valores y campos existentes en la tabla que antes.
Conclusión
Después de leer este artículo, esperamos que tenga una clara comprensión de las transacciones SQLite. Hablamos sobre las propiedades de transacción de SQLite y el control de la transacción. También implementó varios ejemplos de sqlite que describen el comportamiento de transacción con las funcionalidades de confirmación y reversión. Eso es todo lo que hay que saber sobre las transacciones SQLite, incluida la información de transacción de confirmación y reversión.