Comment protéger les données avec des transactions SQL

Il est très important de maintenir l'intégrité de vos données. La transaction dans l'un des principaux outils de SQL pour maintenir l'intégrité de la base de données. Transactions SQL et la transaction peut utile dans certaines situations de défaut.

Sommaire

Comment utiliser les transactions SQL

Un Transactions SQL encapsule toutes les instructions SQL qui peuvent avoir un effet sur la base de données. Une transaction SQL est terminée avec soit un COMMIT ou ROLLBACK déclaration:

  • Si la transaction se termine par une COMMIT, les effets de toutes les instructions de la transaction sont appliqués à la base de données dans une séquence rapide-le-feu.

  • Si la transaction se termine par une ROLLBACK, les effets de toutes les déclarations sont annulées (qui est, annulée), et la base de données revient à l'état où il était avant le début de la transaction.

Dans cette discussion, le terme application signifie soit l'exécution d'un programme (que ce soit en Java, C ++, ou tout autre langage de programmation) ou une série de mesures effectuées à un terminal pendant une ouverture de session unique.

Une application peut inclure une série de transactions SQL. La première transaction de SQL commence lorsque l'application begins- la dernière transaction de SQL se termine lorsque l'application se termine. Chaque COMMIT ou ROLLBACK que sur les performances de l'application termine une transaction SQL et commence la prochaine. Par exemple, une application avec trois transactions SQL a la forme suivante:




Début de l'applicationDiverses déclarations SQL (SQL transaction 1) valider ou annulerDiverses déclarations SQL (SQL transaction 2) valider ou annulerDiverses déclarations SQL (SQL transaction 3) COMMIT ou ROLLBACKEnd de l'application

Une transaction SQL normal a un mode d'accès qui est soit LIRE ÉCRIRE ou LECTURE SEULEMENT- il a un niveau d'isolement qui est SERIALIZABLE, REPEATABLE READ, READ COMMITTED, ou LIRE UNCOMMITTED. Les caractéristiques par défaut sont LIRE ÉCRIRE et SERIALIZABLE. Si vous voulez d'autres caractéristiques, vous devez les spécifier avec un SET TRANSACTION énoncé comme suit:

SET TRANSACTION LIRE SEULEMENT -

ou

SET TRANSACTION LIRE READ ONLY REPEATABLE -

ou

SET READ transaction validée -

Vous pouvez avoir plusieurs SET TRANSACTION déclarations dans une application, mais vous pouvez spécifier une seule dans chaque transaction, et il doit être la première instruction SQL exécutée dans la transaction. Si vous souhaitez utiliser un SET TRANSACTION déclaration, l'exécuter, soit au début de l'application ou après une COMMIT ou ROLLBACK.

Vous devez effectuer une SET TRANSACTION au début de chaque transaction pour laquelle vous voulez propriétés définis par défaut, parce que chaque nouvelle transaction après une COMMIT ou ROLLBACK est donné automatiquement les propriétés par défaut.

UN SET TRANSACTION déclaration peut également spécifier un DIAGNOSTICS TAILLE, qui détermine le nombre de conditions d'erreur pour lesquels la mise en œuvre devrait être prêt à enregistrer des informations. (Une telle limite numérique est nécessaire, car une mise en œuvre peut détecter plus d'une erreur lors d'une déclaration.) La valeur par défaut de SQL de cette limite est définie par l'implémentation, et que par défaut est presque toujours adéquate.

La transaction par défaut

La transaction SQL par défaut a des caractéristiques qui sont satisfaisantes pour la plupart des utilisateurs la plupart du temps. Si nécessaire, vous pouvez spécifier différentes caractéristiques de la transaction avec un SET TRANSACTION déclaration.

La transaction par défaut fait une couple d'autres hypothèses implicites:

  • La base de données va changer au fil du temps.

  • Il est toujours mieux d'être sûr que désolé.

Il définit le mode de LIRE ÉCRIRE, qui, comme vous pouvez vous attendre, vous permet de publier des déclarations qui modifient la base de données. Il définit également le niveau d'isolement SERIALIZABLE, qui est le plus haut niveau de l'isolement possible (donc le plus sûr). La taille de diagnostic par défaut dépend de l'implémentation. Regardez votre documentation SQL pour voir ce que la taille est pour votre système.


» » » » Comment protéger les données avec des transactions SQL